安装FFMPEG的目的:ZCMS平台上传视频音频时所依赖的软件。
安装FFMPEG前,先要安装其依赖的第三方编码器库,这样才能支持多种格式的转换。
所以要先装好编码器库后,最后装FFMPEG。
1. 安装前准备编译的环境
yum install -y automake autoconf libtool gcc gcc-c++
2. 把要用的jar包都拷到一个目录下/home/software
3. 在/etc/ld.so.conf里面加入
/usr/local/bin
/usr/local/lib
加入这两句的目的:让后面安装的第三方编码库等存放到我们制定的目录中去
/usr/local/bin
/usr/local/lib
4. 解压并安装一系列第三方编码器库和组件,要注意的是:不是所有的命令都一样,有不同的地方,装完后,记得执行命令:ldconfig,作用:ffpmeg能按/etc/ld.so.conf配置找到安装的第三方编码器库。
安装lame
1)解压:tar -zxvf lame-3.99.5.tar.gz
2)cd lame-3.99
3)/configure --enable-shared
4) make
5) make install
6) ldconfig
安装yasm
1)解压:tar -zxvf yasm-1.2.0.tar.gz
2)cd yasm-1.2
3)/configure --enable-shared
4) make
5)make install
6) ldconfig
安装xvidcore (注意目录位置,不在直接的解压后的文件下)
1) tar zvxf xvidcore-1.1.3.tar.gz
2)cd xvidcore-1.1.3/build/generic
3) ./configure
4)make
5) make install
6) ldconfig
安装x264 (注意格式为.tar.bz2)
1) bunzip2 last_x264.tar.bz2
2) tar xvf last_x264.tar
3) cd x264-snapshot-20121030-2245/
4) ./configure --enable-shared
5) make
6) make install
7) ldconfig
安装a52dec
1)解压:tar -zxvf a52dec-0.7.4.tar.gz
2)cd a52dec
3) /configure --enable-shared=PKGS && make && make install
4)ldconfig
安装 faac
1) 解压:tar -zxvf faac-1.26.tar.gz
2)cd faac
3)/bootstrap
4)/configure
5)make && make install
6) ldconfig
编译报错mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
解决方法:
从123行开始修改此文件vi common/mp4v2/mpeg4ip.h,到129行结束。
修改前:
#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
安装 faad2
1)解压:tar -zxvf faad2-2.6.1.tar.gz
2)cd faad2
3) ./bootstrap
4) ./configure
5) make && make install
6) ldconfig
安装 vo_aacenc http://archive.ubuntu.com/ubuntu/pool/universe/v/vo-aacenc/vo-aacenc_0.1.3.orig.tar.gz
1)解压:tar -zxvf vo-aacenc_0.1.3.orig.tar.gz
2)cd vo-aacenc_0.1.3
4) ./configure --enable-shared
5) make && make install
6) ldconfig
到此ffmpeg的编码库也装完了。
安装ffmpeg
tar zvxf ffmpeg-1.0.tar.gz
cd fempeg执行下面的语句:
./configure --enable-gpl --enable-postproc --enable-nonfree
--enable-postproc --enable-swscale --enable-avfilter --enable-pthreads
--enable-libxvid --enable-libx264 --enable-libmp3lame --enable-libfaac
--enable-libvo-aacenc --enable-version3
make && make install
ldconfig
到此ffmpeg也装完了,直接执行命令ffmpeg,出现ffmpeg版本信息以及执行命令帮助就说明装完了。
ffmpeg -i /usr/09.mp4 -y -acodec libmp3lame -ab 128 -ar 22050 -vcodec h264 -b 96k -r 25 /usr/01.flv 执行转换试试行不行
可能出现的问题:
执行ffmpeg时,报错
Unknown encoder ****
原因,对应的编码库没有装好,或者ffmpeg没有装载到他
首先到/usr/local/bin 和 /usr/local/lib
目录下查看报错的没有的库文件是否存在,有的话,执行ldconfig,再ffmpeg就能解决问题(注意,我们一开始配置的文件/etc/ld.so.conf里的路径)。如果指定的库文件没有存在,就是对应的编码库没安装好,找到对应的软件解压后文件夹,在前面的安装步骤里的./confgure
后
执行:
ldconfig
make clean && make && make install
重新安装一次
现有文件里的编码库我在32位和64位的linux 系统中都安装成功了。
检查ffmpeg版本发布日志对支持编码库情况,比如h264编码是ffmpeg0.9版本才开始有的,ffmpeg-0.6下是不支持的。所以需要高版本额ffmpeg再重新编译。
补充:
安装vo-aacenc:
|
所有评论仅代表网友意见