如何给ffmpeg命令解码具有'?'的rtsp流在密码?

时间:2017-01-23 23:39:13

标签: ffmpeg passwords escaping

我们说密码是'密码?'。 RTSP URL可能如下所示:

rtsp://admin:password?@192.168.1.12:554/path/to/stream.sdp

问题是,当我在以下命令中使用它时:

ffmpeg -t 00:00:05 -i rtsp://admin:password?@192.168.1.12:554/path/to/stream.sdp out.mp4

我总是收到错误:

[tcp @ 0x7fa03a700160] Port missing in uri
rtsp://admin:admin\?@192.168.1.13:554/live/0/h264.sdp: Invalid argument

我认为这是因为问号,但我不能让错误消失。我尝试用双引号,单引号括起来,然后通过\?转义问号,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:3)

我明白了。您需要对其进行URI转义,因此请像对URL参数一样对其进行编码。 所以 rtsp://admin:password?@192.168.1.33/live/0/h264.sdp变成了 rtsp://admin:password%3F@192.168.1.33/live/0/h264.sdp