准备
1、 yum -y install gcc gcc-c++ kernel-devel
2、 32位:yum -y install libX11-devel*
3、 64位:yum -y install libX11-devel.x86_64 libX11.i686 libXv-devel.x86_64
4、 yum install -y subversion libvorbis libvorbis-devel libogg libogg-devel zlib-devel libtool
安装ffmpeg
1. 1. yasm(汇编器,支持x86和AMD64指令集)
# tar xvf yasm-1.1.0.tar.gz
# cd yasm-1.1.0
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 2. faad2(音频文件解码器)
# tar xvf faad2-2.7.tar.bz2
# cd faad2-2.7
# chmod 777 bootstrap
# ./bootstrap
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 3. liba52(用于编码 ATSC A/52码流,采用GPL许可证)
# wget http://ftp.de.debian.org/debian/pool/main/a/a52dec/a52dec_0.7.4.orig.tar.gz
# cd a52dec-0.7.4
64位系统上编辑vim liba52/Makefile.am,去掉第一行
# ./configure
# make && make install
1. 4. libdirac(通用视频编解码器)
32位置安装
wget http://downloads.sourceforge.net/dirac/dirac-1.0.2.tar.gz
tar xvfz dirac-1.0.2.tar.gz
cd dirac-1.0.2
# ./configure --prefix=/usr --enable-shared
# make && make install
64位安装
# rpm -ivh dirac-libs-1.0.2-4.puias6.x86_64.rpm
# rpm -ivh dirac-devel-1.0.2-4.puias6.x86_64.rpm
1. 5. faac2(音频文件编码器)
# tar xvf faac-1.28.tar.gz
# cd faac-1.28
(替换mpeg4ip.h文件,直接按下面方法修改文件也可以。)
cp ../mpeg4ip.h common/mp4v2/mpeg4ip.h
# ./configure --prefix=/usr --enable-shared
# make && make install
make时会有错误,把faac-1.28/common/mp4v2/mpeg4ip.h文件中
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
改成
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
1. 6. libamrnb(AMR Codecs)
# tar xvf amrnb-10.0.0.0.tar.bz2
# cd amrnb-10.0.0.0
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 7. libamrwb(AMR Codecs)
# tar xvf amrwb-10.0.0.0.tar.bz2
# cd amrwb-10.0.0.0
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 8. libmp3lame(mp3 Encoder)
# tar xvf lame-3.98.4.tar.gz
# cd lame-3.98.4
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 9. git
CentOS的yum源中没有git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘。
确保已安装了依赖的包
yum install curl
yum install curl-devel
yum install zlib-devel
yum install openssl-devel
yum install perl
yum install cpio
yum install expat-devel
yum install gettext-devel
下载最新的git包
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
# tar xvf git-latest.tar.gz
# cd git-latest.tar.gz
#
# make && make install
make时出错
安装git可以试试
#yum install git -y
安装svn可以试试
#yum install svn
1. 10. libx264(视频编码器)
# tar xvf x264-snapshot-20120513-2245.tar.bz2
# cd x264-snapshot-20120513-2245
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 11. libnut(容器格式)
# svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
# cd libnut
# make && make install
1. 12. libogg(编码解码器所依赖的函数库)
# tar xvf libogg-1.3.0.tar.gz
# cd libogg-1.3.0
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 13. libtheora(开源的视频编解码器)
# tar xvf libtheora-1.1.1.tar.bz2
# cd libtheora-1.1.1
# ./autogen.sh
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 14. libvorbis(压缩不同比特率的音频)
# tar xvf libvorbis-1.3.3.tar.gz
# cd libvorbis-1.3.3
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 15. libxvid(视频的编解码器)
# tar xvf xvidcore-1.3.2.tar.gz
# cd xvidcore/build/generic/
#./bootstrap.sh
# ./configure --prefix=/usr --enable-shared --disable-assembly
# make && make install
1. 16. imlib2(图形库)
yum install libXp-devel
# wget wget http://sourceforge.net/projects/enlightenment/files/imlib2-src/1.4.5/imlib2-1.4.5.tar.gz/
# tar vxf imlib2_loaders-1.4.5.tar.bz2
# cd imlib2_loaders-1.4.5
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 17. opencore-amr(音频转换工具)
# tar xvf opencore-amr-0.1.2.tar.gz
# cd opencore-amr-0.1.2
# ./configure --prefix=/usr --enable-shared
# make && make install
1. 18. FFmpeg(音视频处理框架)
# tar -xvf ffmpeg-0.10.3.tar.bz2
# cd ffmpeg-0.10.3.tar.bz2
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CFLAGS="-fPIC -m64"
# ./configure --prefix=/usr --enable-gpl --enable-shared --enable-nonfree --enable-postproc --enable-avfilter --enable-pthreads --enable-libdirac --enable-libnut --enable-libtheora --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvorbis --enable-libxvid --enable-libfaac --enable-libx264 --disable-ffserver --disable-ffplay --enable-nonfree --enable-version3 --extra-ldflags=-ldl
# make && make install
1. 19. mencoder解码器
http://rays.openrays.org/RAYSLX/pool/main/u/unzip/unzip_5.52.orig.tar.gz
gzip先把这个包解压后,进入解压开的文件夹,
1、cp unix/Makefile ./
2、make generic
3、make install
# tar -xvf all-20110131.tar.bz2
# mv all-20110131 codecs
# mv codecs /usr/lib
# unzip windows-essential-20071007.zip
# mv windows-essential-20071007 wincodes
# mv wincodes /usr/lib
1. 20. mplayer
# tar –xvf MPlayer-1.0rc4.tar.bz2
#cd MPlayer-1.0rc4/
# ./configure --prefix=/usr/ --codecsdir=/usr/lib/codecs/ --yasm=yasm
# make && make install
1. 21.
1. 1.
2. 2. /usr/lib和/usr/local/lib
例如:
错误帮助和参考文档:
http://www.blogjava.net/javaren/articles/install_ffmpeg_on_linux_64bit.html
1. chcon -t texrel_shlib_t /usr/local/lib/libavutil.so.49
2. ldd `which ffmpeg`
3. find /usr/local/lib/ | grep -E "libavdevice.so.52|libavfilter.so.1|libavcodec.so.52|libavcore.so.0"
4. ldconfig
5. http://forum.ivorde.ro/ffmpeg-error-while-loading-shared-libraries-libavdevice-so-52-cannot-open-shared-object-file-no-t129.html
6. http://iamcaihuafeng.i.sohu.com/blog/view/142463995.htm
其它软件的安装:
一、TS流分割器segmenter的安装与使用(将大的ts文件切成小的m3u8)
方法一: m3u8-segmenter
git clone https://github.com/johnf/m3u8-segmenter
下载m3u8-segmenter 下载后不要用它的反复编译,直接取m3u8-segmenter.c文件。
执行
gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil
方法二: segmenter
svn co http://httpsegmenter.googlecode.com/svn/trunk segmenter
cd segmenter
gcc -Wall -g segmenter.c -o segmenter -lavformat -lavcodec -lavutil -std=c99
安装好其中一个后,把执行文件拷贝过去。
cp segmenter /usr/bin/
例如:
segmenter -i /var/www/resource-pa/minivideo/chenjie/ts/gq.ts -d 5 test_ts -x /var/www/resource-pa/minivideo/chenjie/gq/index.m3u8 -o /var/www/resource-pa/minivideo/chenjie/gq/
(后来是拷贝的原服务器上的segmenter)
二、qt-faststart的安装(因ffmpeg转码成mp4后,把mate data移到了视频尾部,因此网上看这视频的时候,需要在线下载完成后才能播放,但我们可以用qt-faststart功能,把mata data移到头部。)
qt-faststart的源文件在ffmpeg的tools中。
# cd ffmpeg-0.10.3/tools/
# make qt-faststart
# cp -a qt-faststart /usr/bin/
这样就可以使用了,例如:
qt-faststart ./mp4/gq.mp4 ./mp4/gq_temp.mp4
三、yadmi
yadmi的作用是为flv文件添加关键帧,才能实现拖动播放
# wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download
# tar xzvf download
# cd yamdi-1.4
# make && make install
# cd ..
使用方法:
# yamdi -i input.flv -o out.flv
给input.flv文件 添加关键帧,输出为out.flv文件