gstreamer开发常用的工具

gstreamer开发中,一般开发思路为:寻找命令行实现–命令行验证–将命令行集成到代码中—代码工程化。当然如果你要代码更优雅一点,可以用命令行用对应的API来实现。本节来总结一下gstreamer开发场景常用的工具。

一. gst-inspect查看插件或者元素

1)  查看所有元素

gst-inspect                    

2)  查看并过滤相关元素

gst-inspect |finstr xxxx (Windows)  

gst-inspect |grep xxxx (Linux)

如gst-inspect|findstr 264  

可以查到264相关元素,如264编码器和解码器元素,264的RTP封装和解封元素 

3)  查看某一个元素

如 gst-inspect openh264dec

由以上信息可知:

openh264dec元素属于openh264插件,驻留在gstopenh264.dll库中。

输出能力:

图片

以上信息说明输出能力的格式,分辨率和帧率范围。

 接收输入能力:

gstreamer开发常用的工具

以上信息说明输入为h264字节流,只接收baseline版本的h264。

该元素由2个属性如下:

gstreamer开发常用的工具

元素名称name为openh264dec0,可以自定义元素名字。

4) 查看黑名单元素gst-inspect-1.0.exe  -b

图片

通常某些插件的依赖库不存在,gstreamer会将它列入黑名单,不可使用,通过该命可以追踪某些异常的插件。

二、 播放器工具 gst-play-1.0.exe

如播放一个视频 gst-play-1.0.exeD:\videos\test.ts

三.命令行插件验证命令gst-lauch-1.0

如:采用D3D播放命令

gst-launch-1.0 filesrc location=D:\videos\test.ts !decodebin  ! d3dvideosink

四.gstreamer日志级别设置

gst的日志等级分为 none(0)error(1) warning(2) info(3) debug(4) log(5)

默认gst的日志等级为1,即error打印,出错时会打印。

1)全局日志级别设置

如果需要更高级别打印,修改环境变量GST_DEBUG即可。

如需要warning级别打印,配置export GST_DEBUG=2 (linux) 或者set GST_DEBUG=2(windows)。

2)某个插件日志级别设置

如:

set GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:3

即自动插件为5,所有元素默认为4,d3dvideosink元素为3。

3)日志打印函数

日志打印函数GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和GST_DEBUG()宏。它们就像printf一样可以接受一些参数并且它们是使用默认种类的

4)日志另存为文件,配置环境变量GST_DEBUG_FILE=文件路径

如:Set GST_DEBUG_FILE = C:\test.log。

日志就重定向到C:\test.log文件里。

五.插件路径查找

插件路由有几个,优先级顺序如下:

GST_PLUGIN_PATH_1_0 >GST_PLUGIN_PATH>GST_PLUGIN_SYSTEM_PATH_1_0>GST_PLUGIN_SYSTEM_PATH指向目录下的插件。通常我们配置GST_PLUGIN_PATH环境变量即可如:export GST_PLUGIN_PATH=/opt/client/gstso/gstreamer-1.0,gstreamer就会从/opt/ client/gstso/gstreamer-1.0查找插件。

六.GST_REGISTRY_UPDATE的妙用

这个环境变量用来查找插件是否更新,即是否重新扫描去更新cache内容,将这个环境变量的值设置成”no”,这样gstreamer 框架在初始化的时候就不会检查plugin的更新,这样可以加速启动。

作者:江海细流 | 来源:公众号—— 音视频技术充电营

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论