最简单的视频编码器:编译(libx264,libx265,libvpx)
=====================================================
最简单的视频编码器系列文章列表:
最简单的视频编码器:编译最简单的视频编码器:基于libx264(编码YUV为H.264)
最简单的视频编码器:基于libx265(编码YUV为H.265)
=====================================================
近期研究了一下几种常见的视频编码器:x264。x265。vpx。本文简单记录一下它们的编译方法。
x264。x265,vpx这三个开源的视频编码器能够说是当今“最火”的视频编码器。
x264如今占领着H.264视频编码器的半壁江山。x265则是眼下实现H.265标准最好的开源视频编码器,而且在未来可能接替x264;而vpx则是Google推出的开源视频编码器,它提出的VP9编码标准的性能也不错。在记录完这篇文章后,计划分别针对x264。x265,vpx写三篇文章记录它们的用法。
X264
站点:http://www.videolan.org/developers/x264.html
源码获取地址:
git clone git://git.videolan.org/x264.git
注意编译前须要安装yasm。
Windows下最简单编译步骤(MinGW)
1.下载安装MinGW,执行后切换至源码文件夹
2.输入 "./configure"3.输入"make"
4.输入"make install"安装(可选)
Linux下最简单编译步骤:
1.切换至源码文件夹
2.输入 "./configure"3.输入"make"
4.输入"make install"安装(可选)
编译后生成:
x264.exe:能够直接使用的编码H.264命令行程序Windows下编译获得lib类库步骤(生成libx264.lib)Libx264.a:能够用于程序开发的编码H.264的类库
1. 生成“*.def”文件。输入“./configure”命令的时候。将“./configure”后面加上參数,改为:
./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def这样能够生成“libx264.dll”,“libx264.def”文件。
2. 使用VC自带的lib生成工具“LIB”,生成“libx264.lib”文件。
使用“Visual Studio command prompt”。切换至x264源码文件夹。输入以下命令:
LIB /DEF:libx264.def就可以生成libx264.lib用于在VC下开发。
X265
站点2:https://bitbucket.org/multicoreware/x265
源码获取地址:hg clone http://hg.videolan.org/x265
注意编译前须要安装:
(1)yasm。
(2)CMake。
Windows下最简单编译步骤(VC2010)
1.使用CMake生成x265.sln 文件。详细是在其代码根文件夹的“build”文件夹中。找到想要生成的“.sln”的版本号。
以本机为例,打开“vc10-x86”,执行当中的“make-solutions.bat”,就可以生成VC2010的32位的解决方式文件。中间会弹出一个CMake的配置对话框。如图所看到的。能够直接先单击“Configure”。然后单击“Generate”就可以。
编译后生成:
x265.exe:能够直接使用的编码H.265的命令行程序
libx265.dll,libx265.lib:能够用于程序开发的编码H.265的类库(lib和dll分开)
x265-static.lib::能够用于程序开发的编码H.265的类库(单独一个lib)
VPX
站点:http://www.webmproject.org/
源码获取地址:
git clone https://chromium.googlesource.com/webm/libvpx
上述地址有可能訪问不了。能够使用以下的镜像地址:
git clone https://github.com/webmproject/libvpx
Windows下最简单编译步骤(MinGW)
1.下载安装MinGW,执行后切换至源码文件夹2.输入 "./configure"
3.输入"make"
Linux下最简单编译步骤
1.切换至源码文件夹
2.输入 "./configure"
3.输入"make"
编译后生成:
vpxdec.exe:能够直接使用的解码VP8。VP9命令行程序
vpxenc.exe:能够直接使用的编码VP8,VP9命令行程序
libvpx.a:能够用于程序开发的编码VP8,VP9的类库
Windows下编译获得各个项目VS2010解决方式的步骤
1. configure的时候设置“—target”为“x86-win32-vs10”
./configure --target=x86-win32-vs10
2. 用VC打开生成的vpx.sln,就可以用VS浏览整个解决方式。能够右键解决方式,选择“生成解决方式”批量编译当中全部的工程。