- 安装依赖
$ sudo apt-get install graphviz
- 添加自定义保存pipeline路径的环境变量
$ sudo gedit ~/.bashrc
export GST_DEBUG_DUMP_DOT_DIR=/home/dreamdeck/Documents/code/pipeline/
$ source ~/.bashrc
- 修改deepstream源码。在
g_main_loop_run(main_loop);
后面添加如下代码:
/*GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS with timestamp */
/*print pipeline*/
GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN (appCtx[0]->pipeline.pipeline),
GST_DEBUG_GRAPH_SHOW_ALL, "pipeline-playing");
注意修改appCtx[0]->pipeline.pipeline,这里应该是pipeline。
- 绘制矢量图(图太大时位图放大像素低,看不清),如果批量绘制,请直接跳转步骤5
$ cd /home/nvidia/pipeline/
$ dot -Tsvg pipeline-playing.dot > pipeline-playing.pdf
- 批量绘制
新建.sh文件
$ touch gen-pipeline.sh
编写.sh脚本(注意空行)
#!/bin/sh
INPUT_DIR="/home/dreamdeck/Documents/code/pipeline/"
DOT_FILES="${INPUT_DIR}*.dot"
for file in $DOT_FILES
do
dest=`sed s/.dot/.svg/ <<< "$file"`
dot -Tsvg $file > $dest
done
赋权限并批量生成
sudo chmod +x gen-pipeline.sh
./gen-pipeline.sh
- 通过浏览器打开矢量图
(图片为部分结果截取)