官方的当前gstreamer版本号还不支持x265编解码,因此要加入�x265,须要自己编译。本文基于gstreamer1.3.3版进行编译安装。须要首先自己编译gstreamer1.3.3,以及对应的base、good、bad、ugly插件
一、安装编译x265编码器
1. 下载源代码。
开源x265编码器的官方站点是 https://bitbucket.org/multicoreware/x265/wiki/Home
源代码下载地址: hg clone https://bitbucket.org/multicoreware/x265
当然你要先安装hg源代码管理工具,类似于git,debian 7中自带该工具,名字叫Mercurial
2. 安装编译环境:
sudo apt-get install cmake cmake-curses-gui build-essential
3. debian 7的汇编软件yasm版本号是1.1,x265的汇编编译须要1.2版本号,因此须要自己编译yasm1.2
下载地址:http://yasm.tortall.net/releases/Release1.2.0.html
编译后,配置环境变量的路径,让yasm1.2优先运行。
4. 编译x265
进入build/linux文件夹运行:
./make-Makefiles.bash
会出来一个字符的配置界面,依据自己的须要改动參数。
然后make并安装。
这个时候,x265命令应该能够运行了,能够试着找个y4m原始视频文件编码一下。
5. 编译安装gstreamer x265插件
下载地址:https://bugzilla.gnome.org/show_bug.cgi?id=726376
bug的附件是patch文件,作者未指定基于那个gstreamer版本号编写,可是位置是在gstreamer的bad插件。要让这个patch用于你自己的gstreamer版本号,须要自己去比对代码,依照你的版本号对这个patch进行改动。我基于gstreamer1.3.3版本号进行改动,附件中包括我的改动文件。.patch文件怎么用,请參考相关资料。patch后,有几个小bug须要改动。我的patch文件
patch后,bad插件中就包括x265enc插件了。位于ext/x265文件夹。
又一次编译整个bad插件,并安装。
使用gst-inspect-1.0 | grep x265应该能够看到x265enc插件了。插件用法和x264enc用法基本一致。当然如今功能还是非常初步的,可是已经能够完毕主要的x265编码了。
二、安装x265解码器
1. 安装libde265
下载地址:https://github.com/strukturag/libde265
make 并安装
2. 安装gstreamer-libde265
下载地址:https://github.com/strukturag/gstreamer-libde265.git
依赖 libbz2
使用autogen.sh配置
make 安装。
将安装位置设置到GST_PLUGIN_PATH环境变量中去。
三、測试与使用
请參考我的还有一篇博客常见gstreamer pipeline命令