使用VSP一次使用RTSP获取SDP文件

时间:2016-01-24 23:52:06

标签: vlc sdp rtsp-client

上下文

  • 大多数RTP流(来自例如IP摄像机)需要来自SDP的一些信息才能解码它们。
  • SDP通常是及时提取的,通常来自RTSP网址,但其他方法也是可能的(例如HTTP)。

具体案例

我们遇到的情况是,使用VLC播放RTP流(来自摄像头,始终发送的UDP,无论是否有人监听),但是提供VLC RTSP URL以及时获取SDP不是一种选择。

RTSP服务但我们需要提前查询并转储生成的SDP文件以便稍后将其提供给VLC。暂时执行RTSP查询是无用的,因为流始终存在。

如何使用VLC进行此操作?

发布前搜索

当然,我一直在搜索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将播放该流。

1 个答案:

答案 0 :(得分:2)

我们没有找到单独使用VLC的解决方案(我甚至看了一下VLC源代码)。所以我们用某种方式"蛮力"解决方案,但嘿,它的工作原理。

我们在配置时做的是要求VLC播放一次流,而Wireshark使用过滤器rtsp and sdp捕获数据包。出现一个包含我们想要的SDP数据的数据包。我们选择它并使用"将选定的字节提取到..."并保存到名称以.sdp结尾的文件。

这为我们提供了一个包含我们想要的SDP信息的文件。完成工作。