2 # --enable-libopenmpt [BR: libopenmpt >= 0.2.6557]
4 # How to deal with ffmpeg/opencv/chromaprint checken-egg problem:
5 # 1. make-request -r --with bootstrap ffmpeg.spec
6 # 2 bump release of opencv.spec and chromaprint.spec
7 # 3. make-request -r opencv.spec chromaprint.spec
8 # 4. bump release of ffmpeg.spec
9 # 5. make-request -r ffmpeg.spec
12 %bcond_with bootstrap # disable features to able to build without installed ffmpeg
13 %bcond_with nonfree # non free options of package (currently: decklib, fdk_aac, openssl)
14 %bcond_without bs2b # BS2B audio filter support
15 %bcond_without caca # textual display using libcaca
16 %bcond_without chromaprint # audio fingerprinting with chromaprint
17 %bcond_with cuda # NVIDIA CUDA code [BR: cuda.h]
18 %bcond_with cuvid # NVIDIA CUVID support
19 %bcond_with decklink # Blackmagic DeskLink output support (requires nonfree)
20 %bcond_with fdk_aac # AAC de/encoding via libfdk_aac (requires nonfree)
21 %bcond_without flite # flite voice synthesis support
22 %bcond_without frei0r # frei0r video filtering
23 %bcond_without fribidi # fribidi support
24 %bcond_without gme # Game Music Emu support
25 %bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
26 %bcond_without kvazaar # Kvazaar HEVC encoder support
27 %bcond_without ladspa # LADSPA audio filtering
28 %bcond_with mfx # MFX hardware acceleration support
29 %bcond_with npp # NVIDIA Performance Primitives-based code (requires nonfree) [BR: libnppc+libnppi, npp.h]
30 %bcond_with nvenc # NVIDIA NVENC support
31 %bcond_without omx # OpenMAX IL support
32 %bcond_without openal # OpenAL 1.1 capture support
33 %bcond_without opencl # OpenCL 1.2 code
34 %bcond_without opencv # OpenCV video filtering
35 %bcond_without opengl # OpenGL rendering support
36 %bcond_with openh264 # OpenH264 H.264 encoder
37 %bcond_without pulseaudio # PulseAudio input support
38 %bcond_without rubberband # rubberband filter
39 %bcond_without shine # shine fixed-point MP3 encoder
40 %bcond_without snappy # Snappy compression support (needed for hap encoding)
41 %bcond_without ssh # SFTP protocol support via libssh
42 %bcond_with smb # SMB support via libsmbclient
43 %bcond_without soxr # SoX Resampler support
44 %bcond_with tesseract # OCR filter based on Tesseract
45 %bcond_without x264 # H.264 x264 encoder
46 %bcond_without x265 # H.265/HEVC x265 encoder
47 %bcond_without va # VAAPI (Video Acceleration API)
48 %bcond_without vidstab # vid.stab video stabilization support
49 %bcond_without vpx # VP8, a high-quality video codec
50 %bcond_without wavpack # wavpack encoding support
51 %bcond_without webp # WebP encoding support
52 %bcond_without zimg # zscale filter based on z.lib
53 %bcond_without zmq # 0MQ message passing
54 %bcond_without zvbi # teletext via libzvbi
55 %bcond_without doc # don't build docs
56 %bcond_with tests # "make check" (some tests fail as of 2.5)
60 %undefine with_chromaprint
63 %ifnarch %{ix86} %{x8664} %{arm}
69 Summary: FFmpeg - a very fast video and audio converter
70 Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
74 # LGPL or GPL, chosen at configure time (GPL version is more featured)
75 # (postprocessing, some filters, x264, x265, xavs, xvid, xcbgrab)
76 # using v3 allows Apache-licensed libs (opencore-amr, libvo-*enc)
77 License: GPL v3+ with LGPL v3+ parts
78 Group: Applications/Multimedia
79 Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.xz
80 # Source0-md5: d6c09c84e3d0d9ca8a51f481da660603
81 Source1: ffserver.init
82 Source2: ffserver.sysconfig
83 Source3: ffserver.conf
84 Patch0: %{name}-omx-libnames.patch
85 URL: http://www.ffmpeg.org/
86 %{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK >= 10.6.1}
87 %{?with_openal:BuildRequires: OpenAL-devel >= 1.1}
88 %{?with_opencl:BuildRequires: OpenCL-devel >= 1.2}
89 %{?with_opengl:BuildRequires: OpenGL-GLX-devel}
90 # libomxil-bellagio-devel or limoi-core-devel (just headers, library is dlopened at runtime)
91 %{?with_omx:BuildRequires: OpenMAX-IL-devel}
92 BuildRequires: SDL2-devel >= 2.0.1
93 BuildRequires: alsa-lib-devel
94 BuildRequires: bzip2-devel
95 BuildRequires: celt-devel >= 0.11.0
96 %{?with_fdk_aac:BuildRequires: fdk-aac-devel}
97 %{?with_flite:BuildRequires: flite-devel >= 1.4}
98 BuildRequires: fontconfig-devel
99 BuildRequires: freetype-devel
100 %{?with_frei0r:BuildRequires: frei0r-devel}
101 %{?with_fribidi:BuildRequires: fribidi-devel}
102 %{?with_gme:BuildRequires: game-music-emu-devel}
104 # require version with altivec support fixed
105 BuildRequires: gcc >= 5:3.3.2-3
107 BuildRequires: gmp-devel
108 BuildRequires: gnutls-devel
109 BuildRequires: jack-audio-connection-kit-devel
110 %{?with_kvazaar:BuildRequires: kvazaar-devel >= 0.8.1}
111 %{?with_ladspa:BuildRequires: ladspa-devel}
112 BuildRequires: lame-libs-devel >= 3.98.3
113 BuildRequires: libass-devel
114 BuildRequires: libavc1394-devel
115 %{?with_bs2b:BuildRequires: libbs2b-devel}
116 BuildRequires: libbluray-devel
117 %{?with_caca:BuildRequires: libcaca-devel}
118 BuildRequires: libcdio-paranoia-devel >= 0.90-2
119 %{?with_chromaprint:BuildRequires: libchromaprint-devel}
120 BuildRequires: libdc1394-devel >= 2
121 BuildRequires: libgsm-devel
122 BuildRequires: libiec61883-devel
123 BuildRequires: libmodplug-devel
124 BuildRequires: libnut-devel
125 BuildRequires: libraw1394-devel >= 2
126 BuildRequires: librtmp-devel
127 %{?with_ssh:BuildRequires: libssh-devel}
128 %{?with_smb:BuildRequires: libsmbclient-devel}
129 BuildRequires: libtheora-devel >= 1.0-0.beta3
130 BuildRequires: libtool >= 2:1.4d-3
131 BuildRequires: libv4l-devel
133 BuildRequires: libva-devel >= 1.0.3
134 BuildRequires: libva-drm-devel >= 1.0.3
135 BuildRequires: libva-x11-devel >= 1.0.3
137 BuildRequires: libvdpau-devel >= 0.2
138 BuildRequires: libvorbis-devel
139 %{?with_vpx:BuildRequires: libvpx-devel >= 1.3.0}
140 %{?with_webp:BuildRequires: libwebp-devel >= 0.4.0}
142 %{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
144 %{?with_x265:BuildRequires: libx265-devel >= 1.3-0.20150610.1}
145 # libxcb xcb-shm xcb-xfixes xcb-shape
146 BuildRequires: libxcb-devel >= 1.4
147 %{?with_mfx:BuildRequires: mfx_dispatch-devel}
154 #%{?with_nvenc:BuildRequires: NVIDIA-NVENC-API} compat/nvenc/nvEncodeAPI.h
155 BuildRequires: opencore-amr-devel
156 %{?with_opencv:BuildRequires: opencv-devel}
157 %{?with_openh264:BuildRequires: openh264-devel >= 1.3}
158 BuildRequires: openjpeg2-devel >= 2.1
159 BuildRequires: opus-devel
160 BuildRequires: perl-Encode
161 BuildRequires: perl-tools-pod
162 BuildRequires: pkgconfig
163 %{?with_pulseaudio:BuildRequires: pulseaudio-devel}
164 BuildRequires: rpmbuild(macros) >= 1.470
165 %{?with_rubberband:BuildRequires: rubberband-devel >= 1.8.1}
166 BuildRequires: schroedinger-devel
167 %{?with_shine:BuildRequires: shine-devel >= 3.0.0}
168 %{?with_snappy:BuildRequires: snappy-devel}
169 %{?with_soxr:BuildRequires: soxr-devel}
170 BuildRequires: speex-devel >= 1:1.2-rc1
171 %{?with_tesseract:BuildRequires: tesseract-devel}
172 %{?with_doc:BuildRequires: tetex}
173 %{?with_doc:BuildRequires: texi2html}
174 %{?with_doc:BuildRequires: texinfo}
175 BuildRequires: twolame-devel
176 %{?with_vidstab:BuildRequires: vid.stab-devel >= 0.98}
177 BuildRequires: vo-amrwbenc-devel
178 %{?with_wavpack:BuildRequires: wavpack-devel}
179 %{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
180 BuildRequires: xavs-devel
181 BuildRequires: xorg-lib-libX11-devel
182 BuildRequires: xorg-lib-libXext-devel
183 BuildRequires: xorg-lib-libXfixes-devel
184 BuildRequires: xvid-devel >= 1:1.1.0
185 BuildRequires: xz-devel
187 %{?with_zmq:BuildRequires: zeromq-devel}
188 %{?with_zimg:BuildRequires: zimg-devel >= 2.3.0}
189 BuildRequires: zlib-devel
190 %{?with_zvbi:BuildRequires: zvbi-devel}
191 %{?with_autoreqdep:BuildConflicts: libpostproc}
192 # overflows maximum hash table size
193 BuildConflicts: pdksh < 5.2.14-57
194 Requires: %{name}-libs = %{version}-%{release}
195 %{?with_ilbc:Requires: webrtc-libilbc}
196 Requires: xvid >= 1:1.1.0
197 Obsoletes: libpostproc
198 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
200 %define specflags -fno-strict-aliasing
202 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
203 %define specflags_ia32 -fomit-frame-pointer
204 # -mmmx is needed to enable <mmintrin.h> code.
205 %define specflags_i586 -mmmx
206 %define specflags_i686 -mmmx
207 %define specflags_ppc -fPIC
210 FFmpeg is a complete solution to record, convert and stream audio and
211 video. It is a command line tool to convert one video file format to
212 another. It also supports grabbing and encoding in real time from a TV
215 %description -l pl.UTF-8
216 FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
217 strumieni dźwięku i obrazu. Jest to działające z linii poleceń
218 narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
219 także przechwytywanie i kodowanie w czasie rzeczywistym z karty
223 Summary: ffmpeg libraries
224 Summary(pl.UTF-8): Biblioteki ffmpeg
226 Requires: SDL2 >= 2.0.1
227 %if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
228 # uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
229 Requires: gnutls-libs >= 3.0.20
231 %{?with_vpx:Requires: libvpx >= 1.3.0}
232 %{?with_rubberband:Requires: rubberband-libs >= 1.8.1}
233 %{?with_zimg:Requires: zimg >= 2.3.0}
236 This package contains the ffmpeg shared libraries:
237 - the codec library (libavcodec). It supports most existing encoding
238 formats (MPEG, DivX, MPEG4, AC3, DV...),
239 - demuxer library (libavformat). It supports most existing file
240 formats (AVI, MPEG, OGG, Matroska, ASF...),
241 - video postprocessing library (libpostproc).
243 %description libs -l pl.UTF-8
244 Ten pakiet zawiera biblioteki współdzielone ffmpeg:
245 - bibliotekę kodeków (libavcodec); obsługuje większość istniejących
246 formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
247 - bibliotekę demuksera (libavformat); obsługuje większość istniejących
248 formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
249 - bibliotekę postprocessingu (libpostproc).
252 Summary: ffmpeg header files
253 Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
254 Group: Development/Libraries
255 Requires: %{name}-libs = %{version}-%{release}
256 # Libs.private from *.pc (unreasonably they are all the same)
257 %{?with_opencl:Requires: OpenCL-devel >= 1.2}
258 %{?with_opengl:Requires: OpenGL-devel}
259 Requires: SDL2-devel >= 2.0.1
260 Requires: alsa-lib-devel
261 Requires: bzip2-devel
262 Requires: celt-devel >= 0.11.0
263 %{?with_fdk_aac:Requires: fdk-aac-devel}
264 %{?with_flite:Requires: flite-devel >= 1.4}
265 Requires: fontconfig-devel
266 Requires: freetype-devel
267 %{?with_fribidi:Requires: fribidi-devel}
268 %{?with_gme:Requires: game-music-emu-devel}
269 Requires: jack-audio-connection-kit-devel
270 %{?with_kvazaar:Requires: kvazaar-devel >= 0.7}
271 Requires: lame-libs-devel >= 3.98.3
272 Requires: libass-devel
273 Requires: libavc1394-devel
274 Requires: libbluray-devel
275 %{?with_bs2b:Requires: libbs2b-devel}
276 %{?with_caca:Requires: libcaca-devel}
277 Requires: libcdio-paranoia-devel >= 0.90-2
278 %{?with_chromaprint:Requires: libchromaprint-devel}
279 Requires: libdc1394-devel >= 2
280 Requires: libgsm-devel
281 Requires: libiec61883-devel
282 Requires: libmodplug-devel
283 Requires: libnut-devel
284 Requires: libraw1394-devel >= 2
285 Requires: librtmp-devel
286 %{?with_smb:Requires: libsmbclient-devel}
287 Requires: libtheora-devel >= 1.0-0.beta3
288 %{?with_va:Requires: libva-devel >= 1.0.3}
289 Requires: libvorbis-devel
290 %{?with_vpx:Requires: libvpx-devel >= 1.3.0}
291 %{?with_webp:Requires: libwebp-devel >= 0.4.0}
292 %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
293 %{?with_x265:Requires: libx265-devel >= 1.3-0.20150610.1}
294 %{?with_mfx:Requires: mfx_dispatch-devel}
295 Requires: opencore-amr-devel
296 %{?with_opencv:Requires: opencv-devel}
297 %{?with_openh264:Requires: openh264-devel >= 1.3}
298 Requires: openjpeg2-devel >= 2.1
299 %{?with_rubberband:Requires: rubberband-devel >= 1.8.1}
300 Requires: schroedinger-devel
301 %{?with_shine:Requires: shine-devel >= 3.0.0}
302 %{?with_snappy:Requires: snappy-devel}
303 %{?with_soxr:Requires: soxr-devel}
304 Requires: speex-devel >= 1:1.2-rc1
305 %{?with_tesseract:Requires: tesseract-devel}
306 Requires: twolame-devel
307 %{?with_vidstab:Requires: vid.stab-devel >= 0.98}
308 Requires: vo-amrwbenc-devel
309 %{?with_wavpack:Requires: wavpack-devel}
310 %{?with_ilbc:Requires: webrtc-libilbc-devel}
312 Requires: xorg-lib-libXext-devel
313 Requires: xorg-lib-libXfixes-devel
314 Requires: xvid-devel >= 1:1.1.0
315 %{?with_zmq:Requires: zeromq-devel}
316 %{?with_zimg:Requires: zimg-devel >= 2.3.0}
318 Obsoletes: libpostproc-devel
323 %description devel -l pl.UTF-8
324 Pliki nagłówkowe ffmpeg.
327 Summary: ffmpeg static libraries
328 Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
329 Group: Development/Libraries
330 Requires: %{name}-devel = %{version}-%{release}
333 ffmpeg static libraries (libavcodec and libavformat).
335 %description static -l pl.UTF-8
336 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
339 Summary: FFplay - SDL-based media player
340 Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
341 Group: Applications/Multimedia
342 Requires: %{name}-libs = %{version}-%{release}
345 FFplay is a very simple and portable media player using the FFmpeg
346 libraries and the SDL library. It is mostly used as a test bench for
347 the various APIs of FFmpeg.
349 %description ffplay -l pl.UTF-8
350 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
351 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
352 testowania różnych API FFmpeg.
355 Summary: FFserver video server
356 Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
358 Requires(post,preun): /sbin/chkconfig
359 Requires: %{name}-libs = %{version}-%{release}
360 Requires: rc-scripts >= 0.4.0.10
362 %description ffserver
363 FFserver is a streaming server for both audio and video. It supports
364 several live feeds, streaming from files and time shifting on live
365 feeds (you can seek to positions in the past on each live feed,
366 provided you specify a big enough feed storage in ffserver.conf).
368 %description ffserver -l pl.UTF-8
369 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
370 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
371 czasie dla źródeł na żywo (można przeskakiwać na położenia w
372 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
373 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
376 Summary: FFmpeg documentation in HTML format
377 Summary(pl.UTF-8): Dokumentacja pakietu FFmpeg w formacie HTML
379 %if "%{_rpmversion}" >= "5"
384 FFmpeg documentation in HTML format.
386 %description doc -l pl.UTF-8
387 Dokumentacja pakietu FFmpeg w formacie HTML.
393 # package the grep result for mplayer, the result formatted as ./mplayer/configure
394 cat <<EOF > ffmpeg-avconfig
396 libavdecoders_all="$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
397 libavencoders_all="$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
398 libavparsers_all="$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
399 libavbsfs_all="$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
400 libavdemuxers_all="$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
401 libavmuxers_all="$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
402 libavprotocols_all="$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
403 libavhwaccels_all="$(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
404 libavfilters_all="$(sed -n 's/^[^#]*FILTER.*(.*, *\(.*\),.*).*/\1_filter/p' libavfilter/allfilters.c | tr '[a-z]' '[A-Z]')"
406 cat <<'EOF' >> ffmpeg-avconfig
410 echo $libavdecoders_all
413 echo $libavencoders_all
416 echo $libavparsers_all
422 echo $libavdemuxers_all
425 echo $libavmuxers_all
428 echo $libavprotocols_all
431 echo $libavhwaccels_all
434 echo $libavfilters_all
458 # - it's not autoconf configure
459 # - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
461 --arch=%{_target_base_arch} \
462 --prefix=%{_prefix} \
463 --libdir=%{_libdir} \
464 --shlibdir=%{_libdir} \
465 --mandir=%{_mandir} \
466 --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}%{?with_decklink: -I/usr/include/decklink}" \
467 --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
470 --disable-optimizations \
471 --disable-stripping \
472 %{!?with_doc:--disable-doc} \
474 --enable-avresample \
475 %{?with_chromaprint:--enable-chromaprint} \
476 %{!?with_cuda:--disable-cuda} \
477 %{!?with_cuvid:--disable-cuvid} \
478 %{?with_decklink:--enable-decklink} \
482 %{?with_frei0r:--enable-frei0r} \
483 %{?with_ladspa:--enable-ladspa} \
486 %{?with_bs2b:--enable-libbs2b} \
487 %{?with_caca:--enable-libcaca} \
491 %{?with_flite:--enable-libflite} \
492 --enable-libfontconfig \
493 --enable-libfreetype \
494 %{?with_fribidi:--enable-libfribidi} \
495 %{?with_gme:--enable-libgme} \
497 --enable-libiec61883 \
498 %{?with_ilbc:--enable-libilbc} \
499 %{?with_kvazaar:--enable-libkvazaar} \
500 %{?with_mfx:--enable-libmfx} \
501 --enable-libmodplug \
502 --enable-libmp3lame \
504 --enable-libopencore-amrnb \
505 --enable-libopencore-amrwb \
506 %{?with_opencv:--enable-libopencv} \
507 %{?with_openh264:--enable-libopenh264} \
508 --enable-libopenjpeg \
510 %{?with_pulseaudio:--enable-libpulse} \
512 %{?with_rubberband:--enable-librubberband} \
513 --enable-libschroedinger \
514 %{?with_shine:--enable-libshine} \
515 %{?with_smb:--enable-libsmbclient} \
516 %{?with_snappy:--enable-libsnappy} \
517 %{?with_soxr:--enable-libsoxr} \
519 %{?with_ssh:--enable-libssh} \
520 %{?with_tesseract:--enable-libtesseract} \
522 --enable-libtwolame \
524 %{?with_vidstab:--enable-libvidstab} \
525 --enable-libvo-amrwbenc \
527 %{?with_vpx:--enable-libvpx} \
528 %{?with_wavpack:--enable-libwavpack} \
529 %{?with_webp:--enable-libwebp} \
530 %{?with_x264:--enable-libx264} \
531 %{?with_x265:--enable-libx265} \
534 %{?with_zimg:--enable-libzimg} \
535 %{?with_zmq:--enable-libzmq} \
536 %{?with_zvbi:--enable-libzvbi} \
537 %{!?with_nvenc:--disable-nvenc} \
538 %{?with_omx:--enable-omx} \
539 %{?with_openal:--enable-openal} \
540 %{?with_opencl:--enable-opencl} \
541 %{?with_opengl:--enable-opengl} \
546 %{!?with_va:--disable-vaapi} \
548 %ifnarch %{ix86} %{x8664}
559 %{?with_fdk_aac:--enable-libfdk-aac} \
560 %{?with_npp:--enable-libnpp} \
562 --enable-runtime-cpudetect
567 # CC_O to add -c to commandline. makefile should be patched
568 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
570 %{?with_tests:%{__make} check V=1}
573 rm -rf $RPM_BUILD_ROOT
574 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
575 $RPM_BUILD_ROOT%{_includedir}/ffmpeg \
576 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
578 %{__make} install install-headers \
579 DESTDIR=$RPM_BUILD_ROOT \
582 # install nonstandard, non-public headers manually
583 cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
584 for a in libavutil/*/{asm,bswap}.h; do
585 install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
587 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
588 # for lim-omx ffmpeg components
589 cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
591 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
592 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
593 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
594 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
595 install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
597 # install as ffmpeg-avconfig to avoid with possible programs looking for
598 # ffmpeg-config and expecting --libs output from it which is not implemented
599 # simple to do (by querying pkgconfig), but why?
600 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
602 # packaged as %doc in -doc
604 %{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
607 install -d $RPM_BUILD_ROOT%{_examplesdir}
608 %{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
611 rm -rf $RPM_BUILD_ROOT
613 %post libs -p /sbin/ldconfig
614 %postun libs -p /sbin/ldconfig
617 %groupadd -g 167 ffserver
618 %useradd -g ffserver -u 167 ffserver
621 /sbin/chkconfig --add ffserver
622 %service ffserver restart
625 if [ "$1" = 0 ]; then
626 %service ffserver stop
627 /sbin/chkconfig --del ffserver
631 if [ "$1" = 0 ]; then
633 %groupremove ffserver
637 %defattr(644,root,root,755)
638 %doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
639 %attr(755,root,root) %{_bindir}/ffmpeg
640 %attr(755,root,root) %{_bindir}/ffprobe
641 %attr(755,root,root) %{_bindir}/qt-faststart
642 %dir %{_datadir}/ffmpeg
643 %{_datadir}/ffmpeg/*.ffpreset
644 %{_datadir}/ffmpeg/ffprobe.xsd
646 %{_mandir}/man1/ffmpeg.1*
647 %{_mandir}/man1/ffmpeg-all.1*
648 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
649 %{_mandir}/man1/ffmpeg-codecs.1*
650 %{_mandir}/man1/ffmpeg-devices.1*
651 %{_mandir}/man1/ffmpeg-filters.1*
652 %{_mandir}/man1/ffmpeg-formats.1*
653 %{_mandir}/man1/ffmpeg-protocols.1*
654 %{_mandir}/man1/ffmpeg-resampler.1*
655 %{_mandir}/man1/ffmpeg-scaler.1*
656 %{_mandir}/man1/ffmpeg-utils.1*
657 %{_mandir}/man1/ffprobe.1*
658 %{_mandir}/man1/ffprobe-all.1*
662 %defattr(644,root,root,755)
663 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
664 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.57
665 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
666 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.57
667 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
668 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.6
669 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
670 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.57
671 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
672 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.3
673 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
674 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.55
675 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
676 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.54
677 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
678 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.2
679 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
680 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.4
683 %defattr(644,root,root,755)
684 %doc doc/optimization.txt
685 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
686 %attr(755,root,root) %{_libdir}/libavcodec.so
687 %attr(755,root,root) %{_libdir}/libavdevice.so
688 %attr(755,root,root) %{_libdir}/libavfilter.so
689 %attr(755,root,root) %{_libdir}/libavformat.so
690 %attr(755,root,root) %{_libdir}/libavresample.so
691 %attr(755,root,root) %{_libdir}/libavutil.so
692 %attr(755,root,root) %{_libdir}/libpostproc.so
693 %attr(755,root,root) %{_libdir}/libswresample.so
694 %attr(755,root,root) %{_libdir}/libswscale.so
695 %{_includedir}/ffmpeg
696 %{_includedir}/libavcodec
697 %{_includedir}/libavdevice
698 %{_includedir}/libavfilter
699 %{_includedir}/libavformat
700 %{_includedir}/libavresample
701 %{_includedir}/libavutil
702 %{_includedir}/libpostproc
703 %{_includedir}/libswresample
704 %{_includedir}/libswscale
705 %{_pkgconfigdir}/libavcodec.pc
706 %{_pkgconfigdir}/libavdevice.pc
707 %{_pkgconfigdir}/libavfilter.pc
708 %{_pkgconfigdir}/libavformat.pc
709 %{_pkgconfigdir}/libavresample.pc
710 %{_pkgconfigdir}/libavutil.pc
711 %{_pkgconfigdir}/libpostproc.pc
712 %{_pkgconfigdir}/libswresample.pc
713 %{_pkgconfigdir}/libswscale.pc
715 %{_mandir}/man3/libavcodec.3*
716 %{_mandir}/man3/libavdevice.3*
717 %{_mandir}/man3/libavfilter.3*
718 %{_mandir}/man3/libavformat.3*
719 %{_mandir}/man3/libavutil.3*
720 %{_mandir}/man3/libswresample.3*
721 %{_mandir}/man3/libswscale.3*
723 %{_examplesdir}/%{name}-%{version}
726 %defattr(644,root,root,755)
727 %{_libdir}/libavcodec.a
728 %{_libdir}/libavdevice.a
729 %{_libdir}/libavfilter.a
730 %{_libdir}/libavformat.a
731 %{_libdir}/libavresample.a
732 %{_libdir}/libavutil.a
733 %{_libdir}/libpostproc.a
734 %{_libdir}/libswresample.a
735 %{_libdir}/libswscale.a
738 %defattr(644,root,root,755)
739 %attr(755,root,root) %{_bindir}/ffplay
741 %{_mandir}/man1/ffplay.1*
742 %{_mandir}/man1/ffplay-all.1*
746 %defattr(644,root,root,755)
747 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
748 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
749 %attr(755,root,root) %{_sbindir}/ffserver
750 %attr(754,root,root) /etc/rc.d/init.d/ffserver
752 %{_mandir}/man1/ffserver.1*
753 %{_mandir}/man1/ffserver-all.1*
755 %dir %attr(770,root,ffserver) /var/cache/ffserver
756 %dir %attr(770,root,ffserver) /var/log/ffserver
760 %defattr(644,root,root,755)