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-10-06
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: ab58844fb7047fbf44339a53e845b4ef
24 Source1: ffserver.init
25 Source2: ffserver.sysconfig
26 Source3: ffserver.conf
27 Patch0: %{name}-gcc4.patch
28 Patch1: %{name}-img_convert_symbol.patch
29 Patch2: %{name}-a52bin.patch
30 URL: http://ffmpeg.mplayerhq.hu/
31 BuildRequires: SDL-devel
32 BuildRequires: a52dec-libs-devel
34 BuildRequires: amrnb-devel >= 6.1.0.4
35 BuildRequires: amrwb-devel >= 7.0.0.1
37 BuildRequires: faac-devel
38 BuildRequires: faad2-devel
39 BuildRequires: freetype-devel
41 # require version with altivec support fixed
42 BuildRequires: gcc >= 5:3.3.2-3
44 %{?with_imlib2:BuildRequires: imlib2-devel >= 1.3.0}
45 BuildRequires: lame-libs-devel
46 BuildRequires: libgsm-devel
47 BuildRequires: libogg-devel
48 BuildRequires: libraw1394-devel
49 BuildRequires: libtheora-devel >= 1.0-0.alpha7
50 BuildRequires: libtool >= 2:1.4d-3
51 BuildRequires: libvorbis-devel
52 BuildRequires: libx264-devel >= 0.1.2-1.20061024_2245.1
58 BuildRequires: perl-tools-pod
59 BuildRequires: rpmbuild(macros) >= 1.268
61 BuildRequires: texinfo
62 %{?with_amr:BuildRequires: unzip}
63 BuildRequires: xvid-devel >= 1:1.1.0
64 BuildRequires: zlib-devel
65 %{?with_autoreqdep:BuildConflicts: libpostproc}
66 Requires: %{name}-libs = %{version}-%{release}
67 Requires: xvid >= 1:1.1.0
68 Obsoletes: libpostproc
69 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 %define _noautoreqdep libGL.so.1 libGLU.so.1
73 %define specflags -fno-strict-aliasing
75 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
76 %define specflags_ia32 -fomit-frame-pointer
77 # -mmmx is needed to enable <mmintrin.h> code.
78 %define specflags_i586 -mmmx
79 %define specflags_i686 -mmmx
82 ffmpeg is a hyper fast realtime audio/video encoder and streaming
83 server. It can grab from a standard Video4Linux video source and
84 convert it into several file formats based on DCT/motion compensation
85 encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
88 %description -l pl.UTF-8
89 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
90 oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucać dane
91 ze standardowego urządzenia Video4Linux i przekonwertować je w kilka
92 formatów plików bazujących na kodowaniu DCT/kompensacji ruchu. Dźwięk
93 jest kompresowany do strumienia MPEG audio layer 2 lub używając
94 strumienia kompatybilnego z AC3.
97 Summary: ffmpeg libraries
98 Summary(pl.UTF-8): Biblioteki ffmpeg
102 This package contains ffmpeg shared libraries.
104 %description libs -l pl.UTF-8
105 Ten pakiet zawiera biblioteki współdzielone ffmpeg.
108 Summary: ffmpeg header files
109 Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
110 Group: Development/Libraries
111 Requires: %{name}-libs = %{version}-%{release}
114 Requires: amrnb-devel
115 Requires: amrwb-devel >= 5.3.0
118 Requires: faad2-devel
119 Requires: lame-libs-devel
120 Requires: libgsm-devel
121 Requires: libtheora-devel >= 1.0-0.alpha7
122 Requires: libvorbis-devel
123 Requires: libx264-devel >= 0.1.2-1.20060828_2245.1
124 Requires: xvid-devel >= 1:1.1.0
126 Obsoletes: libpostproc-devel
131 %description devel -l pl.UTF-8
132 Pliki nagłówkowe ffmpeg.
135 Summary: ffmpeg static libraries
136 Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
137 Group: Development/Libraries
138 Requires: %{name}-devel = %{version}-%{release}
141 ffmpeg static libraries (libavcodec and libavformat).
143 %description static -l pl.UTF-8
144 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
147 Summary: FFplay - SDL-based media player
148 Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
149 Group: Applications/Multimedia
150 Requires: %{name}-libs = %{version}-%{release}
153 FFplay is a very simple and portable media player using the FFmpeg
154 libraries and the SDL library. It is mostly used as a test bench for
155 the various APIs of FFmpeg.
157 %description ffplay -l pl.UTF-8
158 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
159 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
160 testowania różnych API FFmpeg.
162 %package vhook-imlib2
163 Summary: imlib2 based hook
164 Summary(pl.UTF-8): Moduł przejściowy oparty o imlib2
166 Requires: %{name}-libs = %{version}-%{release}
168 %description vhook-imlib2
169 This module implements a text overlay for a video image. Currently it
170 supports a fixed overlay or reading the text from a file. The string
171 is passed through strftime so that it is easy to imprint the date and
174 %description vhook-imlib2 -l pl.UTF-8
175 Ten moduł implementuje tekstową nakładkę dla obrazu. Aktualnie
176 obsługuje stałą nakładkę lub wczytywanie tekstu z pliku. Łańcuch jest
177 przepuszczany przez strftime, więc łatwo umieścić datę i czas na
181 Summary: FFserver video server
182 Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
184 Requires(post,preun): /sbin/chkconfig
185 Requires: %{name}-libs = %{version}-%{release}
186 Requires: rc-scripts >= 0.4.0.10
188 %description ffserver
189 FFserver is a streaming server for both audio and video. It supports
190 several live feeds, streaming from files and time shifting on live
191 feeds (you can seek to positions in the past on each live feed,
192 provided you specify a big enough feed storage in ffserver.conf).
194 %description ffserver -l pl.UTF-8
195 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
196 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
197 czasie dla źródeł na żywo (można przeskakiwać na położenia w
198 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
199 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
202 %setup -q -n %{name}-export-%{_snap}
209 # - it's not autoconf configure
210 # - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
212 --arch=%{_target_base_arch} \
213 --prefix=%{_prefix} \
214 --libdir=%{_libdir} \
215 --shlibdir=%{_libdir} \
216 --mandir=%{_mandir} \
222 --enable-libfaadbin \
227 --enable-libmp3lame \
235 %ifnarch %{ix86} %{x8664}
246 --extra-cflags="%{rpmcflags}" \
247 --extra-ldflags="%{rpmldflags}" \
254 rm -rf $RPM_BUILD_ROOT
255 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
256 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
259 DESTDIR=$RPM_BUILD_ROOT
261 install config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
262 install libavutil/intreadwrite.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
263 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
264 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
265 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
266 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
269 rm -rf $RPM_BUILD_ROOT
271 %post libs -p /sbin/ldconfig
272 %postun libs -p /sbin/ldconfig
275 %groupadd -g 167 ffserver
276 %useradd -g ffserver -u 167 ffserver
279 /sbin/chkconfig --add ffserver
280 %service ffserver restart
283 if [ "$1" = 0 ]; then
284 %service ffserver stop
285 /sbin/chkconfig --del ffserver
289 if [ "$1" = 0 ]; then
291 %groupremove ffserver
295 %defattr(644,root,root,755)
296 %doc Changelog README doc/*.html doc/TODO
297 %attr(755,root,root) %{_bindir}/ffmpeg
298 %{_mandir}/man1/ffmpeg.1*
301 %defattr(644,root,root,755)
302 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
303 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
304 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
305 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
306 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
307 %dir %{_libdir}/vhook
308 %attr(755,root,root) %{_libdir}/vhook/drawtext.so
309 %attr(755,root,root) %{_libdir}/vhook/fish.so
310 %attr(755,root,root) %{_libdir}/vhook/null.so
311 %attr(755,root,root) %{_libdir}/vhook/ppm.so
312 %attr(755,root,root) %{_libdir}/vhook/watermark.so
315 %defattr(644,root,root,755)
316 %doc doc/optimization.txt
317 %attr(755,root,root) %{_libdir}/libavcodec.so
318 %attr(755,root,root) %{_libdir}/libavformat.so
319 %attr(755,root,root) %{_libdir}/libavutil.so
320 %attr(755,root,root) %{_libdir}/libpostproc.so
321 %attr(755,root,root) %{_libdir}/libswscale.so
322 %{_includedir}/ffmpeg
323 %{_includedir}/postproc
324 %{_pkgconfigdir}/*.pc
327 %defattr(644,root,root,755)
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_bindir}/ffplay
333 %{_mandir}/man1/ffplay.1*
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_libdir}/vhook/imlib2.so
342 %defattr(644,root,root,755)
343 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
344 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
345 %attr(755,root,root) %{_sbindir}/ffserver
346 %attr(754,root,root) /etc/rc.d/init.d/ffserver
347 %{_mandir}/man1/ffserver.1*
348 %dir %attr(770,root,ffserver) /var/cache/ffserver
349 %dir %attr(770,root,ffserver) /var/log/ffserver