DeepStream--调试Gstreamer

2023-12-13 05:49:51

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。

文章来源:https://blog.csdn.net/evsqiezi/article/details/134951093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。