使用 VLC 作为 RTSP 服务器

使用 VLC 作为 RTSP 服务器

我正在尝试弄清楚如何使用 VLC 的服务器功能。更具体地说,如何在 RTP 流式传输时导出 SDP 文件。在第四章在与 RTP 流相关的部分中给出了服务器和客户端的示例:

vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'
vlc rtsp://server.example.org:8080/test.sdp

我不太清楚如何让它真正发挥作用。我使用两个 cmd 实例为服务器和客户端尝试了这两个命令:

vlc -I rc screen:// --sout=#rtp{dst=127.0.0.1,port=4444,sdp=rtsp://localhost:8080/test.sdp} 
vlc -I rc rtsp://localhost:8080/test.sdp

调用第二条命令导致第一条命令崩溃。第二条命令显示错误消息“无法连接到 localhost:8080”。

答案1

您的问题是,您查看的示例很可能是用于流式传输文件,而示例命令正在使用输入screen://。要使screen://设备工作,您需要先对视频进行编码。因此,请尝试以下操作:

vlc -I rc screen:// --sout=#transcode{vcodec=h264,vb=800,scale=0.25,fps=10}:rtp{dst=127.0.0.1,port=4444,sdp=rtsp://localhost:8080/test.sdp}
vlc -I rc rtsp://localhost:8080/test.sdp

答案2

您需要用双引号引用该命令

--sout="#transcode{vcodec=h264,vb=800,scale=0.25,fps=10}:rtp{dst=127.0.0.1,port=444‌​4,sdp=rtsp://localhost:8080/test.sdp}" 

相关内容