首页 > 其他分享 >gstreamer查看element关系图

gstreamer查看element关系图

时间:2023-05-13 18:57:23浏览次数:44  
标签:gst 查看 launch 0.00 gstreamer element PAUSED dot GST

使用gstreamer API实现功能时,我一般先用gst-launch-1.0验证可行性和效果,然后再编码实现,这个过程中需要分析下各element的连接关系,而gstreamer提供了一套机制生成dot文件,方便我们查看各个阶段的dot图。

命令行

命令行只需要设置环境变量GST_DEBUG_DUMP_DOT_DIR即可,例如:

GST_DEBUG_DUMP_DOT_DIR=. gst-launch-1.0 filesrc location=sintel_trailer-480p.ogv ! decodebin name=decode ! videoscale ! "video/x-raw,width=320,height=240" ! x264enc ! queue ! mp4mux name=mux ! filesink location=320x240.mp4 decode. ! audioconvert ! avenc_aac ! queue ! mux.

会生成pipeline状态转换时的dot文件

ls *.dot
0.00.00.338833216-gst-launch.NULL_READY.dot      0.00.05.754936518-gst-launch.PLAYING_PAUSED.dot
0.00.00.568036395-gst-launch.READY_PAUSED.dot    0.00.05.760536591-gst-launch.PAUSED_READY.dot
0.00.00.570132427-gst-launch.PAUSED_PLAYING.dot

dot文件需要用dot命令转换为png,svg等格式的图片方便查看,dot命令通过graphviz来安装

sudo apt install graphviz

转换为图片

dot -Tsvg 0.00.00.570132427-gst-launch.PAUSED_PLAYING.dot -o test.svg
dot -Tpng 0.00.00.570132427-gst-launch.PAUSED_PLAYING.dot -o test.png

C代码

先可以通过运行命令时,设置环境变量GST_DEBUG_DUMP_DOT_DIR,或者代码里面导入环境变量。然后在需要的时候调用GST_DEBUG_BIN_TO_DOT_FILE() 或者GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()来生成dot文件,一般是在状态转换时调用即可。

标签:gst,查看,launch,0.00,gstreamer,element,PAUSED,dot,GST
From: https://www.cnblogs.com/thammer/p/17397939.html

相关文章

  • 单文件报表:vue + element + echarts + axios
    最近做个专项,需要做结果展示,又不想再搭建个复杂工程,今天尝试了单文件的vue,基本做出来了。效果图参考文档1.自己写的v-charts文档:https://www.cnblogs.com/dannyyao/p/10728210.html2.vue官方文档:https://cn.vuejs.org/guide/essentials/reactivity-fundamentals.html#declari......
  • Element-plus中使用pagination显示sizes为中文
    需求描述使用分页组件中添加sizes信息,也就是一个下拉框,用户可以选择当前页的数据量<el-paginationbackgroundv-model:current-page="currentPage"v-model:page-size="pageSize":total="total":page-sizes="[5,10,15,20,25]"@current-change="......
  • linux 中 查看cpu 信息
     001、型号[root@PC1test]#cat/proc/cpuinfo|grepname|cut-f2-d:|uniq-c612thGenIntel(R)Core(TM)i5-12500H6:总核心数12th:12代处理器Gen:genunie,正式版Intel(R):厂商 002、物理CPU个数[root@PC1test]#cat/proc/cpuinfo|grep"physi......
  • linux 系统中查看总内存、总硬盘、总逻辑CPU数目
     001、总内存[root@PC1test]#free-htotalusedfreesharedbuff/cacheavailableMem:3.7G830M1.8G38M1.1G2.5GSwap:3.9G0B3.9G  002、......
  • Windows查看端口情况
    一、查看Windows目前所有使用端口netstat-ano二、查看指定的端口netstat-ano|findstr3389三、使用tasklist命令查看指定PID对应的进程名tasklist|findstr283664  ......
  • Ubuntu系统下查看并开放防火墙端口
    1.当输入firewall-cmd--list-ports 查看端口信息时报错:Command'firewall-cmd'notfound,butcanbeinstalledwith:aptinstallfirewalld2.解决办法:sudoaptinstallfirewalld温馨提示:yum则属于Redhat、Centos包管理工具3.查看防火墙状态:systemctlstatusfire......
  • Vue内 ElementUI 动态表头渲染顺序错乱问题
    column渲染顺序不正确数据如下:['增加','描述','修改时间']错误显示:原因自定义:同一层级下条件渲染复数个<el-table-column>标签导致的正确做法在一个<el-table-column>标签内通过<template>条件渲染度娘上的一些其他做法添加一个宽度为1的列<el-table-columnwidth......
  • web自动化12-捕获异常NoSuchElementException
    在定位元素的时候,经常会遇到各种异常,遇到异常又该如何处理呢?selenium的exceptions模块,了解异常发生的原因。捕获异常1.出现异常代码会被结束中断,为了可以继续运行,可以用try...except...来捕获异常。捕获后可以输出异常原因,以便于分析异常原因2.从上面的截图看报错提示元素不......
  • Oracle 核心列信息查看与处理
    Oracle核心列信息查看与处理背景最近想对数据库表进行跨数据之间的比照因为有一些自增列或者是时间戳的列不需要进行对比后者是对比容易导致失真.所以就准备选用其他方式进行一下处理.本文主要是简单记录一下生成SQL的办法.获取必要列作为select的字段SELECT LI......
  • vue 关于element el-dialog使用心得-传参问题
    最近写一个功能用到了弹窗,在弹窗内显示一个子组件。关于el-dialog的el-dialog:visible.sync="xxx  参考https://blog.csdn.net/startyangu/article/details/128029464?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%......