deepstream生成pipeline拓扑图的方法

deepstream生成pipeline拓扑图的方法

    • 1、前期工作
      • 1.1 安装dot
    • 2、使用命令行生成
      • 2.1、添加环境变量
      • 2.2 、运行管道
      • 2.3 、使用dot 生成png图片
    • 3、在c中使用
      • 3.1、添加代码
      • 3.2、运行代码
      • 3.3 、使用dot 生成png图片
    • 4、在python中使用
      • 4.1、添加代码
      • 4.2 、使用dot 生成png图片

1、前期工作

1.1 安装dot

 sudo apt-get install graphviz

2、使用命令行生成

2.1、添加环境变量

export GST_DEBUG_DUMP_DOT_DIR=/Comac/Project/deepstream/dot  # /home/hiccup/gst_pipeline路径可以随意改变,为生成的.dot pipeline拓扑结构图

2.2 、运行管道

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

管道结束后,可以在“/Comac/Project/deepstream/dot”下看到.dot生成的文件“ds-tracker-pipeline.dot”,其中“ds-tracker-pipeline”是定义的pipeline的名字

2.3 、使用dot 生成png图片

dot -Tpng ds-tracker-pipeline.dot > ds-tracker-pipeline.png

ds-tracker-pipeline
橘黄色:src element 和 src pad
紫色:sink element 和 sink pad
绿色:一般的element(除src element 和sink element外)

3、在c中使用

3.1、添加代码

在启动管道pipeline前加入如下代码,其中字符"pipeline"需要换成创建pipeline时命名的名字,例如“ds-tracker-pipeline”

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_element_set_state(pipeline, GST_STATE_PLAYING); //启动管道

3.2、运行代码

运行应用程序时前缀加上如下代码,其中路径"/Comac/Project/deepstream/dot"为生成的.dot pipeline拓扑结构图的路径

GST_DEBUG_DUMP_DOT_DIR=/Comac/Project/deepstream/dot ./ds_app_multi file:///Comac/Project/deepstream/ds_tracker/media/55.mp4

3.3 、使用dot 生成png图片

dot -Tpng ds-tracker-pipeline.dot > ds-tracker-pipeline.png

4、在python中使用

4.1、添加代码

在import处添加

import os
os.environ["GST_DEBUG_DUMP_DOT_DIR"] = "/Comac/Project/deepstream/dot"
os.putenv('GST_DEBUG_DUMP_DIR_DIR', '/Comac/Project/deepstream/dot')

在启动管道pipeline前加入如下代码:

Gst.debug_bin_to_dot_file(pipeline, Gst.DebugGraphDetails.ALL, "pipeline")
# start play back and listen to events
print("Starting pipeline \n")
pipeline.set_state(Gst.State.PLAYING)
try:
    loop.run()
except:
    pass
# cleanup
pipeline.set_state(Gst.State.NULL)

4.2 、使用dot 生成png图片

dot -Tpng ds-tracker-pipeline.dot > ds-tracker-pipeline.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/141582.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习基础】机器学习入门(2)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ 💡往期推荐:【机器学习基础】机器学习入门(1) 💡…

设计模式之工厂模式 ( Factory Pattern )(1)

其他设计模式也会后续更新… 设计模式其实需要有一定开发经验才好理解,对代码有一定的设计要求,工作中融入才是最好的 工厂模式 ( Factory Pattern ) 工厂模式(Factory Pattern)提供了一种创建对象的最佳方式 工厂模式在创建对…

“ChatGPT 之父”暗讽马斯克;传安卓版本与鸿蒙将不再兼容;PICO 裁撤游戏工作室团队丨 RTE 开发者日报 Vol.83

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

ubuntu开机系统出错且无法恢复。请联系系统管理员。

背景: ubuntu22.04.2命令行,执行自动安装系统推荐显卡驱动命令,字体变大,重启后出现如下图错误,无法进入系统,无法通过CTRLALTF1-F3进入TTY模式。 解决办法: 1.首先要想办法进入系统&#xff…

VMware 虚拟机开启后黑屏问题的解决方式

很好,现在是vm 虚拟机节目的连续剧了 首先,我们安装好了,vm软件。 其次,我们在vm中创建了虚拟机。 再其次,我们解决了,开启虚拟机计算机自动重启的问题。 最后我们遇到了这个问题:虚拟机开启后整…

CSDN的规范、检测文章质量、博客等级好处等等(我也是意外发现的,我相信很多人还不知道,使用分享给大家!)

前言 都是整理官方的文档,方便自己查看和检查使用,以前我也不知道。后来巧合下发现的,所以分享给大家! 下面都有官方的链接,详情去看官方的文档。 大家严格按照官方的规范去记录自己工作生活中的文章,很快…

AP/PF PLASMA电源维修等离子变频电源PF23V-A1-138

维修包括:PECVD、MOCVD、IONIMP,PLASMA的设备电源,包括直流、高压、脉冲、射频、微波、匹配器、RPSC、CHILLER等。电源维修的时候,需要检测一下各功率器件是否存在击穿短路,例如电源整流桥堆、开关管、高频大功率整流管、浪涌电流的大功率电阻…

东莞松山湖数据中心|莞服务器托管的优势

东莞位于珠江三角洲经济圈,交通便利,与广州、深圳等大城市相邻,而且东莞是中国重要的制造业基地,有众多的制造业和科技企业集聚于此,随着互联网和数字化时代的到来,企业都向数字化转型,对于信息…

将请求映射到servlet的规则

参考资源 详情可以参考:https://jakarta.ee/specifications/servlet/6.0/jakarta-servlet-spec-6.0.html#mapping-requests-to-servlets URL路径的使用 web容器接收到客户端的请求,决定转发给哪个web应用。被选中的web 应用必须具有最长的上下文&…

【LittleXi】C程序预处理、编译、汇编、链接步骤

【LittleXi】C程序预处理、编译、汇编、链接步骤 C程序 #include<stdio.h> int main(){int x1,y1;printf("xy%d",xy); }1、预处理 将头文件引入进来、除去注释、宏定义下放 执行指令 g -E esc.c -o esc.i 2、编译 将处理好的代码编译为汇编代码.s 执行…

测试行业爬了7年,从功能测试到高级测试,工资也翻了好几倍

我在测试行业爬了7年。从功能测试到现在成为高级测试&#xff0c;我的工资也翻了好几倍。 入门阶段&#xff08;功能测试&#xff09; 个人认为&#xff0c;测试的前景还不错&#xff0c;只要你肯努力&#xff1b;刚出来的时候在鹅厂做外包功能测试。每天都很悠闲。点了两年&a…

Cesium深入浅出之自定义材质

引子 做为一名技术宅却没有能拿得出手的技术无疑是最可悲的事情。三年前&#xff0c;当我第一次接触Cesium的时候就被它强大和炫丽所折服&#xff0c;最关键的是它还是开源的。以前我一直是机械地敲着业务代码&#xff0c;好像计算机程序就只能干这点事情一样&#xff0c;而 C…

基于缎蓝园丁鸟算法优化概率神经网络PNN的分类预测 - 附代码

基于缎蓝园丁鸟算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于缎蓝园丁鸟算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于缎蓝园丁鸟优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针…

[CANN训练营]UART通信笔记

文章目录 前言一、前提知识1.串行通信2.并行通信3.单工、半双工、全双工通信3.1单工通信3.2半双工通信3.3全双工通信 4.补充&#xff1a;通信速率 二、UART通信1.UART通信2.UART工作原理 总结 前言 在ROS学习中&#xff0c;我们在入门基础除了ROS的小乌龟外&#xff0c;在通信…

【云栖2023】林伟:大数据AI一体化的解读

本文根据2023云栖大会演讲实录整理而成&#xff0c;演讲信息如下&#xff1a; 演讲人&#xff1a;林伟 | 阿里云研究员&#xff0c;阿里云计算平台事业部首席架构师&#xff0c;阿里云人工智能平台PAI和大数据开发治理平台DataWorks负责人 演讲主题&#xff1a;大数据AI一体化…

UMI4 AntDesignProV5 如何修改favicon 及放置的位置(AntDesignProV5 V4对比)

项目场景&#xff1a; 修改系统的favicon.ico AntDesignProV4 修改方式 因为在V4版本中&#xff0c;有根目录文件&#xff0c;可在文件中直接指定&#xff1a; <!-- document.ejs --><head><link rel"icon" type"image/x-icon" href&quo…

一篇揭秘Linux高性能服务epoll 的本质

导语 epoll接口是为解决Linux内核处理大量文件描述符而提出的方案。该接口属于Linux下多路I/O复用接口中select/poll的增强。其经常应用于Linux下高并发服务型程序&#xff0c;特别是在大量并发连接中只有少部分连接处于活跃下的情况 (通常是这种情况)&#xff0c;在该情况下能…

卫星位置解算

武大GPS原理及应用 1.广播星历&#xff08;预报星历&#xff09; 预报星历所得的轨道精度有限&#xff0c;精度在2m左右。 2.精密星历 P 、卫星PRN、卫星在地心地固坐标系坐标&#xff08;与wgs84有点差别&#xff09;、卫星钟差。 通过内插或者拟合来获取任意时刻的卫星位…

python---数据库操作

python的错误和异常 异常&#xff1a; 运行期检测到的错误被称为异常。 try语句按照如下方式工作&#xff1a; 首先&#xff0c;执行try子句&#xff08;在关键字try和关键字except之间的语句&#xff09; 如果没有异常发生&#xff0c;忽略except子句&#xff0c;try子句执…

Federated Social Recommendation with Graph Neural Network

基于图神经网络的联合社交推荐 ACM-TIST CCF_B类 论文链接 代码地址 模型中梯度和embedding的聚合 在FeSog中&#xff0c;Server端维护一个整体的model&#xff0c;由于这里的model层网络和GraphAttentionLayer层网络中一共有10个要更新参数&#xff0c;所以当每次server端将…