新闻  |   论坛  |   博客  |   在线研讨会
骁龙820A汽车 ADAS 分享方案介绍—多媒体处理之工具使用(一)
车载技术工程师 | 2018-06-26 14:13:52    阅读:668   发布文章

我们在之前的介绍中详细介绍基于820A的GStreamer的相关基础概念的简介,现在我们正式来介绍工具的使用。

GStreamer 供了一系列方便使用的工具。

gst-launch
gst-inspect
gst-discoverer
为了防止多个版本的GStreamer都安装导致的冲突,所有的工具都
是有版本的,他们的名字后面跟着
GStreamer的版本号。如果这个
版本的
SDK0.10,所以工具就是gst-launch-0.10gst-inspect-0.10
gst-discoverer-0.10

Gst-launch

这个工具可以创建一个pipeline,初始化然后运行。它可以让你在正式写代码实现pipeline之前先快速测试一下,看看是否能工作。
请记住这个工具只能建立简单地pipeline。尤其是,它只能在一个特定层级之上模拟pipeline和应用的交互。在任何情况下,它都可以很简单的快速测试pipeline,全世界的GStreamer的开发者每天
都在使用它。
请注意, gst-launch对于开发者来说主要是一个调试工具。你不应该基于它开发应用,而应该使用gst_parse_launch()这个API来创建pipeline

Gst-launch 使用之elements

blob.png


gst-launch的命令行包括一个在PIPELINE-DESCRIPTION之后的一系列选项。简单来说,一个PIPELINE-DESCRPTION是一系列用!分隔开的元素,试一下下面的命令:
gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink
你可以看见如上图所示的一个带动画的视频窗口。这个例子用了videotestsrcffmpegcolorspaceautovideosink三个elementGStreamer会把他们的输出pad和输入pad连接起来,如果存在超过1个可用的输入/输出pad,那么就用padCaps来确定兼容的pad

Gst-launch 使用之elements的属性

blob.png

element可能是有属性的,在命令行里格式就是“属性=值”,多个属性用空格来分开。可以用gst-inspect工具来查一下element的属性(这个工具下面会讲到)。
gst-launch-0.10 videotestsrc pattern=11 ! ffmpegcolorspace ! autovideosink
你也同样可以修改属性的值来显示不同的图像。

Gst-launch 使用之带名字的element

element可以用name这个属性来设置名称,这样一些复杂的包含分支的pipeline可以创建了。
有了名字,就可以使用前面创建的
element,这在使用有多个padelement(比如demuxer
tee等)时是必不可少的。带名字的element在使用名字时需要在后面加一个点。
gst-launch-
0.10 videotestsrc ! ffmpegcolorspace !
tee name=t ! queue ! autovideosink t. ! queue ! autovideosink
可以看见两个视频窗口,显示同样的内容。
这个例子中把videotestsrc先连接了ffmpegcolorspace,然后连接了tee element这个tee就被命
名成‘
t’,然后一路输出到queue以及autovideosink,另一路输出到另一个queueautovideosink

blob.png

关于gst-launch的我们先说到这里,后续会对于Pads以及Gst-inspect 和 gst-discoverer来进行进一步探讨。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客