本文假设已经按照在Ubuntu18.04上从源码构建Gstreamer搭建GST源码环境。
Step1:验证环境:
export FFMPEG运行环境:
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH
播放视频片源:
gst-play-1.0 /media/caozilong/B0509F8C509F5844/[email protected]
环境是ready的,接下来,我们就以这条播放器管道为例,观察它的拓扑结构。
Step2:可视化操作:
1.安装dot,graphviz中提供了dot命令。
sudo apt-get install graphviz
2.设置管道描述文件生成目录环境变量
Gstreamer提供了GST_DEBUG_DUMP_DOT_DIR
宏定义,该宏定义用于指定整个pipeline的拓扑结构图存放的路径。拓扑结构图的格式为Dot,可以使用上一步骤安装的GraphViz工具将Dot文件转成Png,便于查看。
export GST_DEBUG_DUMP_DOT_DIR=/tmp/
这会将.dot生成的文件放在/ tmp /目录中,如果需要,可以更改该目录。
3.播放:
gst-play-1.0 /media/caozilong/B0509F8C509F5844/[email protected]
4。观察/tmp目录输出:
5.转换成PNG
dot -Tpng -o test1.png /tmp/0.00.00.337195187-gst-play.async-done.dot
dot -Tpng -o test1.png /tmp/0.16.41.192091431-gst-play.error.dot
据红色的是src element和src pad.紫色的是sink element和sink pad.绿色的是中间级element.
通过gst-inspect-1.0命令,可以深入产看每个elements的特性。