1 # TODO: libsoxr [libsoxr, soxr.h]
3 # How to deal with ffmpeg/opencv checken-egg problem:
4 # 1. make-request -r --without opencv ffmpeg.spec
5 # 2. make-request -r opencv.spec
6 # 3. bump release of ffmpeg.spec
7 # 4. make-request -r ffmpeg.spec
10 %bcond_with nonfree # non free options of package (currently: faac)
11 %bcond_with aacplus # AAC+ encoding via libaacplus (requires nonfree)
12 %bcond_with fdk_aac # AAC encoding via libfdk_aac (requires nonfree)
13 %bcond_without caca # textual display using libcaca
14 %bcond_without flite # flite voice synthesis support
15 %bcond_without frei0r # frei0r video filtering
16 %bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
17 %bcond_without openal # OpenAL 1.1 capture support
18 %bcond_without opencv # OpenCV video filtering
19 %bcond_without pulseaudio # PulseAudio input 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 URL: http://www.ffmpeg.org/
45 %{?with_openal:BuildRequires: OpenAL-devel >= 1.1}
46 BuildRequires: SDL-devel >= 1.2.1
47 BuildRequires: alsa-lib-devel
48 BuildRequires: bzip2-devel
49 BuildRequires: celt-devel >= 0.11.0
50 %{?with_nonfree:BuildRequires: faac-devel}
51 %{?with_fdk_aac:BuildRequires: fdk-aac-devel}
52 %{?with_flite:BuildRequires: flite-devel >= 1.4}
53 BuildRequires: fontconfig-devel
54 BuildRequires: freetype-devel
55 %{?with_frei0r:BuildRequires: frei0r-devel}
57 # require version with altivec support fixed
58 BuildRequires: gcc >= 5:3.3.2-3
60 BuildRequires: gnutls-devel
61 BuildRequires: jack-audio-connection-kit-devel
62 BuildRequires: lame-libs-devel >= 3.98.3
63 %{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
64 BuildRequires: libass-devel
65 BuildRequires: libavc1394-devel
66 BuildRequires: libbluray-devel
67 %{?with_caca:BuildRequires: libcaca-devel}
68 BuildRequires: libcdio-paranoia-devel >= 0.90-2
69 BuildRequires: libdc1394-devel >= 2
70 BuildRequires: libgsm-devel
71 BuildRequires: libiec61883-devel
72 BuildRequires: libmodplug-devel
73 BuildRequires: libnut-devel
74 BuildRequires: libraw1394-devel >= 2
75 BuildRequires: librtmp-devel
76 BuildRequires: libtheora-devel >= 1.0-0.beta3
77 BuildRequires: libtool >= 2:1.4d-3
78 BuildRequires: libv4l-devel
79 %{?with_va:BuildRequires: libva-devel >= 1.0.3}
80 BuildRequires: libvdpau-devel >= 0.2
81 BuildRequires: libvorbis-devel
82 %{?with_vpx:BuildRequires: libvpx-devel >= 0.9.7}
84 %{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
90 BuildRequires: opencore-amr-devel
91 %{?with_opencv:BuildRequires: opencv-devel}
92 BuildRequires: openjpeg-devel >= 1.5
93 BuildRequires: opus-devel
94 BuildRequires: perl-Encode
95 BuildRequires: perl-tools-pod
96 BuildRequires: pkgconfig
97 %{?with_pulseaudio:BuildRequires: pulseaudio-devel}
98 BuildRequires: rpmbuild(macros) >= 1.470
99 BuildRequires: schroedinger-devel
100 BuildRequires: speex-devel >= 1:1.2-rc1
101 %{?with_doc:BuildRequires: tetex}
102 %{?with_doc:BuildRequires: texi2html}
103 %{?with_doc:BuildRequires: texinfo}
104 BuildRequires: twolame-devel
105 %{?with_utvideo:BuildRequires: utvideo-devel}
106 BuildRequires: vo-aacenc-devel
107 BuildRequires: vo-amrwbenc-devel
108 %{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
109 BuildRequires: xavs-devel
110 BuildRequires: xorg-lib-libX11-devel
111 BuildRequires: xorg-lib-libXext-devel
112 BuildRequires: xorg-lib-libXfixes-devel
113 BuildRequires: xvid-devel >= 1:1.1.0
115 BuildRequires: zlib-devel
116 %{?with_autoreqdep:BuildConflicts: libpostproc}
117 # overflows maximum hash table size
118 BuildConflicts: pdksh < 5.2.14-57
119 Requires: %{name}-libs = %{version}-%{release}
120 %{?with_ilbc:Requires: webrtc-libilbc}
121 Requires: xvid >= 1:1.1.0
122 Obsoletes: libpostproc
123 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
125 %define _noautoreqdep libGL.so.1 libGLU.so.1
127 %define specflags -fno-strict-aliasing
129 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
130 %define specflags_ia32 -fomit-frame-pointer
131 # -mmmx is needed to enable <mmintrin.h> code.
132 %define specflags_i586 -mmmx
133 %define specflags_i686 -mmmx
134 %define specflags_ppc -fPIC
137 FFmpeg is a complete solution to record, convert and stream audio and
138 video. It is a command line tool to convert one video file format to
139 another. It also supports grabbing and encoding in real time from a TV
142 %description -l pl.UTF-8
143 FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
144 strumieni dźwięku i obrazu. Jest to działające z linii poleceń
145 narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
146 także przechwytywanie i kodowanie w czasie rzeczywistym z karty
150 Summary: ffmpeg libraries
151 Summary(pl.UTF-8): Biblioteki ffmpeg
155 This package contains the ffmpeg shared libraries:
156 - the codec library (libavcodec). It supports most existing encoding
157 formats (MPEG, DivX, MPEG4, AC3, DV...),
158 - demuxer library (libavformat). It supports most existing file
159 formats (AVI, MPEG, OGG, Matroska, ASF...),
160 - video postprocessing library (libpostproc).
162 %description libs -l pl.UTF-8
163 Ten pakiet zawiera biblioteki współdzielone ffmpeg:
164 - bibliotekę kodeków (libavcodec); obsługuje większość istniejących
165 formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
166 - bibliotekę demuksera (libavformat); obsługuje większość istniejących
167 formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
168 - bibliotekę postprocessingu (libpostproc).
171 Summary: ffmpeg header files
172 Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
173 Group: Development/Libraries
174 Requires: %{name}-libs = %{version}-%{release}
175 # Libs.private from *.pc (unreasonably they are all the same)
176 Requires: SDL-devel >= 1.2.1
177 Requires: alsa-lib-devel
178 Requires: bzip2-devel
179 Requires: celt-devel >= 0.11.0
180 %{?with_nonfree:Requires: faac-devel}
181 %{?with_fdk_aac:Requires: fdk-aac-devel}
182 Requires: fontconfig-devel
183 Requires: freetype-devel
184 Requires: jack-audio-connection-kit-devel
185 %{?with_flite:Requires: flite-devel >= 1.4}
186 Requires: lame-libs-devel >= 3.98.3
187 %{?with_aacplus:Requires: libaacplus-devel >= 2.0.0}
188 Requires: libass-devel
189 Requires: libavc1394-devel
190 Requires: libbluray-devel
191 %{?with_caca:Requires: libcaca-devel}
192 Requires: libcdio-paranoia-devel >= 0.90-2
193 Requires: libdc1394-devel >= 2
194 Requires: libgsm-devel
195 Requires: libiec61883-devel
196 Requires: libmodplug-devel
197 Requires: libnut-devel
198 Requires: libraw1394-devel >= 2
199 Requires: librtmp-devel
200 Requires: libtheora-devel >= 1.0-0.beta3
201 %{?with_va:Requires: libva-devel >= 1.0.3}
202 Requires: libvorbis-devel
203 %{?with_vpx:Requires: libvpx-devel >= 0.9.7}
204 %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
205 Requires: opencore-amr-devel
206 %{?with_opencv:Requires: opencv-devel}
207 Requires: openjpeg-devel >= 1.5
208 Requires: schroedinger-devel
209 Requires: speex-devel >= 1:1.2-rc1
210 Requires: twolame-devel
211 Requires: vo-aacenc-devel
212 Requires: vo-amrwbenc-devel
213 %{?with_ilbc:Requires: webrtc-libilbc-devel}
215 Requires: xorg-lib-libXext-devel
216 Requires: xorg-lib-libXfixes-devel
217 Requires: xvid-devel >= 1:1.1.0
219 Obsoletes: libpostproc-devel
224 %description devel -l pl.UTF-8
225 Pliki nagłówkowe ffmpeg.
228 Summary: ffmpeg static libraries
229 Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
230 Group: Development/Libraries
231 Requires: %{name}-devel = %{version}-%{release}
234 ffmpeg static libraries (libavcodec and libavformat).
236 %description static -l pl.UTF-8
237 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
240 Summary: FFplay - SDL-based media player
241 Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
242 Group: Applications/Multimedia
243 Requires: %{name}-libs = %{version}-%{release}
246 FFplay is a very simple and portable media player using the FFmpeg
247 libraries and the SDL library. It is mostly used as a test bench for
248 the various APIs of FFmpeg.
250 %description ffplay -l pl.UTF-8
251 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
252 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
253 testowania różnych API FFmpeg.
256 Summary: FFserver video server
257 Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
259 Requires(post,preun): /sbin/chkconfig
260 Requires: %{name}-libs = %{version}-%{release}
261 Requires: rc-scripts >= 0.4.0.10
263 %description ffserver
264 FFserver is a streaming server for both audio and video. It supports
265 several live feeds, streaming from files and time shifting on live
266 feeds (you can seek to positions in the past on each live feed,
267 provided you specify a big enough feed storage in ffserver.conf).
269 %description ffserver -l pl.UTF-8
270 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
271 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
272 czasie dla źródeł na żywo (można przeskakiwać na położenia w
273 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
274 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
282 # package the grep result for mplayer, the result formatted as ./mplayer/configure
283 cat <<EOF > ffmpeg-avconfig
285 _libavdecoders_all="`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
286 _libavencoders_all="`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
287 _libavparsers_all="`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
288 _libavbsfs_all="`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
289 _libavdemuxers_all="`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
290 _libavmuxers_all="`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
291 _libavprotocols_all="`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
293 cat <<'EOF' >> ffmpeg-avconfig
297 echo $_libavdecoders_all
300 echo $_libavencoders_all
303 echo $_libavparsers_all
309 echo $_libavdemuxers_all
312 echo $_libavmuxers_all
315 echo $_libavprotocols_all
337 # - it's not autoconf configure
338 # - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
340 --arch=%{_target_base_arch} \
341 --prefix=%{_prefix} \
342 --libdir=%{_libdir} \
343 --shlibdir=%{_libdir} \
344 --mandir=%{_mandir} \
345 --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}" \
346 --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
349 --disable-optimizations \
350 --disable-stripping \
352 --enable-avresample \
356 --enable-fontconfig \
357 %{?with_frei0r:--enable-frei0r} \
358 %{?with_aacplus:--enable-libaacplus} \
361 %{?with_caca:--enable-libcaca} \
365 %{?with_fdk_aac:--enable-libfdk-aac} \
366 %{?with_flite:--enable-libflite} \
367 --enable-libfreetype \
369 --enable-libiec61883 \
370 %{?with_ilbc:--enable-libilbc} \
371 --enable-libmodplug \
372 --enable-libmp3lame \
374 --enable-libopencore-amrnb \
375 --enable-libopencore-amrwb \
376 %{?with_opencv:--enable-libopencv} \
377 --enable-libopenjpeg \
379 %{?with_pulseaudio:--enable-libpulse} \
381 --enable-libschroedinger \
384 --enable-libtwolame \
385 %{?with_utvideo:--enable-libutvideo} \
387 --enable-libvo-aacenc \
388 --enable-libvo-amrwbenc \
390 %{?with_vpx:--enable-libvpx} \
391 %{?with_x264:--enable-libx264} \
394 %{?with_openal:--enable-openal} \
399 %{?with_va:--enable-vaapi} \
402 %ifnarch %{ix86} %{x8664}
412 --enable-runtime-cpudetect
414 # force oldscaler build
415 %{__sed} -i -e 's|#define.*CONFIG_OLDSCALER.*0|#define CONFIG_OLDSCALER 1|g' config.h
420 # CC_O to add -c to commandline. makefile should be patched
421 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
424 rm -rf $RPM_BUILD_ROOT
425 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
426 $RPM_BUILD_ROOT%{_includedir}/ffmpeg \
427 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
429 %{__make} install install-headers \
430 DESTDIR=$RPM_BUILD_ROOT \
433 # install nonstandard, non-public headers manually
434 cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
435 for a in libavutil/*/bswap.h; do
436 install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
438 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
439 # for lim-omx ffmpeg components
440 cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
442 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
443 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
444 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
445 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
446 install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
448 # install as ffmpeg-avconfig to avoid with possible programs looking for
449 # ffmpeg-config and expecting --libs output from it which is not implemented
450 # simple to do (by querying pkgconfig), but why?
451 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
455 install -d $RPM_BUILD_ROOT%{_mandir}/man3
456 %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/lib*.3 $RPM_BUILD_ROOT%{_mandir}/man3
460 rm -rf $RPM_BUILD_ROOT
462 %post libs -p /sbin/ldconfig
463 %postun libs -p /sbin/ldconfig
466 %groupadd -g 167 ffserver
467 %useradd -g ffserver -u 167 ffserver
470 /sbin/chkconfig --add ffserver
471 %service ffserver restart
474 if [ "$1" = 0 ]; then
475 %service ffserver stop
476 /sbin/chkconfig --del ffserver
480 if [ "$1" = 0 ]; then
482 %groupremove ffserver
486 %defattr(644,root,root,755)
487 %doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES} %{?with_doc:doc/*.html}
488 %attr(755,root,root) %{_bindir}/ffmpeg
489 %attr(755,root,root) %{_bindir}/ffprobe
490 %attr(755,root,root) %{_bindir}/qt-faststart
491 %dir %{_datadir}/ffmpeg
492 %{_datadir}/ffmpeg/*.ffpreset
493 %{_datadir}/ffmpeg/ffprobe.xsd
495 %{_mandir}/man1/ffmpeg.1*
496 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
497 %{_mandir}/man1/ffmpeg-codecs.1*
498 %{_mandir}/man1/ffmpeg-devices.1*
499 %{_mandir}/man1/ffmpeg-filters.1*
500 %{_mandir}/man1/ffmpeg-formats.1*
501 %{_mandir}/man1/ffmpeg-protocols.1*
502 %{_mandir}/man1/ffmpeg-resampler.1*
503 %{_mandir}/man1/ffmpeg-scaler.1*
504 %{_mandir}/man1/ffmpeg-utils.1*
505 %{_mandir}/man1/ffprobe.1*
509 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
511 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.54
512 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
513 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.54
514 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
515 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.3
516 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
517 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.54
518 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
519 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.1
520 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
521 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.52
522 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
523 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52
524 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
525 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.0
526 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
527 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
530 %defattr(644,root,root,755)
531 %doc doc/optimization.txt
532 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
533 %attr(755,root,root) %{_libdir}/libavcodec.so
534 %attr(755,root,root) %{_libdir}/libavdevice.so
535 %attr(755,root,root) %{_libdir}/libavfilter.so
536 %attr(755,root,root) %{_libdir}/libavformat.so
537 %attr(755,root,root) %{_libdir}/libavresample.so
538 %attr(755,root,root) %{_libdir}/libavutil.so
539 %attr(755,root,root) %{_libdir}/libpostproc.so
540 %attr(755,root,root) %{_libdir}/libswresample.so
541 %attr(755,root,root) %{_libdir}/libswscale.so
542 %{_includedir}/ffmpeg
543 %{_includedir}/libavcodec
544 %{_includedir}/libavdevice
545 %{_includedir}/libavfilter
546 %{_includedir}/libavformat
547 %{_includedir}/libavresample
548 %{_includedir}/libavutil
549 %{_includedir}/libpostproc
550 %{_includedir}/libswresample
551 %{_includedir}/libswscale
552 %{_pkgconfigdir}/libavcodec.pc
553 %{_pkgconfigdir}/libavdevice.pc
554 %{_pkgconfigdir}/libavfilter.pc
555 %{_pkgconfigdir}/libavformat.pc
556 %{_pkgconfigdir}/libavresample.pc
557 %{_pkgconfigdir}/libavutil.pc
558 %{_pkgconfigdir}/libpostproc.pc
559 %{_pkgconfigdir}/libswresample.pc
560 %{_pkgconfigdir}/libswscale.pc
562 %{_mandir}/man3/libavcodec.3*
563 %{_mandir}/man3/libavdevice.3*
564 %{_mandir}/man3/libavfilter.3*
565 %{_mandir}/man3/libavformat.3*
566 %{_mandir}/man3/libavutil.3*
567 %{_mandir}/man3/libswresample.3*
568 %{_mandir}/man3/libswscale.3*
572 %defattr(644,root,root,755)
573 %{_libdir}/libavcodec.a
574 %{_libdir}/libavdevice.a
575 %{_libdir}/libavfilter.a
576 %{_libdir}/libavformat.a
577 %{_libdir}/libavresample.a
578 %{_libdir}/libavutil.a
579 %{_libdir}/libpostproc.a
580 %{_libdir}/libswresample.a
581 %{_libdir}/libswscale.a
584 %defattr(644,root,root,755)
585 %attr(755,root,root) %{_bindir}/ffplay
586 %{?with_doc:%{_mandir}/man1/ffplay.1*}
589 %defattr(644,root,root,755)
590 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
591 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
592 %attr(755,root,root) %{_sbindir}/ffserver
593 %attr(754,root,root) /etc/rc.d/init.d/ffserver
594 %{?with_doc:%{_mandir}/man1/ffserver.1*}
595 %dir %attr(770,root,ffserver) /var/cache/ffserver
596 %dir %attr(770,root,ffserver) /var/log/ffserver