+# TODO:
+# - libvmaf [BR: libvmaf.pc, libvmaf, libvmaf.h]
+# - libndi_newtek[nonfree, BR: Processing.NDI.Lib.h]
+# - libmysofa [BR: libmysofa, mysofa.h]
+# - rkmpp[GPLv3, BR: rockchip_mpp.pc, rockchip/rk_mpi_cmd.h, libdrm]
#
# How to deal with ffmpeg/opencv/chromaprint checken-egg problem:
# 1. make-request -r --with bootstrap ffmpeg.spec
#
# Conditional build:
%bcond_with bootstrap # disable features to able to build without installed ffmpeg
-%bcond_with nonfree # non free options of package (currently: decklib, fdk_aac, openssl)
+%bcond_with nonfree # unblock non free options of package (currently: cuda_sdk, decklib, fdk_aac, libndi_newtek, npp, openssl)
%bcond_without bs2b # BS2B audio filter support
%bcond_without caca # textual display using libcaca
%bcond_without chromaprint # audio fingerprinting with chromaprint
-%bcond_with cuda # NVIDIA CUDA code [BR: cuda.h]
+%bcond_without cuda # NVIDIA CUDA code
+%bcond_with cudasdk # NVIDIA CUDA code using SDK [BR: cuda.h, non-free]
%bcond_with cuvid # NVIDIA CUVID support
%bcond_with decklink # Blackmagic DeskLink output support (requires nonfree)
%bcond_with fdk_aac # AAC de/encoding via libfdk_aac (requires nonfree)
%bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
%bcond_without kvazaar # Kvazaar HEVC encoder support
%bcond_without ladspa # LADSPA audio filtering
+%bcond_with libdrm # Linux Direct Rendering Manager code
+%bcond_with librsvg # SVG rasterization via librsvg
+%bcond_with libxml2 # XML parsing using libxml2
%bcond_with mfx # MFX hardware acceleration support
%bcond_with npp # NVIDIA Performance Primitives-based code (requires nonfree) [BR: libnppc+libnppi, npp.h]
%bcond_with nvenc # NVIDIA NVENC support
Summary: FFmpeg - a very fast video and audio converter
Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
Name: ffmpeg
-Version: 3.4.1
-Release: 1
+Version: 4.0.2
+Release: 3
# LGPL or GPL, chosen at configure time (GPL version is more featured)
# (postprocessing, some filters, x264, x265, xavs, xvid, xcbgrab)
# using v3 allows Apache-licensed libs (opencore-amr, libvo-*enc)
License: GPL v3+ with LGPL v3+ parts
Group: Applications/Multimedia
Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.xz
-# Source0-md5: 726212db1b8a7eff6c25a2bc2e6fa75c
-Source1: ffserver.init
-Source2: ffserver.sysconfig
-Source3: ffserver.conf
+# Source0-md5: ae0bfdf809306a212b4f0e6eb8d1c75e
Patch0: %{name}-omx-libnames.patch
URL: http://www.ffmpeg.org/
%{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK >= 10.6.1}
# libomxil-bellagio-devel or limoi-core-devel (just headers, library is dlopened at runtime)
%{?with_omx:BuildRequires: OpenMAX-IL-devel}
BuildRequires: SDL2-devel >= 2.0.1
+BuildRequires: SDL2-devel < 2.1.0
BuildRequires: alsa-lib-devel
+BuildRequires: aom-devel
BuildRequires: bzip2-devel
BuildRequires: celt-devel >= 0.11.0
%{?with_fdk_aac:BuildRequires: fdk-aac-devel}
BuildRequires: libcdio-paranoia-devel >= 0.90-2
%{?with_chromaprint:BuildRequires: libchromaprint-devel}
BuildRequires: libdc1394-devel >= 2
+%{?with_libdrm:BuildRequires: libdrm-devel}
BuildRequires: libgsm-devel
BuildRequires: libiec61883-devel
BuildRequires: libmodplug-devel
%{?with_openmpt:BuildRequires: libopenmpt-devel >= 0.2.6557}
BuildRequires: libraw1394-devel >= 2
+%{?with_librsvg:BuildRequires: librsvg-devel >= 2}
BuildRequires: librtmp-devel
%{?with_ssh:BuildRequires: libssh-devel}
%{?with_smb:BuildRequires: libsmbclient-devel}
%{?with_webp:BuildRequires: libwebp-devel >= 0.4.0}
# X264_BUILD >= 118
%{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
-# X265_BUILD >= 57
-%{?with_x265:BuildRequires: libx265-devel >= 1.3-0.20150610.1}
+# X265_BUILD >= 68
+%{?with_x265:BuildRequires: libx265-devel >= 1.8}
# libxcb xcb-shm xcb-xfixes xcb-shape
BuildRequires: libxcb-devel >= 1.4
+%{?with_libxml2:BuildRequires: libxml2-devel >= 2}
%{?with_mfx:BuildRequires: mfx_dispatch-devel}
%ifarch %{ix86}
%ifnarch i386 i486
BuildRequires: xz-devel
BuildRequires: yasm
%{?with_zmq:BuildRequires: zeromq-devel}
-%{?with_zimg:BuildRequires: zimg-devel >= 2.3.0}
+%{?with_zimg:BuildRequires: zimg-devel >= 2.7.0}
BuildRequires: zlib-devel
%{?with_zvbi:BuildRequires: zvbi-devel}
%{?with_autoreqdep:BuildConflicts: libpostproc}
%{?with_openmpt:Requires: libopenmpt >= 0.2.6557}
%{?with_vpx:Requires: libvpx >= 1.3.0}
%{?with_rubberband:Requires: rubberband-libs >= 1.8.1}
-%{?with_zimg:Requires: zimg >= 2.3.0}
+%{?with_zimg:Requires: zimg >= 2.7.0}
%description libs
This package contains the ffmpeg shared libraries:
Requires: libcdio-paranoia-devel >= 0.90-2
%{?with_chromaprint:Requires: libchromaprint-devel}
Requires: libdc1394-devel >= 2
+%{?with_libdrm:Requires: libdrm-devel}
Requires: libgsm-devel
Requires: libiec61883-devel
Requires: libmodplug-devel
%{?with_openmpt:Requires: libopenmpt-devel >= 0.2.6557}
Requires: libraw1394-devel >= 2
+%{?with_librsvg:Requires: librsvg-devel >= 2}
Requires: librtmp-devel
%{?with_smb:Requires: libsmbclient-devel}
Requires: libtheora-devel >= 1.0-0.beta3
%{?with_vpx:Requires: libvpx-devel >= 1.3.0}
%{?with_webp:Requires: libwebp-devel >= 0.4.0}
%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
-%{?with_x265:Requires: libx265-devel >= 1.3-0.20150610.1}
+%{?with_x265:Requires: libx265-devel >= 1.8}
+%{?with_libxml2:Requires: libxml2-devel >= 2}
%{?with_mfx:Requires: mfx_dispatch-devel}
Requires: opencore-amr-devel
%{?with_opencv:Requires: opencv-devel}
bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
testowania różnych API FFmpeg.
-%package ffserver
-Summary: FFserver video server
-Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
-Group: Daemons
-Requires(post,preun): /sbin/chkconfig
-Requires: %{name}-libs = %{version}-%{release}
-Requires: rc-scripts >= 0.4.0.10
-
-%description ffserver
-FFserver is a streaming server for both audio and video. It supports
-several live feeds, streaming from files and time shifting on live
-feeds (you can seek to positions in the past on each live feed,
-provided you specify a big enough feed storage in ffserver.conf).
-
-%description ffserver -l pl.UTF-8
-FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
-źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
-czasie dla źródeł na żywo (można przeskakiwać na położenia w
-przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
-dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
-
%package doc
Summary: FFmpeg documentation in HTML format
Summary(pl.UTF-8): Dokumentacja pakietu FFmpeg w formacie HTML
--enable-avresample \
%{?with_chromaprint:--enable-chromaprint} \
%{!?with_cuda:--disable-cuda} \
+ %{?with_cudasdk:--enable-cuda-sdk} \
%{!?with_cuvid:--disable-cuvid} \
%{?with_decklink:--enable-decklink} \
--enable-gnutls \
--enable-version3 \
%{?with_frei0r:--enable-frei0r} \
%{?with_ladspa:--enable-ladspa} \
+ --enable-libaom \
--enable-libass \
--enable-libbluray \
%{?with_bs2b:--enable-libbs2b} \
--enable-libcelt \
--enable-libcdio \
--enable-libdc1394 \
+ %{?with_libdrm:--enable-libdrm} \
%{?with_flite:--enable-libflite} \
--enable-libfontconfig \
--enable-libfreetype \
%{?with_openmpt:--enable-libopenmpt} \
--enable-libopus \
%{?with_pulseaudio:--enable-libpulse} \
+ %{?with_librsvg:--enable-librsvg} \
--enable-librtmp \
+ %{?with_libxml2:--enable-libxml2} \
%{?with_rubberband:--enable-librubberband} \
%{?with_shine:--enable-libshine} \
%{?with_smb:--enable-libsmbclient} \
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
- $RPM_BUILD_ROOT%{_includedir}/ffmpeg \
- $RPM_BUILD_ROOT/var/{cache,log}/ffserver
+ $RPM_BUILD_ROOT%{_includedir}/ffmpeg
%{__make} install install-headers \
DESTDIR=$RPM_BUILD_ROOT \
install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
done
cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
-# for lim-omx ffmpeg components
-cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
-install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
-mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
# install as ffmpeg-avconfig to avoid with possible programs looking for
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
-%pre ffserver
-%groupadd -g 167 ffserver
-%useradd -g ffserver -u 167 ffserver
-
-%post ffserver
-/sbin/chkconfig --add ffserver
-%service ffserver restart
-
-%preun ffserver
-if [ "$1" = 0 ]; then
- %service ffserver stop
- /sbin/chkconfig --del ffserver
-fi
-
-%postun ffserver
-if [ "$1" = 0 ]; then
- %userremove ffserver
- %groupremove ffserver
-fi
-
%files
%defattr(644,root,root,755)
%doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.57
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.58
%attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.57
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.58
%attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.6
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.7
%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.57
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.58
%attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavresample.so.3
+%attr(755,root,root) %ghost %{_libdir}/libavresample.so.4
%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavutil.so.55
+%attr(755,root,root) %ghost %{_libdir}/libavutil.so.56
%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.54
+%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.55
%attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswresample.so.2
+%attr(755,root,root) %ghost %{_libdir}/libswresample.so.3
%attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswscale.so.4
+%attr(755,root,root) %ghost %{_libdir}/libswscale.so.5
%files devel
%defattr(644,root,root,755)
%{_mandir}/man1/ffplay-all.1*
%endif
-%files ffserver
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
-%attr(755,root,root) %{_sbindir}/ffserver
-%attr(754,root,root) /etc/rc.d/init.d/ffserver
-%if %{with doc}
-%{_mandir}/man1/ffserver.1*
-%{_mandir}/man1/ffserver-all.1*
-%endif
-%dir %attr(770,root,ffserver) /var/cache/ffserver
-%dir %attr(770,root,ffserver) /var/log/ffserver
-
%if %{with doc}
%files doc
%defattr(644,root,root,755)