使用gst-rtsp-server流式传输H264文件

问题描述 投票:0回答:2

GStreamer大家庭,

想想我是GStreamer的初学者。我正在尝试使用gst-rtsp-server流式传输记录的H264文件。所以我可以播放/暂停/寻找VLC播放器的视频。

这是我到目前为止所做的:

使用以下管道从IP摄像机的RTP H264流中记录H264编码视频:

gst-launch-1.0.exe -e -v rtspsrc location=rtsp://192.168.16.155/live.sdp ! rtph264depay ! h264parse ! mp4mux ! filesink location=record/video.h264

然后,我使用以下管道流式传输录制的video.h264:

gst-launch-1.0.exe -v filesrc location=record/video.h264 ! qtdemux ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=127.0.0.1 port=5000

我可以通过设置SDP文件在VLC播放器中查看录制的视频,如下所示。

v=0 m=video 5000 RTP/AVP 96 c=IN IP4 127.0.0.1 a=rtpmap:96 H264/90000

但是,我无法暂停或寻找视频。即使VLC播放器未连接到端口5000,上述管道也会继续播放视频。

顺便说一句..我尝试使用gst-rtsp-server的test-mp4示例来传输video.h264,但VLC播放器超时连接。 test-mp4控制台输出仅显示单个消息,即“在rtsp://127.0.0.1:8554 / test下准备流”。

有人能指出我正确的方向使用GStreamer流式传输录制的视频,并通过RTSP从VLC播放器播放/暂停/寻找控制吗?

谢谢,胳膊

video-streaming gstreamer h.264 rtsp
2个回答
0
投票

对于test-mp4: - 请记住,你必须使用mp4视频。 - IIRC,mp4 fle必须包含视频和音频(因为test-mp4中的管道将同时播放)。 - 运行test-mp4后,检查服务器的IP(运行test-mp4的机器)。在这种情况下,您将环回流到同一台PC,因此您可以使用环回IP 127.0.0.1 - 然后,在客户端,打开VLC并选择Open Network Stream,并输入rtsp URL为:rtsp:// <Server IP>:8554 / test 例如,如果服务器IP为192.168.1.1,则URL为rtsp://192.168.1.1:8554/test

对于rtsp-server: - 只需按照test-mp4中的示例操作即可 - 但请记住一些要点: +您必须编写一个使用rtsp-server的应用程序,不能与gst-launch一起使用 +所有付费元素(在这种情况下为rtph264pay)必须设置为name=pay*,*是一个数字(pay0,pay1,pay2 ......)


0
投票

如果您遇到同样的问题,我可以通过RTSP / RTP流式传输录制的H264视频文件。

修改test-mp4示例的rtsp管道启动字符串,如下所示: "filesrc location=\"%s\" ! qtdemux " "! h264parse ! rtph264pay pt=96 name=pay0 " ")"

© www.soinside.com 2019 - 2024. All rights reserved.