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命令


    

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 【Linux】解决Linux上解压jdk报错gzip: stdin: not in gzip format

    完美解决Linux上执行#tar-xvfjdk-8u131-linux-x64.tar.gz命令后报错问题gzip:stdin:notingzipformattar:Childreturnedstatus1tar:Errorisnotr

  • 时序逻辑电路基础_时序逻辑电路的逻辑功能

    时序逻辑电路基础_时序逻辑电路的逻辑功能题目:简述建立时间和保持时间,作图说明建立时间Tsu(setup):触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间Th(hold):触发器在时钟上升沿到来之后,其数

  • 软件测试划分_软件测试有哪些

    软件测试划分_软件测试有哪些1、兼容性测试例如:测试一个文档使用word2003能打开,无法打开word2007的现象。一般兼容性测试的手机模块内容包括:SIM卡兼容性测试、BT、PC驱动、SD卡和WLAN。2、自动化测试解释:自动化测试其实就是测试软件的可靠性,可以叫做稳定性测试。常见的自动化测试有 ATT稳定性测试 和 Monkey稳定测试。3、外场测试外场测

  • h5文件简介_h5特性

    h5文件简介_h5特性H5文件是层次数据格式第5代的版本(HierarchicalDataFormat,HDF5),它是用于存储科学数据的一种文件格式和库文件。由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据.H5将文件结构简化成两个主要的对象类型:1数据集dataset,就是同一类型数据的多维数组2组group,是一种容器结构,可以包含数据集和其他组,若一个文件中存放了不同种类的数据…

  • $random 函数用法「建议收藏」

    $random 函数用法「建议收藏」$random函数调用时,返回一个32位的随机数,它是一个带符号的整形数。如下例:reg[23:0]rand;rand=$random%60;//产生一个在-59~59范围的随机数reg[23:0]rand;rand={$random}%60;//通过位拼接操作{}产生0~59范围的随机数产生一个在min,max之间随机数的例子:reg[23:…

  • elasticsearch集群搭建的过程_elastic公司

    elasticsearch集群搭建的过程_elastic公司elasticsearch集群搭建(Windows)1、下载es:https://www.elastic.co/cn/downloads/past-releases#elasticsearch进入页面,选择版本,选择windows版本2、解压下载的es,拷贝3份(搭建几个节点就复制几分)3、修改配置文件注意配置文件key:value冒号之后必须有个空格,否则启动报…

    2022年10月13日

发表回复

您的电子邮箱地址不会被公开。

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