Gstreamer中加入�x265编解码器

Gstreamer中加入�x265编解码器

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

     官方的当前gstreamer版本号还不支持x265编解码,因此要加入�x265,须要自己编译。本文基于gstreamer1.3.3版进行编译安装。须要首先自己编译gstreamer1.3.3,以及对应的basegoodbadugly插件

一、安装编译x265编码器

1.     下载源代码。

         开源x265编码器的官方站点是 https://bitbucket.org/multicoreware/x265/wiki/Home

         源代码下载地址: hg clone https://bitbucket.org/multicoreware/x265

         当然你要先安装hg源代码管理工具,类似于gitdebian 7中自带该工具,名字叫Mercurial

2.     安装编译环境:

          sudo apt-get install cmake cmake-curses-gui build-essential

3.      debian 7的汇编软件yasm版本号是1.1x265的汇编编译须要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版本号编写,可是位置是在gstreamerbad插件。要让这个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命令


    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118435.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql是mpp数据库_mysql迁移mpp数据库Greenplum[通俗易懂]

    mysql是mpp数据库_mysql迁移mpp数据库Greenplum[通俗易懂]1.场景描述因兄弟项目中mysql有点扛不住了,要做sql优化,但是业务有点小复杂,优化起来有点麻烦(sql嵌套有点多),便想着用Mpp数据库Greenplum测试下,看性能和复杂度怎么样,趟趟水。2.解决方案初步的想法是:因为mysql和postgresql(Greenplum建立在postgresql之上,i’m软件老王)都是使用的标准sql,直接把mysql的建表语句在Greenplum…

    2025年6月14日
    3
  • Java的反射机制原理[通俗易懂]

    Java的反射机制原理[通俗易懂]一、什么是反射:(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。二.反射机制的概念指在运行状态中..

    2022年7月8日
    35
  • 弗曼学习法,你在用吗?

    弗曼学习法,你在用吗?今天简单的谈论一下弗曼学习法,是被学术界认为最niubi的学习方法。理查德.弗曼(1918-1988)1965年获得诺贝尔物理学奖,美籍犹太人,也是最早提出纳米的人。之所以以他的名字命名改学习方法,想必不用说大家也都知道了,总之很厉害一个人就是了。 弗曼学习法的原理,可以用一句话来概括(透过现象看本质),比方说我们刚学习、接触一个知识点,按照正常的逻辑就是去学会怎么使用它就行了,而带来的弊端就是,当时,亦或者一段时间内我们能记得,但是随着时间加长,没有使用过这个知识点,我们便会很快就忘记了。因为我

    2022年6月13日
    37
  • Flink学习之flink sql「建议收藏」

    Flink学习之flink sql「建议收藏」???? 昨天我们学习完TableAPI后,今天我们继续学SQL,TableAPI和SQL可以处理SQL语言编写的查询语句,但是这些查询需要嵌入用Java、Scala和python编写的程序中。hadoop专题:hadoop系列文章.spark专题:spark系列文章.flink专题:Flink系列文章.????只需要具备SQL的基础知识即可,不需要其他编程经验。我的SQL客户端选择的是docker安装的FlinkSQLClick,大家根据自己的需求安装即可。目录1.1.

    2022年8月20日
    9
  • scanf的常见用法

    scanf的常见用法

    2021年9月27日
    78
  • js向input的value赋值

    js向input的value赋值

    2021年11月10日
    81

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号