Build video enc env
From M1Research
(→ogg) |
|||
Line 22: | Line 22: | ||
</pre> | </pre> | ||
- | == vorbis == | + | === vorbis === |
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format [http://www.xiph.org/vorbis/ http://www.xiph.org/vorbis/] | Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format [http://www.xiph.org/vorbis/ http://www.xiph.org/vorbis/] | ||
<pre> | <pre> | ||
Line 32: | Line 32: | ||
</pre> | </pre> | ||
- | == theora == | + | === theora === |
Video codec [http://theora.org/ http://theora.org/] | Video codec [http://theora.org/ http://theora.org/] | ||
# | # | ||
Line 41: | Line 41: | ||
cd .. | cd .. | ||
- | == flac == | + | === flac === |
Free Lossless Audio Codec [http://flac.sourceforge.net/ http://flac.sourceforge.net/] | Free Lossless Audio Codec [http://flac.sourceforge.net/ http://flac.sourceforge.net/] | ||
<pre> | <pre> | ||
Line 51: | Line 51: | ||
</pre> | </pre> | ||
- | == speex == | + | === speex === |
Speex is an Open Source/Free Software patent-free audio compression format designed for speech. The Speex Project aims to lower the barrier of entry for voice applications by providing a free alternative to expensive proprietary speech codecs. Moreover, Speex is well-adapted to Internet applications and provides useful features that are not present in most other codecs. Finally, Speex is part of the GNU Project and is available under the Xiph.org variant of the BSD license. [http://speex.org/ http://speex.org/] | Speex is an Open Source/Free Software patent-free audio compression format designed for speech. The Speex Project aims to lower the barrier of entry for voice applications by providing a free alternative to expensive proprietary speech codecs. Moreover, Speex is well-adapted to Internet applications and provides useful features that are not present in most other codecs. Finally, Speex is part of the GNU Project and is available under the Xiph.org variant of the BSD license. [http://speex.org/ http://speex.org/] | ||
<pre> | <pre> | ||
Line 61: | Line 61: | ||
</pre> | </pre> | ||
- | == faad2 == | + | === faad2 === |
AAC decoder library [http://www.audiocoding.com/modules/mydownloads/ | http://www.audiocoding.com/modules/mydownloads/] | AAC decoder library [http://www.audiocoding.com/modules/mydownloads/ | http://www.audiocoding.com/modules/mydownloads/] | ||
FC4,FC5 required patch for compiling package faad2.mp4ff_track_add.patch | FC4,FC5 required patch for compiling package faad2.mp4ff_track_add.patch | ||
Line 78: | Line 78: | ||
</pre> | </pre> | ||
- | == faac == | + | === faac === |
AAC endecoder library [http://www.audiocoding.com/modules/mydownloads/ | http://www.audiocoding.com/modules/mydownloads/] | AAC endecoder library [http://www.audiocoding.com/modules/mydownloads/ | http://www.audiocoding.com/modules/mydownloads/] | ||
<pre> | <pre> | ||
Line 89: | Line 89: | ||
</pre> | </pre> | ||
- | == xvidcore == | + | === xvidcore === |
XviD is an ISO MPEG-4 compliant video codec, so designed to compress/decompress digital video. It's a open source project, which is developed and maintained by a handful of skilled and interested engineers from all over the world. [http://www.xvid.org/ http://www.xvid.org/] | XviD is an ISO MPEG-4 compliant video codec, so designed to compress/decompress digital video. It's a open source project, which is developed and maintained by a handful of skilled and interested engineers from all over the world. [http://www.xvid.org/ http://www.xvid.org/] | ||
<pre> | <pre> | ||
Line 100: | Line 100: | ||
</pre> | </pre> | ||
- | == x264 == | + | === x264 === |
x264 - a free h264/avc encoder [http://developers.videolan.org/x264.html http://developers.videolan.org/x264.html] | x264 - a free h264/avc encoder [http://developers.videolan.org/x264.html http://developers.videolan.org/x264.html] | ||
<pre> | <pre> | ||
Line 110: | Line 110: | ||
</pre> | </pre> | ||
- | == a52dec == | + | === a52dec === |
liba52 - a free ATSC A/52 stream decoder [http://liba52.sourceforge.net/ http://liba52.sourceforge.net/] | liba52 - a free ATSC A/52 stream decoder [http://liba52.sourceforge.net/ http://liba52.sourceforge.net/] | ||
<pre> | <pre> | ||
Line 119: | Line 119: | ||
</pre> | </pre> | ||
- | == libdv == | + | === libdv === |
Quasar DV Codec: libdv [http://libdv.sourceforge.net/] | Quasar DV Codec: libdv [http://libdv.sourceforge.net/] | ||
<pre> | <pre> | ||
Line 129: | Line 129: | ||
</pre> | </pre> | ||
- | == libraw1394 == | + | === libraw1394 === |
The Linux kernel's IEEE 1394 subsystem provides access to the raw 1394 bus through the raw1394 module. [ http://www.linux1394.org/ http://www.linux1394.org/] | The Linux kernel's IEEE 1394 subsystem provides access to the raw 1394 bus through the raw1394 module. [ http://www.linux1394.org/ http://www.linux1394.org/] | ||
<pre> | <pre> | ||
Line 139: | Line 139: | ||
</pre> | </pre> | ||
- | == libdc1394 == | + | === libdc1394 === |
libdc1394 is a library that is intended to provide a high level programming interface for application developers who wish to control IEEE 1394 based cameras that conform to the 1394-based Digital Camera Specification [http://sourceforge.net/projects/libdc1394 http://sourceforge.net/projects/libdc1394] | libdc1394 is a library that is intended to provide a high level programming interface for application developers who wish to control IEEE 1394 based cameras that conform to the 1394-based Digital Camera Specification [http://sourceforge.net/projects/libdc1394 http://sourceforge.net/projects/libdc1394] | ||
<pre> | <pre> | ||
Line 152: | Line 152: | ||
</pre> | </pre> | ||
- | == libavc1394 == | + | === libavc1394 === |
libavc1394 is a programming interface for the 1394 Trade Association AV/C (Audio/Video Control) Digital Interface Command Set. [http://sourceforge.net/projects/libavc1394/ | http://sourceforge.net/projects/libavc1394/] | libavc1394 is a programming interface for the 1394 Trade Association AV/C (Audio/Video Control) Digital Interface Command Set. [http://sourceforge.net/projects/libavc1394/ | http://sourceforge.net/projects/libavc1394/] | ||
<pre> | <pre> | ||
Line 164: | Line 164: | ||
</pre> | </pre> | ||
- | == ffmpeg == | + | === ffmpeg === |
FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. [http://ffmpeg.mplayerhq.hu/ http://ffmpeg.mplayerhq.hu/] | FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. [http://ffmpeg.mplayerhq.hu/ http://ffmpeg.mplayerhq.hu/] | ||
Line 216: | Line 216: | ||
</pre> | </pre> | ||
- | == live555 == | + | === live555 === |
LIVE555 Streaming Media (rtsp, rtp support) [ http://live555.com/liveMedia/ http://live555.com/liveMedia/] | LIVE555 Streaming Media (rtsp, rtp support) [ http://live555.com/liveMedia/ http://live555.com/liveMedia/] | ||
<pre> | <pre> | ||
Line 226: | Line 226: | ||
</pre> | </pre> | ||
- | == libmad == | + | === libmad === |
A high-quality MPEG audio decoder. [http://freshmeat.net/projects/libmad/ http://freshmeat.net/projects/libmad/] | A high-quality MPEG audio decoder. [http://freshmeat.net/projects/libmad/ http://freshmeat.net/projects/libmad/] | ||
<pre> | <pre> | ||
Line 236: | Line 236: | ||
</pre> | </pre> | ||
- | == libmpeg2 == | + | === libmpeg2 === |
libmpeg2 - a free MPEG-2 video stream decoder. [http://libmpeg2.sourceforge.net/ http://libmpeg2.sourceforge.net/] | libmpeg2 - a free MPEG-2 video stream decoder. [http://libmpeg2.sourceforge.net/ http://libmpeg2.sourceforge.net/] | ||
<pre> | <pre> | ||
Line 247: | Line 247: | ||
</pre> | </pre> | ||
- | == fribidi == | + | === fribidi === |
GNU FriBidi is an implementation of the [WWW]Unicode Bidirectional Algorithm (bidi). [http://fribidi.org/wiki/ | http://fribidi.org/wiki/] | GNU FriBidi is an implementation of the [WWW]Unicode Bidirectional Algorithm (bidi). [http://fribidi.org/wiki/ | http://fribidi.org/wiki/] | ||
<pre> | <pre> | ||
Line 257: | Line 257: | ||
</pre> | </pre> | ||
- | == VLC == | + | === VLC === |
VLC - the cross-platform media player and streaming server. [http://www.videolan.org/vlc/ http://www.videolan.org/vlc/ ] | VLC - the cross-platform media player and streaming server. [http://www.videolan.org/vlc/ http://www.videolan.org/vlc/ ] | ||
Line 285: | Line 285: | ||
</pre> | </pre> | ||
- | == MPEG4IP == | + | === MPEG4IP === |
MPEG4IP: Open Source, Open Standards, Open Streaming. [http://www.mpeg4ip.net/ http://www.mpeg4ip.net/] | MPEG4IP: Open Source, Open Standards, Open Streaming. [http://www.mpeg4ip.net/ http://www.mpeg4ip.net/] | ||
Alsa support propre linking require patch mpeg4ip.alsa_linking_fix.patch: | Alsa support propre linking require patch mpeg4ip.alsa_linking_fix.patch: |
Revision as of 14:20, 25 June 2006
Contents |
System prerequisites
Software building
lame
An MP3 encoder and graphical frame analyzer. http://freshmeat.net/projects/lame/
gzip -cd lame-3.97b2.tar.gz | tar xvf - cd lame-3.97 ./configure --prefix=/usr/local/enctools make; make install cd ..
ogg
Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. As with all Xiph.org technology is it an open format free for anyone to use. [ http://www.xiph.org/ogg/ http://www.xiph.org/ogg/]
gzip -cd libogg-1.1.3.tar.gz | tar xvf - cd libogg-1.1.3 ./configure --prefix=/usr/local/enctools make ; make install cd ..
vorbis
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format http://www.xiph.org/vorbis/
gzip -cd libvorbis-1.1.2.tar.gz | tar xvf - cd libvorbis-1.1.2 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/enctools/lib ./configure --prefix=/usr/local/enctools make ; make install cd ..
theora
Video codec http://theora.org/
gzip -cd libtheora-1.0alpha6.tar.gz | tar xvf - cd libtheora-1.0alpha6 ./configure --prefix=/usr/local/enctools --with-ogg=/usr/local/enctools --with-vorbis=/usr/local/enctools make ; make install cd ..
flac
Free Lossless Audio Codec http://flac.sourceforge.net/
gzip -cd flac-1.1.2.tar.gz | tar xvf - cd flac-1.1.2 ./configure --prefix=/usr/local/enctools --with-ogg=/usr/local/enctools make ; make install cd ..
speex
Speex is an Open Source/Free Software patent-free audio compression format designed for speech. The Speex Project aims to lower the barrier of entry for voice applications by providing a free alternative to expensive proprietary speech codecs. Moreover, Speex is well-adapted to Internet applications and provides useful features that are not present in most other codecs. Finally, Speex is part of the GNU Project and is available under the Xiph.org variant of the BSD license. http://speex.org/
gzip -cd speex-1.0.5.tar.gz | tar xvf - cd speex-1.0.5 ./configure --prefix=/usr/local/enctools --with-ogg-dir=/usr/local/enctools make ; make install cd ..
faad2
AAC decoder library | http://www.audiocoding.com/modules/mydownloads/ FC4,FC5 required patch for compiling package faad2.mp4ff_track_add.patch
Compilation process:
mkdir faad2 cd faad2 gzip -cd ../faad2-15092004.tar.gz | tar xvf - patch -p1 < ../faad2.mp4ff_track_add.patch autoreconf -vif ./configure --prefix=/usr/local/enctools --with-mp4v2 make ; make install cd ..
faac
AAC endecoder library | http://www.audiocoding.com/modules/mydownloads/
gzip -cd faac-18102004.tar.gz | tar xvf - cd faac autoreconf -vif ./configure --prefix=/usr/local/enctools --with-mp4v2 make ; make install cd ..
xvidcore
XviD is an ISO MPEG-4 compliant video codec, so designed to compress/decompress digital video. It's a open source project, which is developed and maintained by a handful of skilled and interested engineers from all over the world. http://www.xvid.org/
gzip -cd xvidcore-1.1.0.tar.gz | tar xvf - cd xvidcore-1.1.0 cd build/generic ./configure --prefix=/usr/local/enctools make ; make install cd ..
x264
x264 - a free h264/avc encoder http://developers.videolan.org/x264.html
bzip2 -cd x264-snapshot-20060619-2245.tar.bz2 | tar xvf - cd x264-snapshot-20060619-2245 ./configure --prefix=/usr/local/enctools --enable-shared make ; make install cd ..
a52dec
liba52 - a free ATSC A/52 stream decoder http://liba52.sourceforge.net/
gzip -cd a52dec-0.7.4.tar.gz | tar xvf - cd a52dec-0.7.4 ./configure --prefix=/usr/local/enctools make ; make install
libdv
Quasar DV Codec: libdv [1]
gzip -cd libdv-0.104.tar.gz | tar xvf - cd libdv-0.104 ./configure --disable-gtk --disable-xv --prefix=/usr/local/enctools make ; make install cd ..
libraw1394
The Linux kernel's IEEE 1394 subsystem provides access to the raw 1394 bus through the raw1394 module. [ http://www.linux1394.org/ http://www.linux1394.org/]
gzip -cd libraw1394-1.2.1.tar.gz | tar xvf - cd libraw1394-1.2.1 ./configure --prefix=/usr/local/enctools make ; make install cd ..
libdc1394
libdc1394 is a library that is intended to provide a high level programming interface for application developers who wish to control IEEE 1394 based cameras that conform to the 1394-based Digital Camera Specification http://sourceforge.net/projects/libdc1394
gzip -cd libdc1394-1.2.1.tar.gz | tar xvf - cd libdc1394-1.2.1 CPPFLAGS="-I/usr/local/enctools/include/"; export CPPFLAGS CFLAGS="-I/usr/local/enctools/include/"; export CFLAGS LDFLAGS="-L/usr/local/enctools/lib/"; export LDFLAGS ./configure --prefix=/usr/local/enctools make ; make install cd ..
libavc1394
libavc1394 is a programming interface for the 1394 Trade Association AV/C (Audio/Video Control) Digital Interface Command Set. | http://sourceforge.net/projects/libavc1394/
gzip -cd libavc1394-0.5.3.tar.gz | tar xvf - cd libavc1394-0.5.3 LIBRAW1394_CFLAGS="-I/usr/local/enctools/include/" \ LIBRAW1394_LIBS="-L/usr/local/enctools/lib/ -lraw1394" \ ./configure --prefix=/usr/local/enctools make ; make install cd ..
ffmpeg
FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. http://ffmpeg.mplayerhq.hu/
Compiling required patch ffmpeg.faad2.faacDecOpen-NeAACDecOpen.patch due to faac namespace change (faacDecOpen -> NeAACDecOpen):
Building procedure:
bzip2 -cd ffmpeg-r5504.tar.bz2 | tar xvf - cd ffmpeg patch -p1 < ../ffmpeg.faad2.faacDecOpen-NeAACDecOpen.patch PATH=$PATH:/usr/local/enctools/bin ./configure --prefix=/usr/local/enctools \ --enable-mp3lame --enable-libogg --enable-vorbis --enable-theora \ --enable-faad --enable-faadbin --enable-faac --enable-xvid --enable-x264 \ --enable-a52 --enable-a52bin --enable-amr_nb --enable-amr_wb --enable-dc1394 \ --enable-gpl --enable-pp --enable-shared \ --extra-cflags="-I/usr/local/enctools/include" --extra-ldflags="-L/usr/local/enctools/lib"
AMR support required additional sources - ffmpeg writes some notes about this:
AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204 V5.1.0 from http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip and extracted the source to libavcodec/amrwb_float AMR NB FLOAT NOTICE ! Make sure you have downloaded TS26.104 REL-5 V5.1.0 from http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip and extracted the source to libavcodec/amr_float If you try this on alpha, you may need to change Word32 to int in amr/typedef.h
Download theese files and put into source contribution directory, put the source into mentioned place:
mkdir -p libavcodec/amrwb_float unzip ../26204-510.zip -d libavcodec/amrwb_float unzip libavcodec/amrwb_float/26204-510_ANSI-C_source_code.zip -d libavcodec/amrwb_float mkdir -p libavcodec/amr_float unzip ../26104-510.zip -d libavcodec/amr_float unzip libavcodec/amr_float/26104-510_ANSI_C_source_code.zip -d libavcodec/amr_float
After you put amr sources start ffmpeg building:
make ; make install cd ...
live555
LIVE555 Streaming Media (rtsp, rtp support) [ http://live555.com/liveMedia/ http://live555.com/liveMedia/]
gzip -cd live.2006.05.17.tar.gz | tar xvf - cd live ./genMakefiles linux make cd ..
libmad
A high-quality MPEG audio decoder. http://freshmeat.net/projects/libmad/
gzip -cd libmad-0.15.1b.tar.gz | tar xvf - cd libmad-0.15.1b ./configure --prefix=/usr/local/enctools make ; make install cd ..
libmpeg2
libmpeg2 - a free MPEG-2 video stream decoder. http://libmpeg2.sourceforge.net/
gzip -cd mpeg2dec-0.4.0b.tar.gz | tar xvf - cd mpeg2dec-0.4.0 ./configure --prefix=/usr/local/enctools make make install cd ..
fribidi
GNU FriBidi is an implementation of the [WWW]Unicode Bidirectional Algorithm (bidi). | http://fribidi.org/wiki/
gzip -cd fribidi-0.10.7.tar.gz | tar xvf - cd fribidi-0.10.7 ./configure --prefix=/usr/local/enctools make ; make install cd ..
VLC
VLC - the cross-platform media player and streaming server. http://www.videolan.org/vlc/
fix file /usr/local/mp4/include/libraw1394/raw1394.h
, comment out line 43:
--skipped-- /* typedef u_int8_t byte_t; */ --skipped--this avoid "
error: redefinition of typedef ‘byte_t’
"
Building procedure:
CPPFLAGS="-I/usr/local/mp4/include/"; export CPPFLAGS CFLAGS="-I/usr/local/mp4/include/"; export CFLAGS LDFLAGS="-L/usr/local/mp4/lib/"; export LDFLAGS ./configure --prefix=/usr/local/mp4 \ --enable-dv \ --enable-livedotcom --with-livedotcom-tree=../live \ --enable-v4l \ --enable-ogg --enable-mad --enable-faad --enable-a52 --enable-flac \ --enable-libmpeg2 --enable-vorbis --enable-speex --enable-theora \ --enable-png --enable-x264 \ --enable-freetype --enable-fribidi --enable-libxml2 \ --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \ --with-ffmpeg-vorbis --with-ffmpeg-theora --with-ffmpeg-ogg \ --disable-wxwidgets --disable-skins2 make ; make install
MPEG4IP
MPEG4IP: Open Source, Open Standards, Open Streaming. http://www.mpeg4ip.net/ Alsa support propre linking require patch mpeg4ip.alsa_linking_fix.patch:
Configuring procedure:
CPPFLAGS="-I/usr/local/mp4/include/"; export CPPFLAGS CFLAGS="-I/usr/local/mp4/include/"; export CFLAGS LDFLAGS="-L/usr/local/mp4/lib/"; export LDFLAGS gzip -cd mpeg4ip-1.5.0.1.tar.gz | tar xvf - patch -p1 < ../mpeg4ip.alsa_linking_fix.patch ./bootstrap --prefix=/usr/local/mp4 \ --enable-server \ --enable-player \ --enable-mp4live \ --enable-mp4live-alsa \ --enable-ffmpegAfter configuring mpeg4ip reports:
Mp4live encoder report: ffmpeg encoder is installed xvid encoder is installed x264 encoder is installed lame encoder is installed faac encoder is installed
Build mpeg4ip:
make ; make install; cd ..