Joh*_*ard 0 passwords ffmpeg 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
Run Code Online (Sandbox Code Playgroud)
我认为这是因为问号,但我无法让错误消失。我尝试过用双引号、单引号将 URI 括起来,并转义问号,\?但似乎没有任何效果。
我想到了。您需要对其进行 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