[FFmpeg-user] Update ffmpeg

Lhuillier Sébastien sebastien.lhuillier at gmail.com
Mon Jun 22 11:57:58 EEST 2020


OK, I will try, I have never instal a software from sources

Le lun. 22 juin 2020 à 10:38, Reindl Harald <h.reindl at thelounge.net> a
écrit :

>
>
> Am 22.06.20 um 10:35 schrieb Lhuillier Sébastien:
> > I have a PC specifically dedicated to FFMPEG and video editing under
> debian
> > 9.12.
> > I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1.
> > The proposed packages do not have the new version 4 of ffmpeg. Do I have
> to
> > reassemble my whole system?
>
> build ffmpeg from sources is no rocket science and i don't care what
> fedora / rpmfusion provide for 12 years now
>
> [builduser at buildserver:~]$ cat /rpmbuild/SPECS/ffmpeg-latest.spec
>
> #############################################################################################################################
> # command 'rpmbuild -bb ffmpeg-latest.spec --with production' will tune
> for current hardware while default stays compatible #
>
> #############################################################################################################################
>
> %global ffmpeg_snapshot 20200616
> %global x264_snapshot   20200311
> %global x264_version    0.158.0000
> %global pgo_build       1
>
> %if %{?_with_production:1}%{!?_with_production:0}
>  %global rpmsuffix native
>  %global build_native_release 1
>  %global optflags $(sed "s/sandybridge/native/g" <<< "%{optflags}")
> %else
>  %global rpmsuffix %{mtune2}
>  %global build_native_release 0
>  %global optflags $(sed "s/sandybridge/%{mtune2}/g" <<< "%{optflags}")
> %endif
>
> Summary:           Hyper fast Audio and Video encoder (static build)
> Name:              ffmpeg-latest
> Version:           4.3.0
> Release:
> 1.%{build_native_release}%{?dist}.x264.%{x264_version}.%{rpmsuffix}
> License:           GPLv3+
> URL:               http://ffmpeg.org/
> Source0:           ffmpeg-%{ffmpeg_snapshot}.tar.xz
> Source1:           x264-%{x264_snapshot}.tar.xz
> Source2:           ffmpeg-snapshot-latest.sh
> Source3:           x264-snapshot-latest.sh
> Source4:           720x400.yuv
> BuildRequires:     bzip2-devel
> BuildRequires:     imlib2-devel
> BuildRequires:     lame-devel
> BuildRequires:     libtheora-devel
> BuildRequires:     libvpx-devel
> BuildRequires:     openssl-devel
> BuildRequires:     x265-devel
> BuildRequires:     nasm
> BuildRequires:     yasm
> BuildRequires:     zlib-devel
> Provides:          ffmpeg
>
> %description
> A complete, cross-platform solution to record, convert and stream audio
> and video
>
> %package           manpages
> Summary:           Manpages for ffmpeg-latest
> BuildArch:         noarch
> %description       manpages
>
> %prep
> %setup -q -n ffmpeg-%{ffmpeg_snapshot}
>
> %build
> # build x264-static with profile-guided-optimization for current
> architecture
> tar xJf %{SOURCE1}
> pushd x264-%{x264_snapshot}
> ./configure \
>  --prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot} \
>  --exec-prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \
>  --bindir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \
>  --libdir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \
>  --includedir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \
>  --extra-cflags="%{optflags} %{O3_flags} -w" \
>  --extra-ldflags="-Wl,--as-needed -Wl,-z,now -Wl,-z,relro
> -Wl,-z,noexecstack %{optflags} %{O3_flags} -w" \
>  --enable-static \
>  --enable-pic \
>  --enable-strip \
>  --disable-avs \
>  --disable-cli \
>  --disable-ffms \
>  --disable-gpac \
>  --disable-lavf \
>  --disable-opencl \
>  --disable-swscale
> %if %pgo_build
>  make fprofiled VIDS="%{SOURCE4}" %{?_smp_mflags}
> %else
>  make %{?_smp_mflags}
> %endif
> make install
> strip --strip-unneeded --strip-debug
> /rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static/libx264.a
> popd
> # build ffmpeg-static and link with x264-static from previous build
> mkdir generic
> pushd generic
> ../configure \
>  --prefix=%{_prefix}/local \
>  --bindir=%{_prefix}/local/bin \
>  --mandir=%{_prefix}/local/man \
>  --extra-cflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static
> %{optflags} %{O3_flags} -flto=%(nproc) -ffat-lto-objects -fwhole-program
> -w" \
>  --extra-ldflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static
> -L/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static -ldl
> -Wl,--as-needed -Wl,-z,now -Wl,-z,relro %{optflags} %{O3_flags}
> -flto=%(nproc) -ffat-lto-objects -fwhole-program -pie -fPIE -w" \
>  --ar=gcc-ar \
>  --ranlib=true \
>  --enable-lto \
>  --enable-gpl \
>  --enable-libmp3lame \
>  --enable-libtheora \
>  --enable-libvpx \
>  --enable-libx264 \
>  --enable-libx265 \
>  --enable-nonfree \
>  --enable-openssl \
>  --enable-pic \
>  --enable-runtime-cpudetect \
>  --enable-static \
>  --enable-version3 \
>  --disable-amf \
>  --disable-appkit \
>  --disable-autodetect \
>  --disable-avdevice \
>  --disable-avfoundation \
>  --disable-coreimage \
>  --disable-debug \
>  --disable-devices \
>  --disable-ffplay \
>  --disable-ffprobe \
>  --disable-htmlpages \
>  --disable-hwaccels \
>  --disable-iconv \
>  --disable-libdc1394 \
>  --disable-libfreetype \
>  --disable-libgsm \
>  --disable-libopencore-amrnb \
>  --disable-libopencore-amrwb \
>  --disable-libopencv \
>  --disable-libopenjpeg \
>  --disable-libopus \
>  --disable-librtmp \
>  --disable-libspeex \
>  --disable-libvorbis \
>  --disable-libxcb \
>  --disable-libxcb-shape \
>  --disable-libxcb-shm \
>  --disable-libxcb-xfixes \
>  --disable-libxvid \
>  --disable-podpages \
>  --disable-postproc \
>  --disable-protocol=gopher \
>  --disable-shared \
>  --disable-txtpages \
>  --disable-xlib
> %{__make} %{?_smp_mflags}
> make documentation
> popd
>
> %install
> pushd generic
> make install DESTDIR=%{buildroot}
> popd
> mkdir %{buildroot}%{_bindir}
> ln -s %{_prefix}/local/bin/ffmpeg %{buildroot}%{_bindir}/ffmpeg
> rm -rf %{buildroot}%{_prefix}/local/include
> %{buildroot}%{_prefix}/local/lib %{buildroot}%{_prefix}/local/lib64
> %{buildroot}%{_prefix}/local/share
> strip --strip-unneeded %{buildroot}%{_prefix}/local/bin/ffmpeg
>
> %files
> %{_prefix}/local/bin/ffmpeg
> %{_bindir}/ffmpeg
>
> %files manpages
> %{_prefix}/local/man/man1/*
> %{_prefix}/local/man/man3/*
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".



-- 
Sébastien LHUILLIER
14 rue du 8e Régiment d'artillerie
54500 VANDOEUVRE LES NANCY
port : 06 51 83 72 23
fixe : 09 52 69 27 86
MSN/skype : slhuilli at hotmail.com
http://www.sebastien-lhuillier.com


More information about the ffmpeg-user mailing list