rtspビデオからスクリーンショットを保存する

rtspビデオからスクリーンショットを保存する

以下の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 の仮定を回答に含めたいと思いました。ffmpeg
は資格情報指定のスイッチをサポートしておらず、無効な URL として扱うため、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

関連情報