Gstreamer中加入�x265编解码器

Gstreamer中加入�x265编解码器

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

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


    

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

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

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

相关推荐

  • TCP协议和UDP协议

    TCP协议和UDP协议1.传输控制协议TCP1.1TCP的主要特点:1.1.1面向连接的运输层协议socket部分讲述tcp连接的建立tcp连接的释放tcp的有限状态机1.1.2每一条TCP连接只能有两个端点,每一条TCP链接只能是点对点的(一对一)1.1.3TCP提供可靠交付的服务可靠传输的工作原理可靠传输的实现流量控制拥塞控制1.1.4TCP提供全双工通信1.1.5面向字节流流式服务的特点1.2与TCP有关的面试问题2.用户数据报协议UDP2.1UDP协

    2022年6月7日
  • MVC Code First (代码优先)

    MVC Code First (代码优先)

    2022年1月13日
  • pycharm 全局搜索快捷键「建议收藏」

    pycharm 全局搜索快捷键「建议收藏」pycharm全局搜索快捷键:ctrl+shift+f如果快捷键被系统占用了,那么在pycharm中是不能使用的,我使用的win10自带的输入,这里是已经存在的快捷键,需要关闭才可以使用

    2022年5月31日
  • python海龟绘图画圆_Python启蒙之海龟作图「建议收藏」

    python海龟绘图画圆_Python启蒙之海龟作图「建议收藏」今天我要向大家介绍一下如何使用Python进行绘图,学会了基本绘图后,你就可以使用电脑绘制出很多漂亮的图形了,先给大家展示几幅使用Python绘图完成的精美图案吧。这副图形电脑是如何绘制出来的呢?试想一下,如果现在给你一张纸和一支笔,你如何做出这幅图形。你可以从中心点开始,然后一条条线开始绘制,直到完成最边缘的线条。电脑作图的方式就是充分模拟了你手工绘画的流程,通过程序控制了手工的作图。那既…

    2022年6月28日
  • NicEdit和Kindeditor配置

    NicEdit和Kindeditor配置推荐两款富文本编辑器:NicEdit和Kindeditor做过Web开发的朋友相信都使用过富文本编辑器,比较出名的CuteEditor和CKEditor很多人应该已经使用过,在功能强大的同时需要加载的东西也变得很多。下面要推荐的两款富文本编辑器都是使用JS编写,使用简单,非常轻量级。NicEditorNicEdit是一个轻量级,跨平台的InlineContentEditor…

    2022年10月12日
  • 刚刚弄的51cto 谢谢我的兄弟

    刚刚弄的51cto 谢谢我的兄弟

    2021年8月11日

发表回复

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

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