将视频流式传输到 gstreamer rtsp 服务器

Tal*_*rom 2 rtsp video-streaming gstreamer

我正在尝试基于 gstreamer 构建一个 rtsp 视频服务器。在我的情况下,我需要客户端连接到服务器并开始将视频流式传输到服务器。

我已经阅读了一些关于这个主题的教程,尤其是这个:http : //www.ip-sense.com/linuxsense/how-to-develop-a-rtsp-server-in-linux-using-gstreamer/

在本教程中,视频从服务器流式传输到客户端,我需要更改它,以便视频将从客户端流式传输到服务器。

编辑:在演示中,此管道已启动:

gst_rtsp_media_factory_set_launch (factory, "( "
          "videotestsrc ! video/x-raw-yuv,width=320,height=240,framerate=10/1 ! "
          "x264enc ! queue ! rtph264pay name=pay0 pt=96 ! audiotestsrc ! audio/x-raw-int,rate=8000 ! alawenc ! rtppcmapay name=pay1 pt=97 "")");
Run Code Online (Sandbox Code Playgroud)

管道从视频和音频测试源开始,并将它们编码为有效载荷 0 和 1。我需要做相反的事情 - 获取 rtsp 有效载荷并对其进行解码。

小智 5

虽然这个问题很久以前就有人问过了,但我会为可能正在寻找它的其他人回答。使用 GStreamer 来实现这一点。

  1. Gstreamer 现在有一个 RTSP 媒体服务器在这里
  2. Gstreamer 还有一个GstRtspClientSink 元素,它允许您将流发送到兼容的 RTSP 媒体服务器。一个基本的命令行示例是“gst-launch-1.0 videotestsrc ! queue ! x264enc ! rtspclientsink location=rtsp://127.0.0.1:8554/test” 假设媒体服务器在本地主机、端口 8554 上运行并期待发布点“测试”
  3. 此处提供了一个基于 GStreamer RTSP 服务器的应用程序示例,该应用程序接受来自客户端的流