2 # TODO: update for lzo 2.x (currently only lzo 1.x is supported)
5 %bcond_with amr # build 3GPP Adaptive Multi Rate (AMR) speech codec
6 %bcond_without autoreqdep # don't care about package name deps generated by rpm
7 %bcond_without imlib2 # don't build imlib2 vhook module
8 %bcond_with lzo # build with LZO support
10 %define _snap 2006-12-04
11 %define snap %(echo %{_snap} | tr -d -)
13 Summary: Realtime audio/video encoder and streaming server
14 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)
19 # (postprocessing, a52, xvid, x264, dts, faad)
20 License: GPL with LGPL parts
21 Group: Applications/Multimedia
22 #Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
23 #Source0: ftp://ftp2.mplayerhq.hu/MPlayer/cvs/FFMpeg-%{snap}.tar.bz2
24 #Source0: %{name}-%{snap}.tar.bz2
25 Source0: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2
26 # Source0-md5: 5be2e4d1e326bb7809205a3401204621
27 Source1: ffserver.init
28 Source2: ffserver.sysconfig
29 Source3: ffserver.conf
30 Patch0: %{name}-libtool.patch
31 Patch1: %{name}-libdir.patch
32 Patch2: %{name}-gcc4.patch
33 Patch3: %{name}-system-amr.patch
34 Patch4: %{name}-x264-symbol.patch
35 Patch5: %{name}-as_needed.patch
36 Patch6: %{name}-kill-mabi_altivec.patch
37 URL: http://ffmpeg.mplayerhq.hu/
38 BuildRequires: SDL-devel
40 BuildRequires: amrnb-devel
41 BuildRequires: amrwb-devel >= 5.3.0
43 BuildRequires: faac-devel
44 BuildRequires: faad2-devel
45 BuildRequires: freetype-devel
47 # require version with altivec support fixed
48 BuildRequires: gcc >= 5:3.3.2-3
50 %{?with_imlib2:BuildRequires: imlib2-devel >= 1.1.0-2}
51 BuildRequires: lame-libs-devel
52 BuildRequires: libdts-devel
53 BuildRequires: libgsm-devel
54 BuildRequires: libtheora-devel
55 BuildRequires: libtool >= 2:1.4d-3
56 BuildRequires: libvorbis-devel
57 BuildRequires: libx264-devel >= 0.1.2-1.20061024_2245.1
58 #%{?with_lzo:BuildRequires: lzo-devel < 2.0}
64 BuildRequires: perl-tools-pod
65 BuildRequires: rpmbuild(macros) >= 1.268
67 BuildRequires: texinfo
68 %{?with_amr:BuildRequires: unzip}
69 BuildRequires: xvid-devel >= 1:1.1.0
70 BuildRequires: zlib-devel
71 %{?with_autoreqdep:BuildConflicts: libpostproc}
72 Requires: %{name}-libs = %{version}-%{release}
73 Requires: xvid >= 1:1.1.0
74 Obsoletes: libpostproc
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 %define _noautoreqdep libGL.so.1 libGLU.so.1
79 %define specflags -fno-strict-aliasing
81 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
82 %define specflags_ia32 -fomit-frame-pointer
83 # -mmmx is needed to enable <mmintrin.h> code.
84 %define specflags_i586 -mmmx
85 %define specflags_i686 -mmmx
88 ffmpeg is a hyper fast realtime audio/video encoder and streaming
89 server. It can grab from a standard Video4Linux video source and
90 convert it into several file formats based on DCT/motion compensation
91 encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
95 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
96 oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucaæ dane
97 ze standardowego urz±dzenia Video4Linux i przekonwertowaæ je w kilka
98 formatów plików bazuj±cych na kodowaniu DCT/kompensacji ruchu. D¼wiêk
99 jest kompresowany do strumienia MPEG audio layer 2 lub u¿ywaj±c
100 strumienia kompatybilnego z AC3.
103 Summary: ffmpeg libraries
104 Summary(pl): Biblioteki ffmpeg
108 This package contains ffmpeg shared libraries.
110 %description libs -l pl
111 Ten pakiet zawiera biblioteki wspó³dzielone ffmpeg.
114 Summary: ffmpeg header files
115 Summary(pl): Pliki nag³ówkowe ffmpeg
116 Group: Development/Libraries
117 Requires: %{name}-libs = %{version}-%{release}
120 Requires: amrnb-devel
121 Requires: amrwb-devel >= 5.3.0
124 Requires: faad2-devel
125 Requires: lame-libs-devel
126 Requires: libdts-devel
127 Requires: libgsm-devel
128 Requires: libtheora-devel
129 Requires: libvorbis-devel
130 Requires: libx264-devel >= 0.1.2-1.20060828_2245.1
131 #%{?with_lzo:Requires: lzo-devel < 2.0}
132 Requires: xvid-devel >= 1:1.1.0
134 Obsoletes: libpostproc-devel
139 %description devel -l pl
140 Pliki nag³ówkowe ffmpeg.
143 Summary: ffmpeg static libraries
144 Summary(pl): Statyczne biblioteki ffmpeg
145 Group: Development/Libraries
146 Requires: %{name}-devel = %{version}-%{release}
149 ffmpeg static libraries (libavcodec and libavformat).
151 %description static -l pl
152 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
155 Summary: FFplay - SDL-based media player
156 Summary(pl): FFplay - odtwarzacz mediów oparty na SDL
157 Group: Applications/Multimedia
158 Requires: %{name}-libs = %{version}-%{release}
161 FFplay is a very simple and portable media player using the FFmpeg
162 libraries and the SDL library. It is mostly used as a test bench for
163 the various APIs of FFmpeg.
165 %description ffplay -l pl
166 FFplay to bardzo prosty i przeno¶ny odtwarzacz mediów u¿ywaj±cy
167 bibliotek FFmpeg oraz biblioteki SDL. Jest u¿ywany g³ównie do
168 testowania ró¿nych API FFmpeg.
170 %package vhook-imlib2
171 Summary: imlib2 based hook
172 Summary(pl): Modu³ przej¶ciowy oparty o imlib2
174 Requires: %{name}-libs = %{version}-%{release}
176 %description vhook-imlib2
177 This module implements a text overlay for a video image. Currently it
178 supports a fixed overlay or reading the text from a file. The string
179 is passed through strftime so that it is easy to imprint the date and
182 %description vhook-imlib2 -l pl
183 Ten modu³ implementuje tekstow± nak³adkê dla obrazu. Aktualnie
184 obs³uguje sta³± nak³adkê lub wczytywanie tekstu z pliku. £añcuch jest
185 przepuszczany przez strftime, wiêc ³atwo umie¶ciæ datê i czas na
189 Summary: FFserver video server
190 Summary(pl): FFserver - serwer strumieni obrazu
192 Requires(post,preun): /sbin/chkconfig
193 Requires: %{name}-libs = %{version}-%{release}
194 Requires: rc-scripts >= 0.4.0.10
196 %description ffserver
197 FFserver is a streaming server for both audio and video. It supports
198 several live feeds, streaming from files and time shifting on live
199 feeds (you can seek to positions in the past on each live feed,
200 provided you specify a big enough feed storage in ffserver.conf).
202 %description ffserver -l pl
203 FFserver to serwer strumieni dla d¼wiêku i obrazu. Obs³uguje kilka
204 ¼róde³ na ¿ywo, przekazywanie strumieni z plików i przesuwanie w
205 czasie dla ¼róde³ na ¿ywo (mo¿na przeskakiwaæ na po³o¿enia w
206 przesz³o¶ci dla ka¿dego ¼ród³a na ¿ywo, pod warunkiem odpowiednio
207 du¿ej przestrzeni na dane skonfigurowanej w ffserver.conf).
210 %setup -q -n %{name}-export-%{_snap}
214 #%patch3 -p1 NEEDS UPDATE
216 #%patch5 -p1 MIGHT BE UNNECCESSARY
221 # - it's not autoconf configure
222 # - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
224 --prefix=%{_prefix} \
225 --libdir=%{_libdir} \
226 --shlibdir=%{_libdir} \
227 --mandir=%{_mandir} \
245 %ifnarch %{ix86} %{x8664}
256 --extra-cflags="%{rpmcflags}" \
257 --extra-ldflags="%{rpmldflags}" \
262 # %{!?with_lzo:--disable-lzo} \
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
271 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
274 DESTDIR=$RPM_BUILD_ROOT
276 install xvmc_render.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
277 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
278 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
279 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
280 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
283 rm -rf $RPM_BUILD_ROOT
285 %post libs -p /sbin/ldconfig
286 %postun libs -p /sbin/ldconfig
289 %groupadd -g 167 ffserver
290 %useradd -g ffserver -u 167 ffserver
293 /sbin/chkconfig --add ffserver
294 %service ffserver restart
297 if [ "$1" = 0 ]; then
298 %service ffserver stop
299 /sbin/chkconfig --del ffserver
303 if [ "$1" = 0 ]; then
305 %groupremove ffserver
309 %defattr(644,root,root,755)
310 %doc Changelog README doc/*.html doc/TODO
311 %attr(755,root,root) %{_bindir}/ffmpeg
312 %{_mandir}/man1/ffmpeg.1*
315 %defattr(644,root,root,755)
316 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
317 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
318 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
319 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
320 %dir %{_libdir}/vhook
321 %attr(755,root,root) %{_libdir}/vhook/drawtext.so
322 %attr(755,root,root) %{_libdir}/vhook/fish.so
323 %attr(755,root,root) %{_libdir}/vhook/null.so
324 %attr(755,root,root) %{_libdir}/vhook/ppm.so
325 %attr(755,root,root) %{_libdir}/vhook/watermark.so
328 %defattr(644,root,root,755)
329 %doc doc/optimization.txt
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
335 %{_includedir}/ffmpeg
336 %{_includedir}/postproc
337 %{_pkgconfigdir}/*.pc
340 %defattr(644,root,root,755)
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_bindir}/ffplay
346 %{_mandir}/man1/ffplay.1*
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_libdir}/vhook/imlib2.so
355 %defattr(644,root,root,755)
356 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
357 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
358 %attr(755,root,root) %{_sbindir}/ffserver
359 %attr(754,root,root) /etc/rc.d/init.d/ffserver
360 %{_mandir}/man1/ffserver.1*
361 %dir %attr(770,root,ffserver) /var/cache/ffserver
362 %dir %attr(770,root,ffserver) /var/log/ffserver