Summary: Digital VCR and streaming server Name: ffmpeg-nvidia Version: 4.2.2 Release: 3%{?dist} License: GPLv2+ URL: http://ffmpeg.org/ Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz %define ffname ffmpeg %define debug_package %{nil} %define _with_libnpp 1 %if 0%{?_with_libnpp} BuildRequires: cuda BuildRequires: cuda-devel %endif BuildRequires: fdk-aac-devel BuildRequires: gsm-devel BuildRequires: jack-audio-connection-kit-devel BuildRequires: libaom-devel BuildRequires: libdav1d-devel BuildRequires: librsvg2-devel BuildRequires: libtheora-devel BuildRequires: libv4l-devel BuildRequires: libvmaf-devel BuildRequires: libvpx-devel BuildRequires: ocl-icd-devel BuildRequires: openal-soft-devel BuildRequires: opencl-headers BuildRequires: opencore-amr-devel BuildRequires: opus-devel BuildRequires: soxr-devel BuildRequires: speex-devel BuildRequires: vo-amrwbenc-devel BuildRequires: zimg-devel BuildRequires: zvbi-devel BuildRequires: intel-mediasdk-devel BuildRequires: alsa-lib-devel BuildRequires: bzip2-devel BuildRequires: fontconfig-devel BuildRequires: freetype-devel BuildRequires: fribidi-devel BuildRequires: gnutls-devel BuildRequires: gsm-devel BuildRequires: lame-devel BuildRequires: libavc1394-devel BuildRequires: libdc1394-devel BuildRequires: libiec61883-devel BuildRequires: libdrm-devel BuildRequires: libgcrypt-devel BuildRequires: libGL-devel BuildRequires: libmodplug-devel BuildRequires: librsvg2-devel BuildRequires: libssh-devel BuildRequires: libtheora-devel BuildRequires: libv4l-devel BuildRequires: libvdpau-devel BuildRequires: libvorbis-devel BuildRequires: nasm BuildRequires: libxcb-devel BuildRequires: opencl-headers ocl-icd-devel BuildRequires: openjpeg2-devel BuildRequires: perl(Pod::Man) BuildRequires: soxr-devel BuildRequires: speex-devel BuildRequires: texinfo BuildRequires: zimg-devel >= 2.7.0 BuildRequires: zlib-devel Requires: %{name}-libs%{?_isa} = %{version}-%{release} Provides: %{ffname} %description %{ffname} is a complete and free Internet live audio and video broadcasting solution for Linux/Unix. It also includes a digital VCR. It can encode in real time in many formats including MPEG1 audio and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. %package libs Summary: Libraries for %{name} Provides: %{ffname}-libs Provides: %{ffname}-libs(%{arch}) = %{version}-%{release}%{?dist} %description libs %{ffname} is a complete and free Internet live audio and video broadcasting solution for Linux/Unix. It also includes a digital VCR. It can encode in real time in many formats including MPEG1 audio and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. This package contains the libraries for %{name} %package -n libavdevice Summary: Special devices muxing/demuxing library Requires: %{name}-libs%{_isa} = %{version}-%{release} %description -n libavdevice%{?flavor} Libavdevice is a complementary library to libavf "libavformat". It provides various "special" platform-specific muxers and demuxers, e.g. for grabbing devices, audio capture and playback etc. %package devel Summary: Development package for %{name} Requires: %{name}-libs%{_isa} = %{version}-%{release} Requires: libavdevice%{?flavor}%{_isa} = %{version}-%{release} Requires: pkgconfig Provides: %{ffname}-devel %description devel %{ffname} is a complete and free Internet live audio and video broadcasting solution for Linux/Unix. It also includes a digital VCR. It can encode in real time in many formats including MPEG1 audio and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. This package contains development files for %{ffname} %prep %setup -q -n %{ffname}-%{version} %build # Don't use the %%configure macro as this is not an autotool script ./configure \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --datadir=%{_datadir}/%{ffname} \ --docdir=%{_docdir}/%{ffname} \ --incdir=%{_includedir}/%{ffname} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --arch=x86_64 \ --enable-cuda \ --enable-cuda-sdk \ --enable-cuvid \ --enable-nvenc \ --enable-libx264 \ --enable-libx265 \ --enable-nonfree \ --enable-gpl \ --enable-libfdk_aac \ --extra-cflags=-I/usr/local/cuda-%{cudav}/include \ --extra-ldflags=-L/usr/local/cuda-%{cudav}/lib64 \ --disable-manpages \ --enable-libbluray \ --enable-libdrm \ --enable-libmp3lame \ --enable-openal \ --enable-opencl \ --enable-opengl \ --enable-libopenjpeg \ --enable-libopus \ --enable-libpulse \ --enable-librsvg \ --enable-libsoxr \ --enable-libspeex \ --enable-libssh \ --enable-libtheora \ --enable-libvorbis \ --enable-libv4l2 \ --enable-libvmaf \ --enable-libvpx \ --enable-libzimg \ --enable-libzvbi \ --enable-shared \ --enable-postproc \ --enable-libvo-amrwbenc \ --enable-bzlib \ --disable-crystalhd \ --enable-fontconfig \ --enable-gcrypt \ --enable-gnutls \ --enable-ladspa \ --enable-libaom \ --enable-libdav1d \ --enable-libass \ --enable-libfdk-aac \ --enable-libjack \ --enable-libfreetype \ --enable-libfribidi \ --enable-libgsm \ %if 0%{?_with_libnpp} --enable-libnpp \ %endif --enable-version3 # interesting: # https://patchwork.ffmpeg.org/project/ffmpeg/patch/0jvAo3VLhFQ4_4u5oIjRgKWsvUsMNzbFI7uRxyeg3q5DRtwQTeyeAKjnI6vW56j-ckb7etJOBCdiWpXRwMivvzlb9rvRTrZ9UY4ORW1vWww=@protonmail.com/#16559 %install make install DESTDIR=%{?buildroot} rm -f %{ffname}-%{version}/debugsourcefiles.list rm -rf %{buildroot}/.build-id %clean [ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} [ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* %files %{_bindir}/%{ffname} %{_bindir}/ffplay %{_bindir}/ffprobe %{_datadir}/%{ffname} %files libs %doc CREDITS README.md %license COPYING.* %{_libdir}/lib*.so.* %exclude %{_libdir}/libavdevice.so.* %files -n libavdevice %{_libdir}/libavdevice.so.* %files devel %doc MAINTAINERS doc/APIchanges doc/*.txt %doc %{_docdir}/%{ffname}/*.html %{_includedir}/%{ffname} %{_libdir}/pkgconfig/lib*.pc %{_libdir}/lib*.so %{_libdir}/lib*.a %changelog * Mon Mar 9 2020 Daniel Steiner - More modules added. * Sun Mar 8 2020 Daniel Steiner - Initial build. - Build with Nvidia Cuda support.