]> git.pld-linux.org Git - packages/libav.git/commitdiff
- new, just in case (fork of ffmpeg, less powerful at first sight)
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 23 Dec 2012 20:56:52 +0000 (21:56 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Sun, 23 Dec 2012 20:56:52 +0000 (21:56 +0100)
avserver.conf [new file with mode: 0644]
avserver.init [new file with mode: 0755]
avserver.sysconfig [new file with mode: 0644]
libav-cdio-paranoia.patch [new file with mode: 0644]
libav-gsm.patch [new file with mode: 0644]
libav-opencv24.patch [new file with mode: 0644]
libav-openjpeg.patch [new file with mode: 0644]
libav.spec [new file with mode: 0644]

diff --git a/avserver.conf b/avserver.conf
new file mode 100644 (file)
index 0000000..16584d9
--- /dev/null
@@ -0,0 +1,349 @@
+# Port on which the server is listening. You must select a different
+# port from your standard HTTP web server if it is running on the same
+# computer.
+Port 8090
+
+# Address on which the server is bound. Only useful if you have
+# several network interfaces.
+BindAddress 0.0.0.0
+
+# Number of simultaneous requests that can be handled. Since FFServer
+# is very fast, it is more likely that you will want to leave this high
+# and use MaxBandwidth, below.
+MaxClients 1000
+
+# This the maximum amount of kbit/sec that you are prepared to
+# consume when streaming to clients.
+MaxBandwidth 1000
+
+# Access log file (uses standard Apache log file format)
+# '-' is the standard output.
+CustomLog /var/log/avserver/access.log
+
+# Suppress that if you want to launch avserver as a daemon.
+#NoDaemon
+
+
+##################################################################
+# Definition of the live feeds. Each live feed contains one video
+# and/or audio sequence coming from an ffmpeg encoder or another
+# avserver. This sequence may be encoded simultaneously with several
+# codecs at several resolutions.
+
+<Feed feed1.ffm>
+
+# You must use 'ffmpeg' to send a live feed to avserver. In this
+# example, you can type:
+#
+# ffmpeg http://localhost:8090/feed1.ffm
+
+# avserver can also do time shifting. It means that it can stream any
+# previously recorded live stream. The request should contain:
+# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
+# a path where the feed is stored on disk. You also specify the
+# maximum size of the feed, where zero means unlimited. Default:
+# File=/tmp/feed_name.ffm FileMaxSize=5M
+File /var/cache/avserver/feed1.ffm
+FileMaxSize 200K
+
+# You could specify
+# ReadOnlyFile /saved/specialvideo.ffm
+# This marks the file as readonly and it will not be deleted or updated.
+
+# Specify launch in order to start ffmpeg automatically.
+# First ffmpeg must be defined with an appropriate path if needed,
+# after that options can follow, but avoid adding the http:// field
+#Launch ffmpeg
+
+# Only allow connections from localhost to the feed.
+ACL allow 127.0.0.1
+
+</Feed>
+
+
+##################################################################
+# Now you can define each stream which will be generated from the
+# original audio and video stream. Each format has a filename (here
+# 'test1.mpg'). FFServer will send this stream when answering a
+# request containing this filename.
+
+<Stream test1.mpg>
+
+# coming from live feed 'feed1'
+Feed feed1.ffm
+
+# Format of the stream : you can choose among:
+# mpeg       : MPEG-1 multiplexed video and audio
+# mpegvideo  : only MPEG-1 video
+# mp2        : MPEG-2 audio (use AudioCodec to select layer 2 and 3 codec)
+# ogg        : Ogg format (Vorbis audio codec)
+# rm         : RealNetworks-compatible stream. Multiplexed audio and video.
+# ra         : RealNetworks-compatible stream. Audio only.
+# mpjpeg     : Multipart JPEG (works with Netscape without any plugin)
+# jpeg       : Generate a single JPEG image.
+# asf        : ASF compatible streaming (Windows Media Player format).
+# swf        : Macromedia Flash compatible stream
+# avi        : AVI format (MPEG-4 video, MPEG audio sound)
+# master     : special ffmpeg stream used to duplicate a server
+Format mpeg
+
+# Bitrate for the audio stream. Codecs usually support only a few
+# different bitrates.
+AudioBitRate 32
+
+# Number of audio channels: 1 = mono, 2 = stereo
+AudioChannels 1
+
+# Sampling frequency for audio. When using low bitrates, you should
+# lower this frequency to 22050 or 11025. The supported frequencies
+# depend on the selected audio codec.
+AudioSampleRate 44100
+
+# Bitrate for the video stream
+VideoBitRate 64
+
+# Ratecontrol buffer size
+VideoBufferSize 40
+
+# Number of frames per second
+VideoFrameRate 3
+
+# Size of the video frame: WxH (default: 160x128)
+# The following abbreviations are defined: sqcif, qcif, cif, 4cif
+VideoSize 160x128
+
+# Transmit only intra frames (useful for low bitrates, but kills frame rate).
+#VideoIntraOnly
+
+# If non-intra only, an intra frame is transmitted every VideoGopSize
+# frames. Video synchronization can only begin at an intra frame.
+VideoGopSize 12
+
+# More MPEG-4 parameters
+# VideoHighQuality
+# Video4MotionVector
+
+# Choose your codecs:
+#AudioCodec mp2
+#VideoCodec mpeg1video
+
+# Suppress audio
+#NoAudio
+
+# Suppress video
+#NoVideo
+
+#VideoQMin 3
+#VideoQMax 31
+
+# Set this to the number of seconds backwards in time to start. Note that
+# most players will buffer 5-10 seconds of video, and also you need to allow
+# for a keyframe to appear in the data stream.
+#Preroll 15
+
+# ACL:
+
+# You can allow ranges of addresses (or single addresses)
+#ACL ALLOW <first address> <last address>
+
+# You can deny ranges of addresses (or single addresses)
+#ACL DENY <first address> <last address>
+
+# You can repeat the ACL allow/deny as often as you like. It is on a per
+# stream basis. The first match defines the action. If there are no matches,
+# then the default is the inverse of the last ACL statement.
+#
+# Thus 'ACL allow localhost' only allows access from localhost.
+# 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and
+# allow everybody else.
+
+</Stream>
+
+
+##################################################################
+# Example streams
+
+
+# Multipart JPEG
+
+#<Stream test.mjpg>
+#Feed feed1.ffm
+#Format mpjpeg
+#VideoFrameRate 2
+#VideoIntraOnly
+#NoAudio
+#Strict -1
+#</Stream>
+
+
+# Single JPEG
+
+#<Stream test.jpg>
+#Feed feed1.ffm
+#Format jpeg
+#VideoFrameRate 2
+#VideoIntraOnly
+##VideoSize 352x240
+#NoAudio
+#Strict -1
+#</Stream>
+
+
+# Flash
+
+#<Stream test.swf>
+#Feed feed1.ffm
+#Format swf
+#VideoFrameRate 2
+#VideoIntraOnly
+#NoAudio
+#</Stream>
+
+
+# ASF compatible
+
+<Stream test.asf>
+Feed feed1.ffm
+Format asf
+VideoFrameRate 15
+VideoSize 352x240
+VideoBitRate 256
+VideoBufferSize 40
+VideoGopSize 30
+AudioBitRate 64
+StartSendOnKey
+</Stream>
+
+
+# MP3 audio
+
+#<Stream test.mp3>
+#Feed feed1.ffm
+#Format mp2
+#AudioCodec mp3
+#AudioBitRate 64
+#AudioChannels 1
+#AudioSampleRate 44100
+#NoVideo
+#</Stream>
+
+
+# Ogg Vorbis audio
+
+#<Stream test.ogg>
+#Feed feed1.ffm
+#Title "Stream title"
+#AudioBitRate 64
+#AudioChannels 2
+#AudioSampleRate 44100
+#NoVideo
+#</Stream>
+
+
+# Real with audio only at 32 kbits
+
+#<Stream test.ra>
+#Feed feed1.ffm
+#Format rm
+#AudioBitRate 32
+#NoVideo
+#NoAudio
+#</Stream>
+
+
+# Real with audio and video at 64 kbits
+
+#<Stream test.rm>
+#Feed feed1.ffm
+#Format rm
+#AudioBitRate 32
+#VideoBitRate 128
+#VideoFrameRate 25
+#VideoGopSize 25
+#NoAudio
+#</Stream>
+
+
+##################################################################
+# A stream coming from a file: you only need to set the input
+# filename and optionally a new format. Supported conversions:
+#    AVI -> ASF
+
+#<Stream file.rm>
+#File "/usr/local/httpd/htdocs/tlive.rm"
+#NoAudio
+#</Stream>
+
+#<Stream file.asf>
+#File "/usr/local/httpd/htdocs/test.asf"
+#NoAudio
+#Author "Me"
+#Copyright "Super MegaCorp"
+#Title "Test stream from disk"
+#Comment "Test comment"
+#</Stream>
+
+
+##################################################################
+# RTSP examples
+#
+# You can access this stream with the RTSP URL:
+#   rtsp://localhost:5454/test1-rtsp.mpg
+#
+# A non-standard RTSP redirector is also created. Its URL is:
+#   http://localhost:8090/test1-rtsp.rtsp
+
+#<Stream test1-rtsp.mpg>
+#Format rtp
+#File "/usr/local/httpd/htdocs/test1.mpg"
+#</Stream>
+
+
+##################################################################
+# SDP/multicast examples
+#
+# If you want to send your stream in multicast, you must set the
+# multicast address with MulticastAddress. The port and the TTL can
+# also be set.
+#
+# An SDP file is automatically generated by avserver by adding the
+# 'sdp' extension to the stream name (here
+# http://localhost:8090/test1-sdp.sdp). You should usually give this
+# file to your player to play the stream.
+#
+# The 'NoLoop' option can be used to avoid looping when the stream is
+# terminated.
+
+#<Stream test1-sdp.mpg>
+#Format rtp
+#File "/usr/local/httpd/htdocs/test1.mpg"
+#MulticastAddress 224.124.0.1
+#MulticastPort 5000
+#MulticastTTL 16
+#NoLoop
+#</Stream>
+
+
+##################################################################
+# Special streams
+
+# Server status
+
+<Stream stat.html>
+Format status
+
+# Only allow local people to get the status
+ACL allow localhost
+ACL allow 192.168.0.0 192.168.255.255
+
+#FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
+</Stream>
+
+
+# Redirect index.html to the appropriate site
+
+<Redirect index.html>
+URL http://ffmpeg.sourceforge.net/index.php
+</Redirect>
+
+
diff --git a/avserver.init b/avserver.init
new file mode 100755 (executable)
index 0000000..69e24b2
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/sh
+#
+# avserver     FFserver video server
+#
+# chkconfig:   345 40 60
+#
+# description: FFserver video server
+#
+# $Id$
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# Get network config
+. /etc/sysconfig/network
+
+# Get service config - may override defaults
+[ -f /etc/sysconfig/avserver ] && . /etc/sysconfig/avserver
+
+# Check that networking is up.
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+               msg_network_down avserver
+               exit 1
+       fi
+else
+       exit 0
+fi
+
+start() {
+       # Check if the service is already running?
+       if [ -f /var/lock/subsys/avserver ]; then
+               msg_already_running avserver
+               return
+       fi
+
+       msg_starting avserver
+       daemon --user ffserver /usr/sbin/avserver
+       RETVAL=$?
+       [ $RETVAL -eq 0 ] && touch /var/lock/subsys/avserver
+}
+
+stop() {
+       if [ ! -f /var/lock/subsys/avserver ]; then
+               msg_not_running avserver
+               return
+       fi
+
+       # Stop daemons.
+       msg_stopping avserver
+       killproc avserver
+       rm -f /var/lock/subsys/avserver
+}
+
+condrestart() {
+       if [ ! -f /var/lock/subsys/avserver ]; then
+               msg_not_running avserver
+               RETVAL=$1
+               return
+       fi
+
+       stop
+       start
+}
+
+# See how we were called.
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  restart)
+       stop
+       start
+       ;;
+  try-restart)
+       condrestart 0
+       ;;
+  force-reload)
+       condrestart 7
+       ;;
+  status)
+       status avserver
+       RETVAL=$?
+       ;;
+  *)
+       msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
+       exit 3
+esac
+
+exit $RETVAL
diff --git a/avserver.sysconfig b/avserver.sysconfig
new file mode 100644 (file)
index 0000000..79688f8
--- /dev/null
@@ -0,0 +1 @@
+# Customized settings for avserver
diff --git a/libav-cdio-paranoia.patch b/libav-cdio-paranoia.patch
new file mode 100644 (file)
index 0000000..48ecede
--- /dev/null
@@ -0,0 +1,24 @@
+--- ffmpeg-1.0.1/libavdevice/libcdio.c.orig    2012-12-03 22:17:35.000000000 +0100
++++ ffmpeg-1.0.1/libavdevice/libcdio.c 2012-12-06 19:03:32.695282861 +0100
+@@ -23,8 +23,8 @@
+  * libcdio CD grabbing
+  */
+-#include <cdio/cdda.h>
+-#include <cdio/paranoia.h>
++#include <cdio/paranoia/cdda.h>
++#include <cdio/paranoia/paranoia.h>
+ #include "libavutil/log.h"
+ #include "libavutil/mem.h"
+--- ffmpeg-1.0.1/configure.orig        2012-12-06 19:06:32.011945790 +0100
++++ ffmpeg-1.0.1/configure     2012-12-06 19:29:13.155250760 +0100
+@@ -3771,7 +3771,7 @@
+ enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio
+ enabled libcdio &&
+-    check_lib2 "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open "-lcdio_paranoia -lcdio_cdda -lcdio"
++    check_lib2 "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open "-lcdio_paranoia -lcdio_cdda -lcdio"
+ enabled x11grab                                           &&
+ require X11 X11/Xlib.h XOpenDisplay -lX11                 &&
diff --git a/libav-gsm.patch b/libav-gsm.patch
new file mode 100644 (file)
index 0000000..6f4bca3
--- /dev/null
@@ -0,0 +1,22 @@
+--- libav-0.8.4/configure.orig 2012-12-22 17:45:12.936567283 +0100
++++ libav-0.8.4/configure      2012-12-22 17:52:41.616557932 +0100
+@@ -2942,7 +2942,7 @@
+     "dirac_decoder_init dirac_encoder_init"
+ enabled libfaac    && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
+ enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
+-enabled libgsm     && require  libgsm gsm/gsm.h gsm_create -lgsm
++enabled libgsm     && require  libgsm gsm.h gsm_create -lgsm
+ enabled libmp3lame && require  "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame
+ enabled libnut     && require  libnut libnut.h nut_demuxer_init -lnut
+ enabled libopencore_amrnb  && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
+--- ffmpeg-0.10/libavcodec/libgsm.c.orig       2012-01-26 23:15:59.000000000 +0100
++++ ffmpeg-0.10/libavcodec/libgsm.c    2012-01-27 17:58:28.495275196 +0100
+@@ -27,7 +27,7 @@
+ // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html
+-#include <gsm/gsm.h>
++#include <gsm.h>
+ #include "avcodec.h"
+ #include "gsm.h"
diff --git a/libav-opencv24.patch b/libav-opencv24.patch
new file mode 100644 (file)
index 0000000..eb1d133
--- /dev/null
@@ -0,0 +1,11 @@
+--- libav-0.8.4/configure.orig 2012-12-22 17:53:05.373224102 +0100
++++ libav-0.8.4/configure      2012-12-22 17:58:36.386550536 +0100
+@@ -2947,7 +2947,7 @@
+ enabled libnut     && require  libnut libnut.h nut_demuxer_init -lnut
+ enabled libopencore_amrnb  && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
+ enabled libopencore_amrwb  && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
+-enabled libopencv  && require_pkg_config opencv opencv/cv.h cvCreateImageHeader
++enabled libopencv  && add_extralibs -lopencv_core -lopencv_features2d -lopencv_imgproc -lopencv_objdetect
+ enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg
+ enabled libpulse && require_pkg_config libpulse-simple pulse/simple.h pa_simple_new
+ enabled librtmp    && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
diff --git a/libav-openjpeg.patch b/libav-openjpeg.patch
new file mode 100644 (file)
index 0000000..c774eb1
--- /dev/null
@@ -0,0 +1,11 @@
+--- libav-0.8.4/configure.orig 2012-12-22 18:00:01.673215427 +0100
++++ libav-0.8.4/configure      2012-12-22 18:04:38.113209665 +0100
+@@ -2948,7 +2948,7 @@
+ enabled libopencore_amrnb  && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
+ enabled libopencore_amrwb  && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
+ enabled libopencv  && add_extralibs -lopencv_core -lopencv_features2d -lopencv_imgproc -lopencv_objdetect
+-enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg
++enabled libopenjpeg && require_pkg_config libopenjpeg openjpeg.h opj_version
+ enabled libpulse && require_pkg_config libpulse-simple pulse/simple.h pa_simple_new
+ enabled librtmp    && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
+ enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
diff --git a/libav.spec b/libav.spec
new file mode 100644 (file)
index 0000000..361a178
--- /dev/null
@@ -0,0 +1,499 @@
+# NOTE: don't send it to Th unless you resolve libraries (incl. sonames) conflict with ffmpeg
+# libav is a fork of ffmpeg; as of Dec 2012 they are not 100% compatible
+# (e.g. libav didn't drop some deprecated APIs); ffmpeg 1.0.x seems more powerful than libav 0.8.x.
+#
+# How to deal with ffmpeg/opencv checken-egg problem:
+#      1. make-request -r --without opencv ffmpeg.spec
+#      2. make-request -r opencv.spec
+#      3. bump release of ffmpeg.spec
+#      4. make-request -r ffmpeg.spec
+#
+# Conditional build:
+%bcond_with    nonfree         # non free options of package (currently: faac)
+%bcond_without frei0r          # frei0r video filtering
+%bcond_without opencv          # OpenCV video filtering
+%bcond_without pulseaudio      # PulseAudio input support
+%bcond_without x264            # x264 encoder
+%bcond_without va              # VAAPI (Video Acceleration API)
+%bcond_without vpx             # VP8, a high-quality video codec
+%bcond_without doc             # don't build docs
+
+Summary:       libav - Open Source audio and video processing tools
+Summary(pl.UTF-8):     libav - narzędzia do przetwarzania dźwięku i obrazu o otwartych źródłach
+Name:          libav
+Version:       0.8.4
+Release:       0.1
+# LGPL or GPL, chosen at configure time (GPL version is more featured)
+# (postprocessing, some filters, x264, xavs, xvid, x11grab)
+# using v3 allows Apache-licensed libs (opencore-amr, libvo-*enc)
+License:       GPL v3+ with LGPL v3+ parts
+Group:         Libraries
+Source0:       http://libav.org/releases/%{name}-%{version}.tar.xz
+# Source0-md5: 4634b35dec327f9aba61b3b894df03f7
+Source1:       avserver.init
+Source2:       avserver.sysconfig
+Source3:       avserver.conf
+Patch0:                %{name}-gsm.patch
+Patch1:                %{name}-opencv24.patch
+Patch2:                %{name}-openjpeg.patch
+Patch3:                %{name}-cdio-paranoia.patch
+URL:           http://libav.org/
+BuildRequires: SDL-devel >= 1.2.1
+BuildRequires: alsa-lib-devel
+BuildRequires: bzip2-devel
+%{?with_nonfree:BuildRequires: faac-devel}
+BuildRequires: freetype-devel
+%{?with_frei0r:BuildRequires:  frei0r-devel}
+%ifarch ppc
+# require version with altivec support fixed
+BuildRequires: gcc >= 5:3.3.2-3
+%endif
+BuildRequires: gnutls-devel
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: lame-libs-devel >= 3.98.3
+BuildRequires: libcdio-paranoia-devel >= 0.90-2
+BuildRequires: libdc1394-devel >= 2
+BuildRequires: libgsm-devel
+BuildRequires: libnut-devel
+BuildRequires: libraw1394-devel >= 2
+BuildRequires: librtmp-devel
+BuildRequires: libtheora-devel >= 1.0-0.beta3
+BuildRequires: libtool >= 2:1.4d-3
+%{?with_va:BuildRequires:      libva-devel >= 1.0.3}
+BuildRequires: libvdpau-devel >= 0.2
+BuildRequires: libvorbis-devel
+%{?with_vpx:BuildRequires:     libvpx-devel >= 0.9.1}
+# X264_BUILD >= 118
+%{?with_x264:BuildRequires:    libx264-devel >= 0.1.3-1.20111212_2245}
+%ifarch %{ix86}
+%ifnarch i386 i486
+BuildRequires: nasm
+%endif
+%endif
+BuildRequires: opencore-amr-devel
+%{?with_opencv:BuildRequires:  opencv-devel}
+BuildRequires: openjpeg-devel >= 1.5
+BuildRequires: perl-Encode
+BuildRequires: perl-tools-pod
+BuildRequires: pkgconfig
+%{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
+BuildRequires: rpmbuild(macros) >= 1.470
+BuildRequires: schroedinger-devel
+BuildRequires: speex-devel >= 1:1.2-rc1
+BuildRequires: tar >= 1:1.22
+%{?with_doc:BuildRequires:     tetex}
+%{?with_doc:BuildRequires:     texi2html}
+%{?with_doc:BuildRequires:     texinfo}
+BuildRequires: vo-aacenc-devel
+BuildRequires: vo-amrwbenc-devel
+BuildRequires: xavs-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXfixes-devel
+BuildRequires: xvid-devel >= 1:1.1.0
+BuildRequires: xz
+BuildRequires: yasm
+BuildRequires: zlib-devel
+Requires:      xvid >= 1:1.1.0
+Obsoletes:     libpostproc
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define                _noautoreqdep   libGL.so.1 libGLU.so.1
+
+%define                specflags       -fno-strict-aliasing
+
+# -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
+%define                specflags_ia32  -fomit-frame-pointer
+# -mmmx is needed to enable <mmintrin.h> code.
+%define                specflags_i586  -mmmx
+%define                specflags_i686  -mmmx
+%define                specflags_ppc   -fPIC
+
+%description
+Libav provides cross-platform tools and libraries to convert,
+manipulate and stream a wide range of multimedia formats and
+protocols.
+
+%description -l pl.UTF-8
+Projekt libav udostępnia wieloplatformowe narzędzia i biblioteki do
+konwersji, modyfikowania oraz nadawania strumieni przy użyciu
+szerokiego zakresu formatów i protokołów multimedialnych.
+
+%package devel
+Summary:       libav header files
+Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek libav
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+# Libs.private from *.pc (unreasonably they are all the same)
+Requires:      SDL-devel >= 1.2.1
+Requires:      alsa-lib-devel
+Requires:      bzip2-devel
+%{?with_nonfree:Requires:      faac-devel}
+Requires:      freetype-devel
+Requires:      jack-audio-connection-kit-devel
+Requires:      lame-libs-devel >= 3.98.3
+Requires:      libcdio-paranoia-devel >= 0.90-2
+Requires:      libdc1394-devel >= 2
+Requires:      libgsm-devel
+Requires:      libnut-devel
+Requires:      libraw1394-devel >= 2
+Requires:      librtmp-devel
+Requires:      libtheora-devel >= 1.0-0.beta3
+%{?with_va:Requires:   libva-devel >= 1.0.3}
+Requires:      libvorbis-devel
+%{?with_vpx:Requires:  libvpx-devel >= 0.9.1}
+%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
+Requires:      opencore-amr-devel
+%{?with_opencv:Requires:       opencv-devel}
+Requires:      openjpeg-devel >= 1.5
+Requires:      schroedinger-devel
+Requires:      speex-devel >= 1:1.2-rc1
+Requires:      vo-aacenc-devel
+Requires:      vo-amrwbenc-devel
+Requires:      xavs-devel
+Requires:      xorg-lib-libXext-devel
+Requires:      xorg-lib-libXfixes-devel
+Requires:      xvid-devel >= 1:1.1.0
+Requires:      zlib-devel
+Obsoletes:     libpostproc-devel
+
+%description devel
+libav header files.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek libav.
+
+%package static
+Summary:       libav static libraries
+Summary(pl.UTF-8):     Statyczne biblioteki libav
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+libav static libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki libav.
+
+%package tools
+Summary:       libav video and audio conversion tools
+Summary(pl.UTF-8):     Narzędzia libav do konwersji obrazu i dźwięku
+Group:         Applications/Multimedia
+Requires:      %{name} = %{version}-%{release}
+
+%description tools
+libav command line tools to convert one video file format to another.
+
+%description tools -l pl.UTF-8
+Narzędzia linii poleceń libav do konwersji filmów z jednego formatu do
+innego.
+
+%package avplay
+Summary:       avplay - SDL-based media player
+Summary(pl.UTF-8):     avplay - odtwarzacz mediów oparty na SDL
+Group:         Applications/Multimedia
+Requires:      %{name} = %{version}-%{release}
+
+%description avplay
+avplay is a very simple and portable media player using the libav
+libraries and the SDL library. It is mostly used as a test bench for
+the various APIs of libav.
+
+%description avplay -l pl.UTF-8
+avplay to bardzo prosty i przenośny odtwarzacz mediów używający
+bibliotek libav oraz biblioteki SDL. Jest używany głównie do
+testowania różnych API libav.
+
+%package avserver
+Summary:       avserver video server
+Summary(pl.UTF-8):     avserver - serwer strumieni obrazu
+Group:         Daemons
+Requires(post,preun):  /sbin/chkconfig
+Requires:      %{name} = %{version}-%{release}
+Requires:      rc-scripts >= 0.4.0.10
+
+%description avserver
+avserver is a streaming server for both audio and video. It supports
+several live feeds, streaming from files and time shifting on live
+feeds (you can seek to positions in the past on each live feed,
+provided you specify a big enough feed storage in avserver.conf).
+
+%description avserver -l pl.UTF-8
+avserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
+źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
+czasie dla źródeł na żywo (można przeskakiwać na położenia w
+przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
+dużej przestrzeni na dane skonfigurowanej w avserver.conf).
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+
+# package the grep result for mplayer, the result formatted as ./mplayer/configure
+cat <<EOF > libav-avconfig
+#! /bin/sh
+_libavdecoders_all="`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
+_libavencoders_all="`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
+_libavparsers_all="`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
+_libavbsfs_all="`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
+_libavdemuxers_all="`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
+_libavmuxers_all="`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
+_libavprotocols_all="`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
+EOF
+cat <<'EOF' >> libav-avconfig
+
+case "$1" in
+--decoders)
+       echo $_libavdecoders_all
+       ;;
+--encoders)
+       echo $_libavencoders_all
+       ;;
+--parsers)
+       echo $_libavparsers_all
+       ;;
+--bsfs)
+       echo $_libavbsfs_all
+       ;;
+--demuxers)
+       echo $_libavdemuxers_all
+       ;;
+--muxers)
+       echo $_libavmuxers_all
+       ;;
+--protocols)
+       echo $_libavprotocols_all
+       ;;
+*)
+       cat <<USAGE
+Usage: $0 [OPTION]
+Options:
+  --decoders
+  --encoders
+  --parsers
+  --bsfs
+  --demuxers
+  --muxers
+  --protocols
+USAGE
+       exit 1;;
+esac
+
+exit 0
+EOF
+
+%build
+# notes:
+# - it's not autoconf configure
+# - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
+# - dirac is not enabled (Dirac is supported via schroedinger, dropped in ffmpeg)
+# - openssl is not enabled (gnutls is instead)
+./configure \
+       --arch=%{_target_base_arch} \
+       --prefix=%{_prefix} \
+       --libdir=%{_libdir} \
+       --shlibdir=%{_libdir} \
+       --mandir=%{_mandir} \
+       --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}" \
+       --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
+       --cc="%{__cc}" \
+       --disable-debug \
+       --disable-optimizations \
+       --enable-avfilter \
+       --enable-gnutls \
+       --enable-gpl \
+       --enable-version3 \
+       %{?with_frei0r:--enable-frei0r} \
+       --enable-libcdio \
+       --enable-libdc1394 \
+       --enable-libfreetype \
+       --enable-libgsm \
+       --enable-libmp3lame \
+       --enable-libnut \
+       --enable-libopencore-amrnb \
+       --enable-libopencore-amrwb \
+       %{?with_opencv:--enable-libopencv} \
+       --enable-libopenjpeg \
+       %{?with_pulseaudio:--enable-libpulse} \
+       --enable-librtmp \
+       --enable-libschroedinger \
+       --enable-libspeex \
+       --enable-libtheora \
+       --enable-libvo-aacenc \
+       --enable-libvo-amrwbenc \
+       --enable-libvorbis \
+       %{?with_vpx:--enable-libvpx} \
+       %{?with_x264:--enable-libx264} \
+       --enable-libxavs \
+       --enable-libxvid \
+       --enable-postproc \
+       --enable-pthreads \
+       --enable-shared \
+       --enable-swscale \
+       %{?with_va:--enable-vaapi} \
+       --enable-vdpau \
+       --enable-x11grab \
+%ifnarch %{ix86} %{x8664}
+       --disable-mmx \
+%endif
+%ifarch i386 i486
+       --disable-mmx \
+%endif
+%if %{with nonfree}
+       --enable-nonfree \
+       --enable-libfaac \
+%endif
+       --enable-runtime-cpudetect
+
+# force oldscaler build
+%{__sed} -i -e 's|#define.*CONFIG_OLDSCALER.*0|#define CONFIG_OLDSCALER 1|g' config.h
+
+%{__make} \
+       V=1
+
+# CC_O to add -c to commandline. makefile should be patched
+%{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
+       $RPM_BUILD_ROOT%{_includedir}/libav \
+       $RPM_BUILD_ROOT/var/{cache,log}/avserver
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       V=1
+
+cp -a config.h $RPM_BUILD_ROOT%{_includedir}/libav
+cp -a libavutil/intreadwrite.h $RPM_BUILD_ROOT%{_includedir}/libavutil
+cp -a libavutil/bswap.h $RPM_BUILD_ROOT%{_includedir}/libavutil
+cp -a libavutil/common.h $RPM_BUILD_ROOT%{_includedir}/libavutil
+cp -a libavutil/mem.h $RPM_BUILD_ROOT%{_includedir}/libavutil
+for a in libavutil/*/bswap.h; do
+       install -D $a $RPM_BUILD_ROOT%{_includedir}/$a
+done
+cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
+cp -a libavformat/avio.h $RPM_BUILD_ROOT%{_includedir}/libavformat
+# for lim-omx ffmpeg components
+cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
+
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/avserver
+cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/avserver
+cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/avserver.conf
+mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/avserver
+install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}/avqt-faststart
+
+# install as libav-avconfig to avoid with possible programs looking for
+# libav-config and expecting --libs output from it which is not implemented
+# simple to do (by querying pkgconfig), but why?
+install -p libav-avconfig $RPM_BUILD_ROOT%{_bindir}/libav-avconfig
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
+%pre avserver
+%groupadd -g 167 ffserver
+%useradd -g ffserver -u 167 ffserver
+
+%post avserver
+/sbin/chkconfig --add avserver
+%service avserver restart
+
+%preun avserver
+if [ "$1" = 0 ]; then
+       %service avserver stop
+       /sbin/chkconfig --del avserver
+fi
+
+%postun avserver
+if [ "$1" = 0 ]; then
+       %userremove ffserver
+       %groupremove ffserver
+fi
+
+%files
+%defattr(644,root,root,755)
+%doc CREDITS Changelog LICENSE README doc/{APIchanges,RELEASE_NOTES} %{?with_doc:doc/*.html}
+%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.53
+%attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.53
+%attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.2
+%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.53
+%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavutil.so.51
+%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52
+%attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
+
+%files devel
+%defattr(644,root,root,755)
+%doc doc/optimization.txt
+%attr(755,root,root) %{_bindir}/libav-avconfig
+%attr(755,root,root) %{_libdir}/libavcodec.so
+%attr(755,root,root) %{_libdir}/libavdevice.so
+%attr(755,root,root) %{_libdir}/libavfilter.so
+%attr(755,root,root) %{_libdir}/libavformat.so
+%attr(755,root,root) %{_libdir}/libavutil.so
+%attr(755,root,root) %{_libdir}/libpostproc.so
+%attr(755,root,root) %{_libdir}/libswscale.so
+%{_includedir}/libav
+%{_includedir}/libavcodec
+%{_includedir}/libavdevice
+%{_includedir}/libavfilter
+%{_includedir}/libavformat
+%{_includedir}/libavutil
+%{_includedir}/libpostproc
+%{_includedir}/libswscale
+%{_pkgconfigdir}/libavcodec.pc
+%{_pkgconfigdir}/libavdevice.pc
+%{_pkgconfigdir}/libavfilter.pc
+%{_pkgconfigdir}/libavformat.pc
+%{_pkgconfigdir}/libavutil.pc
+%{_pkgconfigdir}/libpostproc.pc
+%{_pkgconfigdir}/libswscale.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libavcodec.a
+%{_libdir}/libavdevice.a
+%{_libdir}/libavfilter.a
+%{_libdir}/libavformat.a
+%{_libdir}/libavutil.a
+%{_libdir}/libpostproc.a
+%{_libdir}/libswscale.a
+
+%files tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/avconv
+%attr(755,root,root) %{_bindir}/avprobe
+%attr(755,root,root) %{_bindir}/avqt-faststart
+%attr(755,root,root) %{_bindir}/ffmpeg
+%dir %{_datadir}/avconv
+%{_datadir}/avconv/*.avpreset
+%{?with_doc:%{_mandir}/man1/avconv.1*}
+%{?with_doc:%{_mandir}/man1/avprobe.1*}
+%{?with_doc:%{_mandir}/man1/ffmpeg.1*}
+
+%files avplay
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/avplay
+%{?with_doc:%{_mandir}/man1/avplay.1*}
+
+%files avserver
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avserver.conf
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/avserver
+%attr(755,root,root) %{_sbindir}/avserver
+%attr(754,root,root) /etc/rc.d/init.d/avserver
+%{?with_doc:%{_mandir}/man1/avserver.1*}
+%dir %attr(770,root,ffserver) /var/cache/avserver
+%dir %attr(770,root,ffserver) /var/log/avserver
This page took 0.105687 seconds and 4 git commands to generate.