首页 > 代码库 > windows编译ffmpeg2.2.4并外挂h265

windows编译ffmpeg2.2.4并外挂h265

0、前言

据说新出来了h265的视频,在迅雷看看上面看到的,网上查看了一下简介,貌似h265的视频比h264的视频压缩率要高,而且能做4K的视频。

同时看到网上有人试过ffmpeg在编译的时候加上了h265,这样ffmpeg看起来倒是能外挂h265的编解码,所以这篇blog文,主要是用ffmpeg来尝试一下h265。

这里引用几张x265的介绍图片(当然我自己的显示器也是4k的):









1、首先下载ffmpeg源代码

目前最新版是2.2.4


下载传送门:http://www.ffmpeg.org/releases/ffmpeg-2.2.4.tar.gz



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比较快):



其实还是比较不错的,压缩度,对于更大的视频,要省掉不少的空间占用。