通过反复试验,我能够使用以下 URL 在 VLC 中显示来自 RTSP WiFi 摄像头的馈送:
rtsp://192.168.2.33:554?user=admin&password=&channel=2&stream=1.sdp
然而我发现所有的例子都使用了类似的东西:
rtsp://192.168.2.33:554/user=admin&password=&channel=2&stream=1.sdp
用/
代替?
。/
对我来说 不起作用。 VLC 无法打开流。 有人知道有什么区别吗?
答案1
问号在 URI 中用作资源路径和查询参数的分隔符。每RFC 3986:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
并且在第 3.3 节:
路径以第一个问号(“?”)或数字符号(“#”)字符终止,或者以 URI 的结尾终止。
所以你的第一个例子是正确的。
第二个(没有?
)是错误的,因为它将查询参数组合成所请求资源的路径。
附注:浏览器(至少是当前版本的 Chrome 或 Firefox)将自动更改:
http://192.168.2.33:554?user=admin&password=&channel=2&stream=1.sdp
进入:
http://192.168.2.33:554/?user=admin&password=&channel=2&stream=1.sdp
答案2
尝试
rtsp://user:[email protected]/
这至少应该为您提供第一个频道,此后,其余部分的语法可以依赖于设备。
rtsp://user:[email protected]/cam/realmonitor?channel=1&subtype=1
对我来说是可行的,但你的里程可能会有所不同。