使用 VLC 作为 RTSP 服务器

Sta*_*ked 4 vlc-media-player video-streaming rtsp

我想弄清楚如何使用 VLC 的服务器功能。更具体地说,如何在 RTP 流传输时导出 SDP 文件。在第 4 章中与服务器和客户端的 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
Run Code Online (Sandbox Code Playgroud)

我不太清楚如何使它真正起作用。我已经使用两个 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
Run Code Online (Sandbox Code Playgroud)

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

hea*_*vyd 5

您的问题是您正在查看的示例很可能是用于流式传输文件,而您的示例命令正在使用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
Run Code Online (Sandbox Code Playgroud)