官方的当前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命令

Gstreamer中添加x265编解码器相关推荐

  1. 在ffmpeg中添加编解码器

    本文基于ffmpeg-2.2,添加基于QSV(Intel Media SDK / Quick Sync Video)的系列编解码器qsvavc_enc.qsvavc_dec.qsvmpeg2_dec. ...

  2. Gstreamer中的视频处理与硬件加速

     点击上方"LiveVideoStack"关注我们 ▲扫描图中二维码或点击阅读原文▲了解音视频技术大会更多信息 // 编者按:Gstreamer作为一个比较流行的开源多媒体框架,其 ...

  3. 如何在Android Framework中添加自定义硬件编解码器?

    原文:How to add custom hardware codec to Android Framework? http://gopinaths.gitlab.io/post/custom_har ...

  4. Gstreamer中一些gst-launch常用命令

    Gstreamer中一些gst-launch常用命令 用Linux系统中使用gstreamer架构做对媒体开发时,gst-inspect和gst-launch是两个非常使用的小工具,gst-inspe ...

  5. linux gst-launch 播放视频旋转,【视频开发】Gstreamer中一些gst-launch常用命令

    GStreamer是著名的开源多媒体框架,功能强大,其命令行程序 gst-launch 可以实现很多常规测试.播放等,作为系统调试等是非常方便的. 1.摄像头测试 gst-launch v4l2src ...

  6. Rockchip rv1126平台在gstreamer1中添加OpenCv实现视频流负片的效果

    研究了一天,发现最终代码只有几行,所以简单记录一下. 到写 这篇记录为止,我没有发现rv1126的gstreamer1补丁中,RK 没有为视频流提供负片效果的patch, 在RGA的API中, 确实有 ...

  7. Linux下ffmpeg添加 x265

    Linux下ffmpeg添加 x265 在linux 上安装ffmpeg 支持h265编码器按照以下步骤: 1.安装 Mercurial : 2.安装CMake 2.8.8 or later: 3.Y ...

  8. Gstreamer中pad的链接

    Gstreamer中的pad根据输入输出方向,有src和sink两种.根据pad创建的时机,有always pad.sometimes pad.request pad,这样不同的pad,链接方式就不同 ...

  9. Android TextVeiw 在java代码中添加空格的方法

    可以使用uniconde 的编码设置空格,有三种方法的 \u00A0,\u0020,\u3000 代码设置下 textView.setText("北\u00A0京"); textV ...

最新文章

  1. (二)企业部分之lnmp环境的搭建:mysql源码安装
  2. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
  3. linux查看文件只会用vi?除了vi,这几个文件查看的命令,让你爱不释手!
  4. 如何保住我们的头发?初级程序员的碎碎念
  5. 发一个sgs0.9.9的例子
  6. jira 插件介绍地址
  7. 集成方法(随机森林)
  8. JDK、JRE、JVM的区别与联系
  9. 四则运算 python
  10. Android 插桩入门
  11. python2与python3实现读取网页刷访问量
  12. 非线性发展方程定解问题
  13. K8s问题【flannel一直重启问题,CrashLoopBackOff】
  14. java SE教程04
  15. 基于SNMP数据采集模块的设计和实现2
  16. “我去图书馆”公众号代码抢座的实现
  17. J2EE基础之map集合框架
  18. CAS 密码盐值加密
  19. PyQt5 QtChart-曲线图
  20. SiO2/KH550修饰四氧化三铁纳米磁性颗粒|PDA包裹四氧化三铁磁性纳米颗粒(科研级)

热门文章

  1. python打开闪一下就关闭_如何使得 python 脚本 不一闪而过
  2. 关于如何求素数(拭除法第五种)
  3. MacBook Pro在线安装系统
  4. matlab保存读取矩阵
  5. c#写一个识别扫描版pdf表格的程序,并把结果excel下载下来
  6. C++ opencv动态行人检测(传统方法)
  7. 微信公众号人脸识别|活体检测SDK|人证比对API
  8. 字幕自动匹配和修改工具
  9. python asyncio教程_Python Asyncio 教程
  10. 什么是等保2.0?不做等保有什么后果?