DeepStream--调试Gstreamer

DeepStream是基于Gstreamer开发的。有时候需要在Gstreamer加日志,比如想在rtpjitterbuffer里加日志。

首先,执行gst-inspect-1.0  rtpjitterbuffer命令。

从结果中可以看到,rtpjitterbuffer插件的源码是gst-plugins-good,版本是1.16,在/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtpmanager.so中.

如下步骤是搭环境,下代码,编译。

1. 参考:https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/tree/1.16?ref_type=heads

,pip install meson用于装meson, apt-get install  ninja-build 用于装ninja。

2. git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git

3. git branch 1.16 && git checkout 1.16 && git reset --hard origin/1.16

4. meson build

5. ninja -C build

到此编译成功,编好库的路径是:build/gst/rtpmanager/libgstrtpmanager.so.

如下步骤是加日志,编译。

1. 将GST_ERROR_OBJECT (jitterbuffer, "in gst_rtp_jitter_buffer_chain"); 加到gst_rtp_jitter_buffer_chain函数里,再执行ninja -C build。

如下步骤是替换测试。

mv /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtpmanager.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtpmanager.so_bk
mv build/gst/rtpmanager/libgstrtpmanager.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtpmanager.so
export GST_DEBUG=3
gst-launch-1.0 rtspsrc location=rtsp://xx ! rtph264depay ! h264parse ! 'video/x-h264,stream-format=byte-stream' ! filesink location=test.h264

可以看到程序在不停打印in gst_rtp_jitter_buffer_chain。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Halcon参考手册异常检测知识总结

1.1异常检测介绍 本章将介绍如何使用基于深度学习的异常检测和全局上下文异常检测。通过这两种方法,我们想要检测图像是否包含异常(异常是指偏离正常的事物,未知的事物)。 异常检测或全局上下文异常检测模型学习无异常图像的共同特征。经过训练的模型将…

map 和 multimap 存储区别 、取消自动排序 unordered_map

测试代码 std::map<int, CString > Map1;Map1.insert({ 6, L"HN400*200*11*8" });Map1.insert({ 5, L"HN200*200*11*8" });Map1.insert({ 7, L"HN100*200*11*8" });Map1.insert({ 4, L"HN200*200*11*8" });Map1.insert({ 4, L…

Spring对JUnit4和junit5的支持

Junit4支持 第一步&#xff1a;准备工作&#xff1a; 引入JUnit4的依赖&#xff0c;Spring对JUnit支持的依赖还是&#xff1a;spring-test&#xff0c;如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://ma…

致命解药,冒险游戏剧情!

致命解药&#xff1a;僵尸末日的生存探索 《致命解药》是一款由两人团队精心制作的单机冒险游戏。这款游戏的故事发生在僵尸横行的末日世界&#xff0c;人类在绝望中寻找希望&#xff0c;在黑暗中寻找光明。而玩家的使命&#xff0c;就是在这个残酷的世界中&#xff0c;寻找能…

【数据结构c实现】顺序表实现

文章目录 线性表线性表的顺序实现顺序表结构顺序表初始化增配空间Inc打印顺序表show_list线性表长度length尾部插入push_back头部插入push_front尾部删除pop_back头部删除pop_front按位置插入insert_pos按值查找find按位置删除delete_pos按值删除delete_val排序sort(冒泡&#…

VSCode解决本地浏览器需要跨域问题

这里写目录标题 测试用代码执行代码后控制台报错现象解决方案 测试用代码 先把测试用的代码贴出来 测试代码结构 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Com…

ShellCode注入程序

程序功能是利用NtQueueApcThreadEx注入ShellCode到一个进程中&#xff0c;程序运行后会让你选择模式&#xff0c;按1为普通模式&#xff0c;所需的常规API接口都是使用Windows原本正常的API&#xff1b;在有游戏保护的进程中Windows原本正常的API无法使用&#xff0c;这时候需要…

Android自定义图片涂鸦View实现绘制和橡皮擦功能

在Android应用开发中,涂鸦功能是一个常见的需求,用户可以在画布上进行自由绘制和擦除操作。本文将介绍如何使用自定义View来实现一个具备绘制和橡皮擦功能的涂鸦View,并提供了相关示例代码。 1. 引言 在移动应用开发中,涂鸦功能为用户提供了一种直观的绘图体验,并广泛应用…

怎么制作GIF动图?教你这几个简单方法

怎么制作gif动图&#xff1f;GIF动图是一种非常有趣且实用的图片格式&#xff0c;它能够以短小精悍的方式展示动画效果&#xff0c;因此在社交媒体和聊天应用中备受追捧。本文将向您介绍几种制作GIF动图的方法&#xff0c;让您轻松制作出自己的动图。 GIF动图制作方法一&#x…

音视频技术开发周刊 | 323

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 Meta牵头组建开源「AI复仇者联盟」&#xff0c;AMD等盟友800亿美元力战OpenAI英伟达 超过50家科技大厂名校和机构&#xff0c;共同成立了全新的人工智能联盟。以开源为旗号…

建立海外SD-WAN专线网络的成本分析

高速、稳定的网络连接是企业成功拓宽海外市场和开展海外业务的关键因素之一。作为一种提供更高质量和性能的连接的网络解决方案&#xff0c;海外SD-WAN专线被越来越多的企业选择。以下将详细介绍建立海外SD-WAN专线网络的成本组成&#xff0c;以协助企业更全面地了解和规划对网…

C#基础——类、对象和属性

C# 属于 面向对象 的编程&#xff0c;“万物皆对象” 面向对象编程的三大特性&#xff1a;封装、继承、多态。 通过类能过较好的体现该语言的特点 类&#xff1a;是具有相同属性和行为特征的集合 类的语法格式&#xff1a; 访问修饰符 class关键字 类名 两种创建类的方式 第…