0、前言
据说新出来了h265的视频,在迅雷看看上面看到的,网上查看了一下简介,貌似h265的视频比h264的视频压缩率要高,而且能做4K的视频。
同时看到网上有人试过ffmpeg在编译的时候加上了h265,这样ffmpeg看起来倒是能外挂h265的编解码,所以这篇blog文,主要是用ffmpeg来尝试一下h265。
这里引用几张x265的介绍图片(当然我自己的显示器也是4k的):
2、假设已经配置好了mingw
我的系统是win7,网上配置mingw的文章还是挺多的3、编译x264(ffmpeg同样需要外挂h264的编解码)
来这里下载:http://www.videolan.org/developers/x264.html解压出来,用mingw进入源代码目录
执行:./configure --prefix=/x264 --enable-shared--enable-static
make
make install
这时候在C:\MinGW\msys\1.0下面会出现一个x264文件夹,里面就是所需要的库了
4、编译x265(这是主要需要的)
x265的源代码是用hg形式克隆的(和git一样的源代码管理器)因为源代码的编译使用的是cmake,所以还要配置cmake的环境,只需要下载一个绿色免安装版本的cmake,然后填写系统的环境变量到cmake.exe即可,所以下面的步骤假设已经配置好了cmake
那么首先,用mingw进入x265的源代码目录中的msys文件夹中:
cdx265/build/msys/
执行sh make-Makefiles.sh
这样就打开了cmake的配置界面
因为已经配置过,要是首次配置(出了配置安装路径之外),还需要找到yasm.exe来支持汇编(这个需要单独下载,网上也很多下载的地方)
然后依次点击configure----generate
这样配置文件就产生了,关掉cmake(右上角关闭),这时回到mingw中
make
make install
这样就在C:\x265_libs生成了x265的dll
5、生成ffmpeg前需要做的配置
把上面生成的x264的文件夹:
生成的x265的文件夹:
都拷贝一份,放到mingw的根目录中:
6、编译ffmpeg
mingw进入源代码目录中,执行:./configure --enable-yasm--prefix=/ffmpeg --disable-debug --disable-static \
--enable-shared--enable-gpl --enable-libx265 --enable-libx264
这样就代表已经配置成功了
make
make install
7、测试使用ffmpeg压缩视频
测试使用的环境是虚拟机中,这样可以发现我们在运行exe的时候缺少什么dll
把bin文件夹下的ffmpeg.exe放到虚拟机中跑,最终发现,除了bin里面出现的这些dll之外,还需要用到mingw中的libgcc_s_dw2-1.dll、libiconv-2.dll(可以通过搜索mingw根目录得到)
还需要x265和x264的dll,在这两个源代码的工程,搜索得到
然后使用命令,压缩一个视频,分别看看x264和x265的区别
a、ffmpeg -i 1.mp4 -acodec copy -vcodec libx264-f mp4 h264.mp4
b、ffmpeg -i 1.mp4 -acodec copy -vcodeclibx265 -f mp4 h265.mp4
可以看到这两个文件的大小比较(压缩速度,在这里x264比较快):
其实还是比较不错的,压缩度,对于更大的视频,要省掉不少的空间占用。