【Gstreamer】如何生成pipeline构件图

本文参考:How to generate a Gstreamer pipeline diagram (graph)

1 命令行 中产生

步骤1:安装 dot

 sudo apt-get install graphviz

“graphviz”包中提供了“dot”命令。

步骤2:在目标中,运行:

export GST_DEBUG_DUMP_DOT_DIR=/tmp/

这会将.dot生成的文件放在/ tmp /目录中,如果需要,可以更改该目录。

步骤3:运行您的管道,例如:

gst-launch-1.0 v4l2src device="/dev/video0" ! "video/x-raw, width=640, height=480, format=(string)YUY2" ! xvimagesink -e

管道结束后,您可以看到.dot生成的文件,并且“* PLAYING_PAUSED *”通常用于生成图表。

$  ls /tmp 
0.00.00.238129310-gst-launch.NULL_READY.dot
0.00.00.247064574-gst-launch.READY_PAUSED.dot
0.00.00.632677398-gst-launch.PAUSED_PLAYING.dot
0.00.05.464861472-gst-launch.PLAYING_PAUSED.dot
0.00.05.484623147-gst-launch.PAUSED_READY.dot

步骤4:在主机中,从点文件生成图表

此步骤意味着您知道如何将.dot文件从目标传输到主机。 完成后,您可以使用主机中的“dot”命令生成.png图像:

dot -Tpng 0.00.05.464861472-gst-launch.PLAYING_PAUSED.dot > aa.png

点击aa.png,显示如下
pipeline构件图

  • 橘黄色:src element 和 src pad
  • 紫色:sink element 和 sink pad
  • 绿色:一般的element(除src element 和sink element外)

2 应用程序中产生

在您的应用程序创建和链接所有元素后,将其添加进去。

GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN(pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "pipeline");
// 或者
GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(pipeline), GST_DEBUG_GRAPH_SHOW_ALL, "pipeline");

您的应用程序

GST_DEBUG_DUMP_DOT_DIR=/tmp/ ./application [参数1] [参数2] ...

当然,也可以通过下面的函数在程序中设置dot文件保存路径:

g_setenv("GST_DEBUG_DUMP_DOT_DIR", "/tmp/", TRUE);

切记:此函数必须在gst_init (&argc, &argv);之前调用。

在运行应用程序的位置,您可以找到名为pipeline.dot的文件,将其移动到您的计算机并应用以下内容:

dot -Tpng pipeline.dot > pipeline.png

打开pipeline.png

eog pipeline.png

示例:https://github.com/NVIDIA-AI-IOT/redaction_with_deepstream/blob/master/deepstream_redaction_app.c

在这里插入图片描述

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页