gstreamer 开发中,一般开发思路为:寻找命令行实现--命令行验证--将命令行集成到代码中---代码工程化。当然如果你要代码更优雅一点,可以用命令行用对应的 API 来实现。本节来总结一下 gstreamer 的常用使用过程。
将配套资料通过 U 盘拷贝到开发板的根目录下,如下图所示。配套资料的路径在“iTOP-3399 开发板/02_iTOP-3399 开发板资料汇总(不含光盘容)/12_iTOP-3399 开发板音视频开发资料/测试资料”
1.png
1 gst-inspect-1.0 测试
gst-inspect 可以查看插件或者元素,输入以下命令查看所有元素
gst-inspect-1.0
2.png
查看并过滤相关元素,输入以下命令,如下图所示:
gst-inspect-1.0 |grep xxxx
3.png
查看某一个元素,输入以下命令,如下图所示:
gst-inspect-1.0 xxx
4.png
输入以下命令查看黑名单元素,通常某些插件的依赖库不存在,gstreamer 会将它列入黑名单,不可使用,通过该命可以追踪某些异常的插件。
gst-inspect-1.0 -b
5.png
2 播放器工具 gst-play-1.0
如播放一个视频,输入以下命令:
gst-play-1.0 /video/1080p_30fps_h265.mp4
6.png
3 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 ,如图所示
7.png
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 文件里。
5) GST_REGISTRY_UPDATE 环境变量用来查找插件是否更新,即是否重新扫描去更新 cache 内容,将这个环境变量的值设置成”no”,这样 gstreamer 框架在初始化的时候就不会检查 plugin 的更新,这样可以加速启动。输入以下命令:
Set GST_REGISTRY_UPDATE=”no”
更多内容关注:北京迅为
|