首页 > 解决方案 > 是否可以通过使用 udpsrc 和 udpsink 来破坏 Gstreamer 管道

问题描述

我对 udpsink 和 udpsrc 有疑问。它们可以用于分解管道吗?

我编写了一个 Gstreamer 应用程序,它可以显示来自摄像头的实时提要,通过 rtp 和 udp 流式传输视频,记录提要和播放。

现在用户有一个额外的要求来通过 rtsp 流式传输视频。我已经决定 gst-rtsp-server lib 是要走的路。在看到 rtsp-server 示例时,他们会要求我围绕 gst-rtsp-server 管道重建我的旧管道,或者至少单独构建它以以 appsink 或 appsrc 结尾(推送或拉取样本/缓冲区)

但是我想知道是否可以用 udpsrc 和 udpsink (使用一些硬代码或内部地址和端口)替换它们......这意味着以下等价物

旧管道:(在一个线程中)

   v4l2src  ->  vpuenc_h264 -> rtph264pay ->udpsink host = x port =y

RTSP 管道(在单独的线程中)

   udpsrc port = x -> rtph264depay -> rtph264pay name=pay0

它们都将在同一个应用程序和进程中。

我的问题是这行得通吗?我可能会面临哪些问题和障碍(即延迟增加、视频速度慢等)?

谢谢

标签: c++cgstreamerrtsp

解决方案


推荐阅读