2 # How to deal with ffmpeg/opencv checken-egg problem:
3 # 1. make-request -r --without opencv ffmpeg.spec
4 # 2. make-request -r opencv.spec
5 # 3. bump release of ffmpeg.spec
6 # 4. make-request -r ffmpeg.spec
9 %bcond_with nonfree # non free options of package (currently: faac)
10 %bcond_with aacplus # AAC+ encoding via libaacplus (requires nonfree)
11 %bcond_with fdk_aac # AAC encoding via libfdk_aac (requires nonfree)
12 %bcond_without caca # textual display using libcaca
13 %bcond_without flite # flite voice synthesis support
14 %bcond_without frei0r # frei0r video filtering
15 %bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
16 %bcond_without openal # OpenAL 1.1 capture support
17 %bcond_without opencv # OpenCV video filtering
18 %bcond_without pulseaudio # PulseAudio input support
19 %bcond_without soxr # SoX Resampler support
20 %bcond_without x264 # x264 encoder
21 %bcond_without utvideo # Ut Video decoder
22 %bcond_without va # VAAPI (Video Acceleration API)
23 %bcond_without vpx # VP8, a high-quality video codec
24 %bcond_without doc # don't build docs
26 Summary: FFmpeg - a very fast video and audio converter
27 Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
31 # LGPL or GPL, chosen at configure time (GPL version is more featured)
32 # (postprocessing, some filters, x264, xavs, xvid, x11grab)
33 # using v3 allows Apache-licensed libs (opencore-amr, libvo-*enc)
34 License: GPL v3+ with LGPL v3+ parts
35 Group: Applications/Multimedia
36 Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
37 # Source0-md5: 578c590a0e996c1fc71acb666c0ed858
38 Source1: ffserver.init
39 Source2: ffserver.sysconfig
40 Source3: ffserver.conf
41 Patch0: %{name}-gsm.patch
42 Patch1: %{name}-opencv24.patch
43 Patch2: %{name}-cdio-paranoia.patch
44 Patch3: %{name}-utvideo.patch
45 URL: http://www.ffmpeg.org/
46 %{?with_openal:BuildRequires: OpenAL-devel >= 1.1}
47 BuildRequires: SDL-devel >= 1.2.1
48 BuildRequires: alsa-lib-devel
49 BuildRequires: bzip2-devel
50 BuildRequires: celt-devel >= 0.11.0
51 %{?with_nonfree:BuildRequires: faac-devel}
52 %{?with_fdk_aac:BuildRequires: fdk-aac-devel}
53 %{?with_flite:BuildRequires: flite-devel >= 1.4}
54 BuildRequires: fontconfig-devel
55 BuildRequires: freetype-devel
56 %{?with_frei0r:BuildRequires: frei0r-devel}
58 # require version with altivec support fixed
59 BuildRequires: gcc >= 5:3.3.2-3
61 BuildRequires: gnutls-devel
62 BuildRequires: jack-audio-connection-kit-devel
63 BuildRequires: lame-libs-devel >= 3.98.3
64 %{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
65 BuildRequires: libass-devel
66 BuildRequires: libavc1394-devel
67 BuildRequires: libbluray-devel
68 %{?with_caca:BuildRequires: libcaca-devel}
69 BuildRequires: libcdio-paranoia-devel >= 0.90-2
70 BuildRequires: libdc1394-devel >= 2
71 BuildRequires: libgsm-devel
72 BuildRequires: libiec61883-devel
73 BuildRequires: libmodplug-devel
74 BuildRequires: libnut-devel
75 BuildRequires: libraw1394-devel >= 2
76 BuildRequires: librtmp-devel
77 BuildRequires: libtheora-devel >= 1.0-0.beta3
78 BuildRequires: libtool >= 2:1.4d-3
79 BuildRequires: libv4l-devel
80 %{?with_va:BuildRequires: libva-devel >= 1.0.3}
81 BuildRequires: libvdpau-devel >= 0.2
82 BuildRequires: libvorbis-devel
83 %{?with_vpx:BuildRequires: libvpx-devel >= 0.9.7}
85 %{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
91 BuildRequires: opencore-amr-devel
92 %{?with_opencv:BuildRequires: opencv-devel}
93 BuildRequires: openjpeg-devel >= 1.5
94 BuildRequires: opus-devel
95 BuildRequires: perl-Encode
96 BuildRequires: perl-tools-pod
97 BuildRequires: pkgconfig
98 %{?with_pulseaudio:BuildRequires: pulseaudio-devel}
99 BuildRequires: rpmbuild(macros) >= 1.470
100 BuildRequires: schroedinger-devel
101 %{?with_soxr:BuildRequires: soxr-devel}
102 BuildRequires: speex-devel >= 1:1.2-rc1
103 %{?with_doc:BuildRequires: tetex}
104 %{?with_doc:BuildRequires: texi2html}
105 %{?with_doc:BuildRequires: texinfo}
106 BuildRequires: twolame-devel
107 %{?with_utvideo:BuildRequires: utvideo-devel >= 12}
108 BuildRequires: vo-aacenc-devel
109 BuildRequires: vo-amrwbenc-devel
110 %{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
111 BuildRequires: xavs-devel
112 BuildRequires: xorg-lib-libX11-devel
113 BuildRequires: xorg-lib-libXext-devel
114 BuildRequires: xorg-lib-libXfixes-devel
115 BuildRequires: xvid-devel >= 1:1.1.0
117 BuildRequires: zlib-devel
118 %{?with_autoreqdep:BuildConflicts: libpostproc}
119 # overflows maximum hash table size
120 BuildConflicts: pdksh < 5.2.14-57
121 Requires: %{name}-libs = %{version}-%{release}
122 %{?with_utvideo:Requires: utvideo >= 12}
123 %{?with_ilbc:Requires: webrtc-libilbc}
124 Requires: xvid >= 1:1.1.0
125 Obsoletes: libpostproc
126 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
128 %define _noautoreqdep libGL.so.1 libGLU.so.1
130 %define specflags -fno-strict-aliasing
132 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
133 %define specflags_ia32 -fomit-frame-pointer
134 # -mmmx is needed to enable <mmintrin.h> code.
135 %define specflags_i586 -mmmx
136 %define specflags_i686 -mmmx
137 %define specflags_ppc -fPIC
140 FFmpeg is a complete solution to record, convert and stream audio and
141 video. It is a command line tool to convert one video file format to
142 another. It also supports grabbing and encoding in real time from a TV
145 %description -l pl.UTF-8
146 FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
147 strumieni dźwięku i obrazu. Jest to działające z linii poleceń
148 narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
149 także przechwytywanie i kodowanie w czasie rzeczywistym z karty
153 Summary: ffmpeg libraries
154 Summary(pl.UTF-8): Biblioteki ffmpeg
158 This package contains the ffmpeg shared libraries:
159 - the codec library (libavcodec). It supports most existing encoding
160 formats (MPEG, DivX, MPEG4, AC3, DV...),
161 - demuxer library (libavformat). It supports most existing file
162 formats (AVI, MPEG, OGG, Matroska, ASF...),
163 - video postprocessing library (libpostproc).
165 %description libs -l pl.UTF-8
166 Ten pakiet zawiera biblioteki współdzielone ffmpeg:
167 - bibliotekę kodeków (libavcodec); obsługuje większość istniejących
168 formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
169 - bibliotekę demuksera (libavformat); obsługuje większość istniejących
170 formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
171 - bibliotekę postprocessingu (libpostproc).
174 Summary: ffmpeg header files
175 Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
176 Group: Development/Libraries
177 Requires: %{name}-libs = %{version}-%{release}
178 # Libs.private from *.pc (unreasonably they are all the same)
179 Requires: SDL-devel >= 1.2.1
180 Requires: alsa-lib-devel
181 Requires: bzip2-devel
182 Requires: celt-devel >= 0.11.0
183 %{?with_nonfree:Requires: faac-devel}
184 %{?with_fdk_aac:Requires: fdk-aac-devel}
185 Requires: fontconfig-devel
186 Requires: freetype-devel
187 Requires: jack-audio-connection-kit-devel
188 %{?with_flite:Requires: flite-devel >= 1.4}
189 Requires: lame-libs-devel >= 3.98.3
190 %{?with_aacplus:Requires: libaacplus-devel >= 2.0.0}
191 Requires: libass-devel
192 Requires: libavc1394-devel
193 Requires: libbluray-devel
194 %{?with_caca:Requires: libcaca-devel}
195 Requires: libcdio-paranoia-devel >= 0.90-2
196 Requires: libdc1394-devel >= 2
197 Requires: libgsm-devel
198 Requires: libiec61883-devel
199 Requires: libmodplug-devel
200 Requires: libnut-devel
201 Requires: libraw1394-devel >= 2
202 Requires: librtmp-devel
203 Requires: libtheora-devel >= 1.0-0.beta3
204 %{?with_va:Requires: libva-devel >= 1.0.3}
205 Requires: libvorbis-devel
206 %{?with_vpx:Requires: libvpx-devel >= 0.9.7}
207 %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
208 Requires: opencore-amr-devel
209 %{?with_opencv:Requires: opencv-devel}
210 Requires: openjpeg-devel >= 1.5
211 Requires: schroedinger-devel
212 %{?with_soxr:Requires: soxr-devel}
213 Requires: speex-devel >= 1:1.2-rc1
214 Requires: twolame-devel
215 %{?with_utvideo:Requires: utvideo-devel >= 12}
216 Requires: vo-aacenc-devel
217 Requires: vo-amrwbenc-devel
218 %{?with_ilbc:Requires: webrtc-libilbc-devel}
220 Requires: xorg-lib-libXext-devel
221 Requires: xorg-lib-libXfixes-devel
222 Requires: xvid-devel >= 1:1.1.0
224 Obsoletes: libpostproc-devel
229 %description devel -l pl.UTF-8
230 Pliki nagłówkowe ffmpeg.
233 Summary: ffmpeg static libraries
234 Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
235 Group: Development/Libraries
236 Requires: %{name}-devel = %{version}-%{release}
239 ffmpeg static libraries (libavcodec and libavformat).
241 %description static -l pl.UTF-8
242 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
245 Summary: FFplay - SDL-based media player
246 Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
247 Group: Applications/Multimedia
248 Requires: %{name}-libs = %{version}-%{release}
251 FFplay is a very simple and portable media player using the FFmpeg
252 libraries and the SDL library. It is mostly used as a test bench for
253 the various APIs of FFmpeg.
255 %description ffplay -l pl.UTF-8
256 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
257 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
258 testowania różnych API FFmpeg.
261 Summary: FFserver video server
262 Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
264 Requires(post,preun): /sbin/chkconfig
265 Requires: %{name}-libs = %{version}-%{release}
266 Requires: rc-scripts >= 0.4.0.10
268 %description ffserver
269 FFserver is a streaming server for both audio and video. It supports
270 several live feeds, streaming from files and time shifting on live
271 feeds (you can seek to positions in the past on each live feed,
272 provided you specify a big enough feed storage in ffserver.conf).
274 %description ffserver -l pl.UTF-8
275 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
276 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
277 czasie dla źródeł na żywo (można przeskakiwać na położenia w
278 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
279 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
288 # package the grep result for mplayer, the result formatted as ./mplayer/configure
289 cat <<EOF > ffmpeg-avconfig
291 _libavdecoders_all="`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
292 _libavencoders_all="`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
293 _libavparsers_all="`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
294 _libavbsfs_all="`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
295 _libavdemuxers_all="`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
296 _libavmuxers_all="`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
297 _libavprotocols_all="`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
299 cat <<'EOF' >> ffmpeg-avconfig
303 echo $_libavdecoders_all
306 echo $_libavencoders_all
309 echo $_libavparsers_all
315 echo $_libavdemuxers_all
318 echo $_libavmuxers_all
321 echo $_libavprotocols_all
343 # - it's not autoconf configure
344 # - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
346 --arch=%{_target_base_arch} \
347 --prefix=%{_prefix} \
348 --libdir=%{_libdir} \
349 --shlibdir=%{_libdir} \
350 --mandir=%{_mandir} \
351 --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}" \
352 --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
355 --disable-optimizations \
356 --disable-stripping \
358 --enable-avresample \
362 --enable-fontconfig \
363 %{?with_frei0r:--enable-frei0r} \
364 %{?with_aacplus:--enable-libaacplus} \
367 %{?with_caca:--enable-libcaca} \
371 %{?with_fdk_aac:--enable-libfdk-aac} \
372 %{?with_flite:--enable-libflite} \
373 --enable-libfreetype \
375 --enable-libiec61883 \
376 %{?with_ilbc:--enable-libilbc} \
377 --enable-libmodplug \
378 --enable-libmp3lame \
380 --enable-libopencore-amrnb \
381 --enable-libopencore-amrwb \
382 %{?with_opencv:--enable-libopencv} \
383 --enable-libopenjpeg \
385 %{?with_pulseaudio:--enable-libpulse} \
387 --enable-libschroedinger \
388 %{?with_soxr:--enable-libsoxr} \
391 --enable-libtwolame \
392 %{?with_utvideo:--enable-libutvideo} \
394 --enable-libvo-aacenc \
395 --enable-libvo-amrwbenc \
397 %{?with_vpx:--enable-libvpx} \
398 %{?with_x264:--enable-libx264} \
401 %{?with_openal:--enable-openal} \
406 %{?with_va:--enable-vaapi} \
409 %ifnarch %{ix86} %{x8664}
419 --enable-runtime-cpudetect
421 # force oldscaler build
422 %{__sed} -i -e 's|#define.*CONFIG_OLDSCALER.*0|#define CONFIG_OLDSCALER 1|g' config.h
427 # CC_O to add -c to commandline. makefile should be patched
428 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
431 rm -rf $RPM_BUILD_ROOT
432 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
433 $RPM_BUILD_ROOT%{_includedir}/ffmpeg \
434 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
436 %{__make} install install-headers \
437 DESTDIR=$RPM_BUILD_ROOT \
440 # install nonstandard, non-public headers manually
441 cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
442 for a in libavutil/*/bswap.h; do
443 install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
445 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
446 # for lim-omx ffmpeg components
447 cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
449 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
450 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
451 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
452 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
453 install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
455 # install as ffmpeg-avconfig to avoid with possible programs looking for
456 # ffmpeg-config and expecting --libs output from it which is not implemented
457 # simple to do (by querying pkgconfig), but why?
458 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
462 install -d $RPM_BUILD_ROOT%{_mandir}/man3
463 %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/lib*.3 $RPM_BUILD_ROOT%{_mandir}/man3
467 rm -rf $RPM_BUILD_ROOT
469 %post libs -p /sbin/ldconfig
470 %postun libs -p /sbin/ldconfig
473 %groupadd -g 167 ffserver
474 %useradd -g ffserver -u 167 ffserver
477 /sbin/chkconfig --add ffserver
478 %service ffserver restart
481 if [ "$1" = 0 ]; then
482 %service ffserver stop
483 /sbin/chkconfig --del ffserver
487 if [ "$1" = 0 ]; then
489 %groupremove ffserver
493 %defattr(644,root,root,755)
494 %doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES} %{?with_doc:doc/*.html}
495 %attr(755,root,root) %{_bindir}/ffmpeg
496 %attr(755,root,root) %{_bindir}/ffprobe
497 %attr(755,root,root) %{_bindir}/qt-faststart
498 %dir %{_datadir}/ffmpeg
499 %{_datadir}/ffmpeg/*.ffpreset
500 %{_datadir}/ffmpeg/ffprobe.xsd
502 %{_mandir}/man1/ffmpeg.1*
503 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
504 %{_mandir}/man1/ffmpeg-codecs.1*
505 %{_mandir}/man1/ffmpeg-devices.1*
506 %{_mandir}/man1/ffmpeg-filters.1*
507 %{_mandir}/man1/ffmpeg-formats.1*
508 %{_mandir}/man1/ffmpeg-protocols.1*
509 %{_mandir}/man1/ffmpeg-resampler.1*
510 %{_mandir}/man1/ffmpeg-scaler.1*
511 %{_mandir}/man1/ffmpeg-utils.1*
512 %{_mandir}/man1/ffprobe.1*
516 %defattr(644,root,root,755)
517 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
518 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.54
519 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
520 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.54
521 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
522 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.3
523 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
524 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.54
525 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
526 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.1
527 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
528 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.52
529 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
530 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52
531 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
532 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.0
533 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
534 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
537 %defattr(644,root,root,755)
538 %doc doc/optimization.txt
539 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
540 %attr(755,root,root) %{_libdir}/libavcodec.so
541 %attr(755,root,root) %{_libdir}/libavdevice.so
542 %attr(755,root,root) %{_libdir}/libavfilter.so
543 %attr(755,root,root) %{_libdir}/libavformat.so
544 %attr(755,root,root) %{_libdir}/libavresample.so
545 %attr(755,root,root) %{_libdir}/libavutil.so
546 %attr(755,root,root) %{_libdir}/libpostproc.so
547 %attr(755,root,root) %{_libdir}/libswresample.so
548 %attr(755,root,root) %{_libdir}/libswscale.so
549 %{_includedir}/ffmpeg
550 %{_includedir}/libavcodec
551 %{_includedir}/libavdevice
552 %{_includedir}/libavfilter
553 %{_includedir}/libavformat
554 %{_includedir}/libavresample
555 %{_includedir}/libavutil
556 %{_includedir}/libpostproc
557 %{_includedir}/libswresample
558 %{_includedir}/libswscale
559 %{_pkgconfigdir}/libavcodec.pc
560 %{_pkgconfigdir}/libavdevice.pc
561 %{_pkgconfigdir}/libavfilter.pc
562 %{_pkgconfigdir}/libavformat.pc
563 %{_pkgconfigdir}/libavresample.pc
564 %{_pkgconfigdir}/libavutil.pc
565 %{_pkgconfigdir}/libpostproc.pc
566 %{_pkgconfigdir}/libswresample.pc
567 %{_pkgconfigdir}/libswscale.pc
569 %{_mandir}/man3/libavcodec.3*
570 %{_mandir}/man3/libavdevice.3*
571 %{_mandir}/man3/libavfilter.3*
572 %{_mandir}/man3/libavformat.3*
573 %{_mandir}/man3/libavutil.3*
574 %{_mandir}/man3/libswresample.3*
575 %{_mandir}/man3/libswscale.3*
579 %defattr(644,root,root,755)
580 %{_libdir}/libavcodec.a
581 %{_libdir}/libavdevice.a
582 %{_libdir}/libavfilter.a
583 %{_libdir}/libavformat.a
584 %{_libdir}/libavresample.a
585 %{_libdir}/libavutil.a
586 %{_libdir}/libpostproc.a
587 %{_libdir}/libswresample.a
588 %{_libdir}/libswscale.a
591 %defattr(644,root,root,755)
592 %attr(755,root,root) %{_bindir}/ffplay
593 %{?with_doc:%{_mandir}/man1/ffplay.1*}
596 %defattr(644,root,root,755)
597 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
598 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
599 %attr(755,root,root) %{_sbindir}/ffserver
600 %attr(754,root,root) /etc/rc.d/init.d/ffserver
601 %{?with_doc:%{_mandir}/man1/ffserver.1*}
602 %dir %attr(770,root,ffserver) /var/cache/ffserver
603 %dir %attr(770,root,ffserver) /var/log/ffserver