2 # TODO: only lzo 1.x is supported
3 # - make (ffmpeg code inside) mplayer play .3gp mobile phone movies
4 # (ffplay and vlc plays them fine
7 %bcond_without imlib2 # don't build imlib2 vhook module
8 %bcond_without autoreqdep # don't care about package name deps generated by rpm
9 %bcond_without amr # don't build 3GPP Adaptive Multi Rate (AMR) speech codec
11 Summary: Realtime audio/video encoder and streaming server
12 Summary(pl): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
17 Release: 3.%{snap}.%{_rel}
18 # LGPL or GPL, chosen at configure time (GPL version is more featured)
20 # (BTW. what are the 'more' features mentioned above?)
22 # Some parts of the code *is* LGPL (for example libavformat amr.c) so
23 # it is possible to include /and distribute/ external 3GPP AMR codecs
24 # (some kind of public domain with patent restrictions) to the
25 # GPL-licensed stuff /and keep GPL license/.
27 License: GPL with LGPL/Public Domain parts
29 License: GPL with LGPL parts
31 Group: Applications/Multimedia
32 #Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
33 #Source0: ftp://ftp2.mplayerhq.hu/MPlayer/cvs/FFMpeg-%{snap}.tar.bz2
34 Source0: %{name}-%{snap}.tar.bz2
35 # Source0-md5: d8ea09431d6c0c91bfd35e0ca74a67e1
36 Source1: ffserver.init
37 Source2: ffserver.sysconfig
38 Source3: ffserver.conf
41 #Source4: http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip
42 Source4: http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26204-530.zip
43 # Source4-md5: 988060bdb18b5d64b8bd82c3507d2420
45 #Source6: http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip
46 Source6: http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-540.zip
47 # Source6-md5: 4dcbeb2bc28bf86e7131fe4cae3e0dec
50 Patch0: %{name}-libtool.patch
51 Patch1: %{name}-libdir.patch
52 Patch2: %{name}-gcc4.patch
53 URL: http://ffmpeg.sourceforge.net/
54 BuildRequires: SDL-devel
55 BuildRequires: faac-devel
56 BuildRequires: faad2-devel
57 BuildRequires: freetype-devel
59 # require version with altivec support fixed
60 BuildRequires: gcc >= 5:3.3.2-3
62 %{?with_imlib2:BuildRequires: imlib2-devel >= 1.1.0-2}
63 BuildRequires: lame-libs-devel
64 BuildRequires: libdts-devel
65 BuildRequires: libgsm-devel
66 BuildRequires: libtheora-devel
67 BuildRequires: libtool >= 2:1.4d-3
68 BuildRequires: libvorbis-devel
69 BuildRequires: libx264-devel >= 0.1.2-1.20060430_2245.1
70 BuildRequires: lzo-devel
76 BuildRequires: perl-tools-pod
77 BuildRequires: rpmbuild(macros) >= 1.268
79 BuildRequires: texinfo
80 %{?with_amr:BuildRequires: unzip}
81 BuildRequires: xvid-devel >= 1:1.1.0
82 BuildRequires: zlib-devel
83 %{?with_autoreqdep:BuildConflicts: libpostproc}
84 Requires: %{name}-libs = %{version}-%{release}
85 Requires: xvid >= 1:1.1.0
86 Obsoletes: libpostproc
87 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
89 %define _noautoreqdep libGL.so.1 libGLU.so.1
91 %define specflags -fno-strict-aliasing
93 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
94 %define specflags_ia32 -fomit-frame-pointer
95 # -mmmx is needed to enable <mmintrin.h> code.
96 %define specflags_i586 -mmmx
97 %define specflags_i686 -mmmx
100 ffmpeg is a hyper fast realtime audio/video encoder and streaming
101 server. It can grab from a standard Video4Linux video source and
102 convert it into several file formats based on DCT/motion compensation
103 encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
107 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
108 oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucaæ dane
109 ze standardowego urz±dzenia Video4Linux i przekonwertowaæ je w kilka
110 formatów plików bazuj±cych na kodowaniu DCT/kompensacji ruchu. D¼wiêk
111 jest kompresowany do strumienia MPEG audio layer 2 lub u¿ywaj±c
112 strumienia kompatybilnego z AC3.
115 Summary: ffmpeg libraries
116 Summary(pl): Biblioteki ffmpeg
120 This package contains ffmpeg shared libraries.
122 %description libs -l pl
123 Ten pakiet zawiera biblioteki wspó³dzielone ffmpeg.
126 Summary: ffmpeg header files
127 Summary(pl): Pliki nag³ówkowe ffmpeg
128 Group: Development/Libraries
129 Requires: %{name}-libs = %{version}-%{release}
132 Requires: lame-libs-devel
133 Requires: libdts-devel
134 Requires: libgsm-devel
135 Requires: libtheora-devel
136 Requires: libvorbis-devel
138 Requires: xvid-devel >= 1:1.1.0
140 Obsoletes: libpostproc-devel
145 %description devel -l pl
146 Pliki nag³ówkowe ffmpeg.
149 Summary: ffmpeg static libraries
150 Summary(pl): Statyczne biblioteki ffmpeg
151 Group: Development/Libraries
152 Requires: %{name}-devel = %{version}-%{release}
155 ffmpeg static libraries (libavcodec and libavformat).
157 %description static -l pl
158 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
161 Summary: FFplay - SDL-based media player
162 Summary(pl): FFplay - odtwarzacz mediów oparty na SDL
163 Group: Applications/Multimedia
164 Requires: %{name}-libs = %{version}-%{release}
167 FFplay is a very simple and portable media player using the FFmpeg
168 libraries and the SDL library. It is mostly used as a test bench for
169 the various APIs of FFmpeg.
171 %description ffplay -l pl
172 FFplay to bardzo prosty i przeno¶ny odtwarzacz mediów u¿ywaj±cy
173 bibliotek FFmpeg oraz biblioteki SDL. Jest u¿ywany g³ównie do
174 testowania ró¿nych API FFmpeg.
176 %package vhook-imlib2
177 Summary: imlib2 based hook
178 Summary(pl): Modu³ przej¶ciowy oparty o imlib2
180 Requires: %{name}-libs = %{version}-%{release}
182 %description vhook-imlib2
183 This module implements a text overlay for a video image. Currently it
184 supports a fixed overlay or reading the text from a file. The string
185 is passed through strftime so that it is easy to imprint the date and
188 %description vhook-imlib2 -l pl
189 Ten modu³ implementuje tekstow± nak³adkê dla obrazu. Aktualnie
190 obs³uguje sta³± nak³adkê lub wczytywanie tekstu z pliku. £añcuch jest
191 przepuszczany przez strftime, wiêc ³atwo umie¶ciæ datê i czas na
195 Summary: FFserver video server
196 Summary(pl): FFserver - serwer strumieni obrazu
198 Requires(post,preun): /sbin/chkconfig
199 Requires: rc-scripts >= 0.4.0.10
200 Requires: %{name}-libs = %{version}-%{release}
202 %description ffserver
203 FFserver is a streaming server for both audio and video. It supports
204 several live feeds, streaming from files and time shifting on live
205 feeds (you can seek to positions in the past on each live feed,
206 provided you specify a big enough feed storage in ffserver.conf).
208 %description ffserver -l pl
209 FFserver to serwer strumieni dla d¼wiêku i obrazu. Obs³uguje kilka
210 ¼róde³ na ¿ywo, przekazywanie strumieni z plików i przesuwanie w
211 czasie dla ¼róde³ na ¿ywo (mo¿na przeskakiwaæ na po³o¿enia w
212 przesz³o¶ci dla ka¿dego ¼ród³a na ¿ywo, pod warunkiem odpowiednio
213 du¿ej przestrzeni na dane skonfigurowanej w ffserver.conf).
225 # put 26204-xxx.zip into libavcodec/amrwb_float
228 unzip -j 26204-530_ANSI-C_source_code.zip
229 # put 26104-xxx.zip into libavcodec/amr_float
232 unzip -j 26104-540_ANSI_C_source_code.zip
238 # - it's not autoconf configure
239 # - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
241 --prefix=%{_prefix} \
242 --libdir=%{_libdir} \
243 --mandir=%{_mandir} \
262 %ifnarch %{ix86} %{x8664}
273 --extra-cflags="%{rpmcflags}" \
274 --extra-ldflags="%{rpmldflags}" \
283 rm -rf $RPM_BUILD_ROOT
284 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
285 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
288 DESTDIR=$RPM_BUILD_ROOT
290 install xvmc_render.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
291 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
292 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
293 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
294 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
297 rm -rf $RPM_BUILD_ROOT
299 %post -p /sbin/ldconfig
300 %postun -p /sbin/ldconfig
303 %groupadd -g 167 ffserver
304 %useradd -g ffserver -u 167 ffserver
307 /sbin/chkconfig --add ffserver
308 %service ffserver restart
311 if [ "$1" = 0 ]; then
312 %service ffserver stop
313 /sbin/chkconfig --del ffserver
317 if [ "$1" = 0 ]; then
319 %groupremove ffserver
323 %defattr(644,root,root,755)
324 %doc Changelog README doc/*.html doc/TODO
325 %attr(755,root,root) %{_bindir}/ffmpeg
326 %{_mandir}/man1/ffmpeg.1*
329 %defattr(644,root,root,755)
330 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
331 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
332 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
333 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
334 %dir %{_libdir}/vhook
335 %attr(755,root,root) %{_libdir}/vhook/drawtext.so
336 %attr(755,root,root) %{_libdir}/vhook/fish.so
337 %attr(755,root,root) %{_libdir}/vhook/null.so
338 %attr(755,root,root) %{_libdir}/vhook/ppm.so
339 %attr(755,root,root) %{_libdir}/vhook/watermark.so
342 %defattr(644,root,root,755)
343 %doc doc/optimization.txt
344 %attr(755,root,root) %{_libdir}/libavcodec.so
345 %attr(755,root,root) %{_libdir}/libavformat.so
346 %attr(755,root,root) %{_libdir}/libavutil.so
347 %attr(755,root,root) %{_libdir}/libpostproc.so
349 %{_includedir}/ffmpeg
350 %{_includedir}/postproc
351 %{_pkgconfigdir}/*.pc
354 %defattr(644,root,root,755)
358 %defattr(644,root,root,755)
359 %attr(755,root,root) %{_bindir}/ffplay
360 %{_mandir}/man1/ffplay.1*
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{_libdir}/vhook/imlib2.so
369 %defattr(644,root,root,755)
370 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
371 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
372 %attr(755,root,root) %{_sbindir}/ffserver
373 %attr(754,root,root) /etc/rc.d/init.d/ffserver
374 %{_mandir}/man1/ffserver.1*
375 %dir %attr(770,root,ffserver) /var/cache/ffserver
376 %dir %attr(770,root,ffserver) /var/log/ffserver