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
5 # - revert amr bcond when done
8 %bcond_without imlib2 # don't build imlib2 vhook module
9 %bcond_without autoreqdep # don't care about package name deps generated by rpm
10 %bcond_with amr # build with 3GPP Adaptive Multi Rate (AMR) speech codec
14 Summary: Realtime audio/video encoder and streaming server
15 Summary(pl): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
18 Release: 3.%{snap}.%{_rel}
19 # LGPL or GPL, chosen at configure time (GPL version is more featured)
21 # (BTW. what are the 'more' features mentioned above?)
23 # Some parts of the code *is* LGPL (for example libavformat amr.c) so
24 # it is possible to include /and distribute/ external 3GPP AMR codecs
25 # (some kind of public domain with patent restrictions) to the
26 # GPL-licensed stuff /and keep GPL license/.
28 License: GPL with LGPL/Public Domain parts
30 License: GPL with LGPL parts
32 Group: Applications/Multimedia
33 #Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
34 #Source0: ftp://ftp2.mplayerhq.hu/MPlayer/cvs/FFMpeg-%{snap}.tar.bz2
35 Source0: %{name}-%{snap}.tar.bz2
36 # Source0-md5: d8ea09431d6c0c91bfd35e0ca74a67e1
37 Source1: ffserver.init
38 Source2: ffserver.sysconfig
39 Source3: ffserver.conf
42 #Source4: http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip
43 Source4: http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26204-530.zip
44 # Source4-md5: 988060bdb18b5d64b8bd82c3507d2420
46 #Source6: http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip
47 Source6: http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-540.zip
48 # Source6-md5: 4dcbeb2bc28bf86e7131fe4cae3e0dec
51 Patch0: %{name}-libtool.patch
52 Patch1: %{name}-libdir.patch
53 Patch2: %{name}-gcc4.patch
54 URL: http://ffmpeg.sourceforge.net/
55 BuildRequires: SDL-devel
56 BuildRequires: faac-devel
57 BuildRequires: faad2-devel
58 BuildRequires: freetype-devel
60 # require version with altivec support fixed
61 BuildRequires: gcc >= 5:3.3.2-3
63 %{?with_imlib2:BuildRequires: imlib2-devel >= 1.1.0-2}
64 BuildRequires: lame-libs-devel
65 BuildRequires: libdts-devel
66 BuildRequires: libgsm-devel
67 BuildRequires: libtheora-devel
68 BuildRequires: libtool >= 2:1.4d-3
69 BuildRequires: libvorbis-devel
70 #BuildRequires: libx264-devel
71 BuildRequires: lzo-devel
77 BuildRequires: perl-tools-pod
78 BuildRequires: rpmbuild(macros) >= 1.268
80 BuildRequires: texinfo
81 %{?with_amr:BuildRequires: unzip}
82 BuildRequires: xvid-devel >= 1:1.1.0
83 BuildRequires: zlib-devel
84 %{?with_autoreqdep:BuildConflicts: libpostproc}
85 Requires: %{name}-libs = %{version}-%{release}
86 Requires: xvid >= 1:1.1.0
87 Obsoletes: libpostproc
88 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 %define _noautoreqdep libGL.so.1 libGLU.so.1
92 %define specflags -fno-strict-aliasing
94 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
95 %define specflags_ia32 -fomit-frame-pointer
96 # -mmmx is needed to enable <mmintrin.h> code.
97 %define specflags_i586 -mmmx
98 %define specflags_i686 -mmmx
101 ffmpeg is a hyper fast realtime audio/video encoder and streaming
102 server. It can grab from a standard Video4Linux video source and
103 convert it into several file formats based on DCT/motion compensation
104 encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
108 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
109 oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucaæ dane
110 ze standardowego urz±dzenia Video4Linux i przekonwertowaæ je w kilka
111 formatów plików bazuj±cych na kodowaniu DCT/kompensacji ruchu. D¼wiêk
112 jest kompresowany do strumienia MPEG audio layer 2 lub u¿ywaj±c
113 strumienia kompatybilnego z AC3.
116 Summary: ffmpeg libraries
117 Summary(pl): Biblioteki ffmpeg
121 This package contains ffmpeg shared libraries.
123 %description libs -l pl
124 Ten pakiet zawiera biblioteki wspó³dzielone ffmpeg.
127 Summary: ffmpeg header files
128 Summary(pl): Pliki nag³ówkowe ffmpeg
129 Group: Development/Libraries
130 Requires: %{name}-libs = %{version}-%{release}
133 Requires: lame-libs-devel
134 Requires: libdts-devel
135 Requires: libgsm-devel
136 Requires: libtheora-devel
137 Requires: libvorbis-devel
139 Requires: xvid-devel >= 1:1.1.0
141 Obsoletes: libpostproc-devel
146 %description devel -l pl
147 Pliki nag³ówkowe ffmpeg.
150 Summary: ffmpeg static libraries
151 Summary(pl): Statyczne biblioteki ffmpeg
152 Group: Development/Libraries
153 Requires: %{name}-devel = %{version}-%{release}
156 ffmpeg static libraries (libavcodec and libavformat).
158 %description static -l pl
159 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
162 Summary: FFplay - SDL-based media player
163 Summary(pl): FFplay - odtwarzacz mediów oparty na SDL
164 Group: Applications/Multimedia
165 Requires: %{name}-libs = %{version}-%{release}
168 FFplay is a very simple and portable media player using the FFmpeg
169 libraries and the SDL library. It is mostly used as a test bench for
170 the various APIs of FFmpeg.
172 %description ffplay -l pl
173 FFplay to bardzo prosty i przeno¶ny odtwarzacz mediów u¿ywaj±cy
174 bibliotek FFmpeg oraz biblioteki SDL. Jest u¿ywany g³ównie do
175 testowania ró¿nych API FFmpeg.
177 %package vhook-imlib2
178 Summary: imlib2 based hook
179 Summary(pl): Modu³ przej¶ciowy oparty o imlib2
181 Requires: %{name}-libs = %{version}-%{release}
183 %description vhook-imlib2
184 This module implements a text overlay for a video image. Currently it
185 supports a fixed overlay or reading the text from a file. The string
186 is passed through strftime so that it is easy to imprint the date and
189 %description vhook-imlib2 -l pl
190 Ten modu³ implementuje tekstow± nak³adkê dla obrazu. Aktualnie
191 obs³uguje sta³± nak³adkê lub wczytywanie tekstu z pliku. £añcuch jest
192 przepuszczany przez strftime, wiêc ³atwo umie¶ciæ datê i czas na
196 Summary: FFserver video server
197 Summary(pl): FFserver - serwer strumieni obrazu
199 Requires(post,preun): /sbin/chkconfig
200 Requires: rc-scripts >= 0.4.0.10
201 Requires: %{name}-libs = %{version}-%{release}
203 %description ffserver
204 FFserver is a streaming server for both audio and video. It supports
205 several live feeds, streaming from files and time shifting on live
206 feeds (you can seek to positions in the past on each live feed,
207 provided you specify a big enough feed storage in ffserver.conf).
209 %description ffserver -l pl
210 FFserver to serwer strumieni dla d¼wiêku i obrazu. Obs³uguje kilka
211 ¼róde³ na ¿ywo, przekazywanie strumieni z plików i przesuwanie w
212 czasie dla ¼róde³ na ¿ywo (mo¿na przeskakiwaæ na po³o¿enia w
213 przesz³o¶ci dla ka¿dego ¼ród³a na ¿ywo, pod warunkiem odpowiednio
214 du¿ej przestrzeni na dane skonfigurowanej w ffserver.conf).
226 # put 26204-xxx.zip into libavcodec/amrwb_float
229 unzip -j 26204-530_ANSI-C_source_code.zip
230 # put 26104-xxx.zip into libavcodec/amr_float
233 unzip -j 26104-540_ANSI_C_source_code.zip
239 # - it's not autoconf configure
240 # - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
242 --prefix=%{_prefix} \
243 --libdir=%{_libdir} \
244 --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