我正在执行以下 sh。
#!/bin/sh
export DATETIME=`date +%Y%m%d%H%M`
export DATE=`date +%Y%m%d`
export MONT=`date +%Y%m`
mkdir -p /Users/User/Desktop/testFolder
ffmpeg -ss 2 -i rtsp://ip:554/user=myUser&password=myPassword&channel=2&stream=0.sdp?real_stream--rtp-caching=100 -y -f image2 -qscale 0 -frames 1 /Users/User/Desktop/testFolder/sample.jpeg
但是,我收到以下错误:
第 7 行:-y:未找到命令
和:
[rtsp @ 0x7fd55980da00] 方法 DESCRIBE 失败:451 错误 rtsp://ip:554/user=myUser:服务器返回 4XX 客户端错误,但不是 40{0,1,3,4} 之一
我缺少什么?我已经安装了 ffmpeg,所有选项都可用。
答案1
我只是想在答案中包装正确的@rogerdpack 假设,因为我遇到了同样的问题,它有所帮助。
您应该指定用引号括起来的 URL 以使其工作,因为 ffmpeg 不支持凭据规范的开关并将其视为无效 URL。所以只需像这样使用:
ffmpeg -ss 2 -i "rtsp://ip:554/user=myUser&password=myPassword&channel=2&stream=0.sdp?real_stream--rtp-caching=100" -y -f image2 -qscale 0 -frames 1 /Users/User/Desktop/testFolder/sample.jpeg