我正在尝试构建一个基于gstreamer的rtsp视频服务器。
就我而言,我需要客户端连接到服务器并开始将视频流传输到服务器。
我读过一些关于这个主题的教程,尤其是这个:http://www.ip-sense.com/linuxsense/how-to-develop-a-rtsp-server-in-linux-using-gstreamer/ 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 "")");
管道从视频和音频测试源开始,并将它们编码到有效负载 0 和 1 中。我需要执行相反的操作 - 获取 rtsp 有效负载并对其进行解码。
虽然这个问题很久以前就被问过,但我会为其他可能正在寻找它的人回答。使用 GStreamer 来实现这一点。
- Gstreamer 现在有一个 RTSP 媒体服务器Here https://github.com/GStreamer/gst-rtsp-server
- Gstreamer 还有一个Gst RtspClientSink 元素 https://github.com/GStreamer/gst-rtsp-server/blob/master/gst/rtsp-sink/gstrtspclientsink.c它允许您将流发送到兼容的 RTSP 媒体服务器。一个基本的命令行示例是“gst-launch-1.0 videotestsrc !queue !x264enc !rtspclientsink location=rtsp://127.0.0.1:8554/test”,假设媒体服务器在本地主机、端口 8554 上运行并期望发布点“测试”
- 提供了一个基于 GStreamer RTSP 服务器的应用程序示例,该应用程序接受来自客户端的流Here https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-record.c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)