我们遇到的情况是,使用VLC播放RTP流(来自摄像头,始终发送的UDP,无论是否有人监听),但是提供VLC RTSP URL以及时获取SDP不是一种选择。
是 RTSP服务但我们需要提前查询并转储生成的SDP文件以便稍后将其提供给VLC。暂时执行RTSP查询是无用的,因为流始终存在。
当然,我一直在搜索Google,videolan wiki和StackExchange。
很难找到信息,因为当人们谈论流式传输,RTSP,RTP时,他们通常使用VLC来生成 RTP流,或输出VLC生成的SDP,因为它进行编码,等等 情况并非如此。要转储的SDP来自具有单个RTSP查询的服务器。
基本上,我正在寻找一个命令行,如:
vlc --sout...something...rtsp://sourceIP:Port/...something...out...myfile.sdp
这会将SDP转储到myfile.sdp
。
然后,稍后运行带有myfile.sdp
参数的vlc将播放该流。
答案 0 :(得分:2)
我们没有找到单独使用VLC的解决方案(我甚至看了一下VLC源代码)。所以我们用某种方式"蛮力"解决方案,但嘿,它的工作原理。
我们在配置时做的是要求VLC播放一次流,而Wireshark使用过滤器rtsp and sdp
捕获数据包。出现一个包含我们想要的SDP数据的数据包。我们选择它并使用"将选定的字节提取到..."并保存到名称以.sdp
结尾的文件。
这为我们提供了一个包含我们想要的SDP信息的文件。完成工作。