Gstreamer pipieline diagram

xiaoxiao2021-02-28  94

Gstreamer pipieline diagram

本文主要解决问题: 1.如何制作Gstreamer pipeline转化成图表

本节介绍一种将Gstreamer pipeline转换成直观的图表的方法(基于Linux系统)

1.安装dot工具
sudo apt-get install graphviz

安装完成后,在命令行中可以检测到’dot’命令

2导出pipeline数据的存放目录,(通常是在目标开发板)
export GST_DEBUG_DUMP_DOT_DIR=/tmp/
3.运行pipeline,生成pipeline数据,如:
gst-launch-1.0 playbin uri=file:///mnt/mmc/test_h264.avi video-sink=fbdevsink

此处依据实际跟踪的pipeline状况而定,gst-launch为Gstreamer自带的非常有用的工具; pipeline运行完成后,将在export的目录下生成.dot的文件,通常带有关键字PLAYING_PAUSED的文件就是用于生成图表的;

# ls /tmp 0.00.00.972540004-gst-launch.NULL_READY.dot 0.00.01.051387461-gst-launch.READY_PAUSED.dot 0.00.01.074729712-gst-launch.PAUSED_PLAYING.dot 0.00.12.187852589-gst-launch.PLAYING_PAUSED.dot 0.00.12.201485839-gst-launch.PAUSED_READY.dot
5.主机端,依据dot文件生成图表
$ dot -Tpng 0.00.24.846778049-gst-launch.PLAYING_PAUSED.dot > pipeline.png
6.打开图表
eog pipeline.png

批量的将dot文件转换成图表的方法

如果有大量的DOT文件需要转换,使用批处理脚本将十分方便,假设存放DOT文件的目录为(DOT_FILES_DIR);

#!/bin/bash DOT_FILES_DIR="fs/fs/graphs" PNG_FILES_DIR="fs/fs/graphs" DOT_FILES=`ls $DOT_FILES_DIR | grep dot` for dot_file in $DOT_FILES do png_file=`echo $dot_file | sed s/.dot/.png/` dot -Tpng $DOT_FILES_DIR/$dot_file > $PNG_FILES_DIR/$png_file done

如何在Gstreamer应用中使用

在创建完所有的elements和连接好elements后,添加如下代码:
GST_DEBUG_BIN_TO_DOT_FILE(pipeline, GST_DEBUG_GRAPH_SHOW_ALL, "pipeline")
运行app
#GST_DEBUG_DUMP_DOT_DIR=. ./application (第一个点后面为空格)
转载请注明原文地址: https://www.6miu.com/read-45144.html

最新回复(0)