Linux下ffmpeg添加?x265
在linux 上安装ffmpeg 支持h265编码器按照以下步骤:
1、安装 Mercurial ;
2、安装CMake 2.8.8 or later;
3、YASM 1.2.0 及以上版本;
4、Download the libx265 repository and build as per the instructions here: https://bitbucket.org/multicoreware/x265/wiki/Home (note I assume no one still uses Windows for dev!)
hg clone https://bitbucket.org/multicoreware/x265cd x265/build/linux./make-Makefiles.bashmakemake install
5、Make sure you have a current build of ffmpeg checked out of git along with any other libs you are using e.g. libx264
我下载了最新版本ffmpeg-2.5.3.tar.bz2;
http://www.ffmpeg.org/download.html#build-linux
执行tar -jxvf xx.tar.bz2解压;
cd到ffmeg-2.5.3目录下;
On your ffmpeg configure it with –enable-libx265 (it is disabled by default). Sample from my configure below:
a、./configure --prefix=/usr/local --enable-gpl --enable-libx265b、makec、make install
在第一步提示ERROR: x265 not found;
查看config.log日志文件,根据错误信息,发现是缺少对应的x265.pc文件。
把/x265/source目录下的x265.pc.in去掉后缀.in,拷贝到/usr/local/lib/pkgconfig后重新执行a,还是一样提示找不到x265;
于是重新安装x265,发现x265.pc文件会自动拷贝到/usr/local/lib/pkgconfig目录下;
这时configure还是提示错误;怀疑是PKG_CONFIG_PATH环境变量未定义所致;
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig;
继续configue,成功!
执行make,makeinstall;
6、开始测试:
ffmpeg -i /home/mov/VID_2015.mp4 -c:v libx265 -b:v 2000k /home/mov/VID_2015x265.mkv
发现提示libx265.so.41打不开。这是因为找不到x265动态链接库,动态链接库目录中找不到该路径。
vi /etc/ld.so.conf 添加
/usr/local/lib保存退出。
执行ldconfig就可以了。
测试发现原始h264编码文件和转码后265编码文件比较:
码率比较:
VID_2015.MP4:14641kb/S
VID_2015X265.mkv :1022kb/s
7、测试:
ffmpeg -i /home/mov/h264_1.ts -c:v libx265 /home/mov/h264_1x265.mkv
ffmpeg -i /home/mov/h264_2ts -c:v libx265 /home/mov/h264_2x265.ts
文件大小比较:
6499/3945 = 1.64
46100/29979 = 1.53
码率比较:
H264_1.ts :892kb/s
H264_1x265.mkv:540kb/s 892/540 = 1.65
H264_2.ts :1258kb/s
H264_2x265.ts:818kb/s 1258/818 = 1.54
265相当于对图像进行了有重点的编码,从而降低了整体的码率,编码效率就相应提高了。
画质对比:265比264皮肤更细腻;
压缩比对比:压缩率更高,节省三分之一;
硬件支持:瑞芯微 RK3188 支持265的快播盒子已经上市;
同等画质体积仅为三分之二、带宽节省三分之一、画质更细腻等诸多优势;
解码难度是264的3倍。
H.265的帧内预测模式支持33种方向(H.264只支持8种),并且提供了更好的运动补偿处理和矢量预测方法。
大有H.264当时的风采,压缩效率依然提升了一倍,解码难度轻描淡写地增加了3倍,