2 # - libnut enabled no (http://www.nut-container.org/)
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
9 %define _snap 2007-06-09
10 %define snap %(echo %{_snap} | tr -d -)
12 Summary: Realtime audio/video encoder and streaming server
13 Summary(pl.UTF-8): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
16 Release: 3.%{snap}.%{_rel}
17 # LGPL or GPL, chosen at configure time (GPL version is more featured)
18 # (postprocessing, a52, xvid, x264, faad)
19 License: GPL with LGPL parts
20 Group: Applications/Multimedia
21 #Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
22 Source0: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2
23 # Source0-md5: d7f9e7d673b589d21d256c469acf611b
24 Source1: ffserver.init
25 Source2: ffserver.sysconfig
26 Source3: ffserver.conf
27 Patch0: %{name}-link.patch
28 Patch1: %{name}-gcc4.patch
29 Patch2: %{name}-kill-mabi_altivec.patch
30 Patch3: %{name}-img_convert_symbol.patch
31 URL: http://ffmpeg.mplayerhq.hu/
32 BuildRequires: SDL-devel
33 BuildRequires: a52dec-libs-devel
35 BuildRequires: amrnb-devel >= 6.1.0.4
36 BuildRequires: amrwb-devel >= 7.0.0.1
38 BuildRequires: faac-devel
39 BuildRequires: faad2-devel
40 BuildRequires: freetype-devel
42 # require version with altivec support fixed
43 BuildRequires: gcc >= 5:3.3.2-3
45 %{?with_imlib2:BuildRequires: imlib2-devel >= 1.3.0}
46 BuildRequires: lame-libs-devel
47 BuildRequires: libgsm-devel
48 BuildRequires: libogg-devel
49 BuildRequires: libraw1394-devel
50 BuildRequires: libtheora-devel >= 1.0-0.alpha7
51 BuildRequires: libtool >= 2:1.4d-3
52 BuildRequires: libvorbis-devel
53 BuildRequires: libx264-devel >= 0.1.2-1.20061024_2245.1
59 BuildRequires: perl-tools-pod
60 BuildRequires: rpmbuild(macros) >= 1.268
62 BuildRequires: texinfo
63 %{?with_amr:BuildRequires: unzip}
64 BuildRequires: xvid-devel >= 1:1.1.0
65 BuildRequires: zlib-devel
66 %{?with_autoreqdep:BuildConflicts: libpostproc}
67 Requires: %{name}-libs = %{version}-%{release}
68 Requires: xvid >= 1:1.1.0
69 Obsoletes: libpostproc
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72 %define _noautoreqdep libGL.so.1 libGLU.so.1
74 %define specflags -fno-strict-aliasing
76 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
77 %define specflags_ia32 -fomit-frame-pointer
78 # -mmmx is needed to enable <mmintrin.h> code.
79 %define specflags_i586 -mmmx
80 %define specflags_i686 -mmmx
83 ffmpeg is a hyper fast realtime audio/video encoder and streaming
84 server. It can grab from a standard Video4Linux video source and
85 convert it into several file formats based on DCT/motion compensation
86 encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
89 %description -l pl.UTF-8
90 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
91 oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucać dane
92 ze standardowego urządzenia Video4Linux i przekonwertować je w kilka
93 formatów plików bazujących na kodowaniu DCT/kompensacji ruchu. Dźwięk
94 jest kompresowany do strumienia MPEG audio layer 2 lub używając
95 strumienia kompatybilnego z AC3.
98 Summary: ffmpeg libraries
99 Summary(pl.UTF-8): Biblioteki ffmpeg
103 This package contains ffmpeg shared libraries.
105 %description libs -l pl.UTF-8
106 Ten pakiet zawiera biblioteki współdzielone ffmpeg.
109 Summary: ffmpeg header files
110 Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
111 Group: Development/Libraries
112 Requires: %{name}-libs = %{version}-%{release}
115 Requires: amrnb-devel
116 Requires: amrwb-devel >= 5.3.0
119 Requires: faad2-devel
120 Requires: lame-libs-devel
121 Requires: libgsm-devel
122 Requires: libtheora-devel >= 1.0-0.alpha7
123 Requires: libvorbis-devel
124 Requires: libx264-devel >= 0.1.2-1.20060828_2245.1
125 Requires: xvid-devel >= 1:1.1.0
127 Obsoletes: libpostproc-devel
132 %description devel -l pl.UTF-8
133 Pliki nagłówkowe ffmpeg.
136 Summary: ffmpeg static libraries
137 Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
138 Group: Development/Libraries
139 Requires: %{name}-devel = %{version}-%{release}
142 ffmpeg static libraries (libavcodec and libavformat).
144 %description static -l pl.UTF-8
145 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
148 Summary: FFplay - SDL-based media player
149 Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
150 Group: Applications/Multimedia
151 Requires: %{name}-libs = %{version}-%{release}
154 FFplay is a very simple and portable media player using the FFmpeg
155 libraries and the SDL library. It is mostly used as a test bench for
156 the various APIs of FFmpeg.
158 %description ffplay -l pl.UTF-8
159 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
160 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
161 testowania różnych API FFmpeg.
163 %package vhook-imlib2
164 Summary: imlib2 based hook
165 Summary(pl.UTF-8): Moduł przejściowy oparty o imlib2
167 Requires: %{name}-libs = %{version}-%{release}
169 %description vhook-imlib2
170 This module implements a text overlay for a video image. Currently it
171 supports a fixed overlay or reading the text from a file. The string
172 is passed through strftime so that it is easy to imprint the date and
175 %description vhook-imlib2 -l pl.UTF-8
176 Ten moduł implementuje tekstową nakładkę dla obrazu. Aktualnie
177 obsługuje stałą nakładkę lub wczytywanie tekstu z pliku. Łańcuch jest
178 przepuszczany przez strftime, więc łatwo umieścić datę i czas na
182 Summary: FFserver video server
183 Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
185 Requires(post,preun): /sbin/chkconfig
186 Requires: %{name}-libs = %{version}-%{release}
187 Requires: rc-scripts >= 0.4.0.10
189 %description ffserver
190 FFserver is a streaming server for both audio and video. It supports
191 several live feeds, streaming from files and time shifting on live
192 feeds (you can seek to positions in the past on each live feed,
193 provided you specify a big enough feed storage in ffserver.conf).
195 %description ffserver -l pl.UTF-8
196 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
197 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
198 czasie dla źródeł na żywo (można przeskakiwać na położenia w
199 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
200 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
203 %setup -q -n %{name}-export-%{_snap}
211 # - it's not autoconf configure
212 # - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
214 --prefix=%{_prefix} \
215 --libdir=%{_libdir} \
216 --shlibdir=%{_libdir} \
217 --mandir=%{_mandir} \
223 --enable-libfaadbin \
228 --enable-libmp3lame \
236 %ifnarch %{ix86} %{x8664}
247 --extra-cflags="%{rpmcflags}" \
248 --extra-ldflags="%{rpmldflags}" \
255 rm -rf $RPM_BUILD_ROOT
256 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
257 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
260 DESTDIR=$RPM_BUILD_ROOT
262 install config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
263 install libavformat/allformats.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
264 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
265 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
266 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
267 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
270 rm -rf $RPM_BUILD_ROOT
272 %post libs -p /sbin/ldconfig
273 %postun libs -p /sbin/ldconfig
276 %groupadd -g 167 ffserver
277 %useradd -g ffserver -u 167 ffserver
280 /sbin/chkconfig --add ffserver
281 %service ffserver restart
284 if [ "$1" = 0 ]; then
285 %service ffserver stop
286 /sbin/chkconfig --del ffserver
290 if [ "$1" = 0 ]; then
292 %groupremove ffserver
296 %defattr(644,root,root,755)
297 %doc Changelog README doc/*.html doc/TODO
298 %attr(755,root,root) %{_bindir}/ffmpeg
299 %{_mandir}/man1/ffmpeg.1*
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
304 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
305 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
306 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
307 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
308 %dir %{_libdir}/vhook
309 %attr(755,root,root) %{_libdir}/vhook/drawtext.so
310 %attr(755,root,root) %{_libdir}/vhook/fish.so
311 %attr(755,root,root) %{_libdir}/vhook/null.so
312 %attr(755,root,root) %{_libdir}/vhook/ppm.so
313 %attr(755,root,root) %{_libdir}/vhook/watermark.so
316 %defattr(644,root,root,755)
317 %doc doc/optimization.txt
318 %attr(755,root,root) %{_libdir}/libavcodec.so
319 %attr(755,root,root) %{_libdir}/libavformat.so
320 %attr(755,root,root) %{_libdir}/libavutil.so
321 %attr(755,root,root) %{_libdir}/libpostproc.so
322 %attr(755,root,root) %{_libdir}/libswscale.so
323 %{_includedir}/ffmpeg
324 %{_includedir}/postproc
325 %{_pkgconfigdir}/*.pc
328 %defattr(644,root,root,755)
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_bindir}/ffplay
334 %{_mandir}/man1/ffplay.1*
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/vhook/imlib2.so
343 %defattr(644,root,root,755)
344 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
345 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
346 %attr(755,root,root) %{_sbindir}/ffserver
347 %attr(754,root,root) /etc/rc.d/init.d/ffserver
348 %{_mandir}/man1/ffserver.1*
349 %dir %attr(770,root,ffserver) /var/cache/ffserver
350 %dir %attr(770,root,ffserver) /var/log/ffserver