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命令
Gstreamer中加入�x265编解码器的更多相关文章
- 【视频开发】Gstreamer中一些gst-launch常用命令
GStreamer是著名的开源多媒体框架,功能强大,其命令行程序 gst-launch 可以实现很多常规测试.播放等,作为系统调试等是非常方便的. 1.摄像头测试 gst-launch v4l2src ...
- Gstreamer 中的playback插件
1. PLAYBACK插件基本介绍 在早期的版本中同时存在playbin和playbin2,但是在最新的版本中,playbin2已经稳定,取代了playbin, playbin不再进行维护.下面是官网 ...
- bootstrap设计站点中加入�代码高亮插件
这款插件的名字叫做google-code-prettify 使用该插件之前的效果: 使用插件之后的效果: 接下来说步骤: (1)下载两个文件 http://codecloud.sinaapp.com/ ...
- unity3d 中加入�视频
加入�音频 视频 using UnityEngine; using System.Collections; public class play_video : MonoBehaviour { publ ...
- gstreamer应用笔记
gstreamer官网 https://gstreamer.freedesktop.org/ 应用手册 https://gstreamer.freedesktop.org/documentation/ ...
- GStreamer系列 - 基本介绍
什么是Gstreamer? Gstreamer是一个支持Windows,Linux,Android, iOS的跨平台的多媒体框架,应用程序可以通过管道(Pipeline)的方式,将多媒体处理的各个步骤 ...
- 【miscellaneous】 GStreamer应用开发手册学习笔记之基础概念介绍
第3章. 基础概念介绍 本章将介绍GStreamer的基本概念. 理解这些概念对于你后续的学习非常重要,因为后续深入的讲解我们都假定你已经完全理解了这些概念. 3.1. 元件(Elements) 元件 ...
- Struts2中属性驱动与模型驱动
属性驱动: 1.概念 能够利用属性驱动获取页面表单元素的内容 2.步骤 1.在action中声明属性,属性的名称和页面元素中name属性的值保持一致 2.action中的属性必须有set和get方法 ...
- Gstreamer基本概念介绍(开发前必读)
1. 元件(Elements) 元件(element)是GStreamer中最重要的概念.你可以通过创建一系列的元件(Elements),并把它们连接起来,从而让数据流在这个被连接的各个元件(Elem ...
随机推荐
- LeetCode Backpack
Given n items with size Ai, an integer m denotes the size of a backpack. How full you can fill this ...
- BZOJ 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏( floyd )
直接floyd.. ---------------------------------------------------------------------------- #include<c ...
- 11-C语言指针
目录: 一.指针 二.指针与数组 回到顶部 一.指针 1 内存被分为字节,每个字节有唯一地址,指针保存的是内存中的地址. 2 保存指针的变量,就叫指针变量,(保存地址) 3 声明一个指针变量 int ...
- verilog中读取文件中的字符串_modelsim高级仿真
今天给个程序大家玩玩.因为今天遇到一个问题,就是要向UART发送指令,指令非常多,都是字符串.一直copy 函数 UART ("COMM_1"); UART ("COM ...
- Oracle SQL篇(二)oracle自连接操作
oracle 的自连接(self join)操作 对于oracle数据库来说,目前支持两套语法,一套是oracle自己的sql语法,一套是通行标准的SQL99语法,那么对于oracle的连接操 ...
- Servlet 基础知识
8.Response 8.1.getOutputStream和getWriter方法分别用于得到输出二进制数据.输出文本数据的ServletOutputStream .Printwriter对象. ...
- poj 1088 滑雪(区间dp+记忆化搜索)
题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...
- C++的一些编程规范(基于google)
1.所有头文件都应该使用#define 防止头文件被多重包含,命名格式可以参考<PROJECT>_<PATH>_<FILE>_H 2.使用前置声明尽量减少.h文件中 ...
- Android_Dialog_设置Dialog窗体的大小
/** * 设置Dialog窗体的大小 */ private void setWindowSize() { DisplayMetrics dm = new DisplayMetrics(); Wind ...
- poj2342 Anniversary party【树形dp】
转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4316097.html ---by 墨染之樱花 [题目链接]http://poj.org/p ...