web-dev-qa-db-ja.com

RTSPストリームを読み取るときにFFMPEGにTCPプロトコルを使用させる

RTSPストリーム(DVRの2番目のチャネル)からフレームを取得するために、コマンドラインからffmpeg(Windows 7、64ビット)を実行しています。

_ffmpeg  -i "rtsp://xxx.xxx.xxx.xxx:554/user=xxxx&password=xxxx&channel=2&stream=0.sdp" -rtsp_transport tcp -y video.jpg
_

実行後、約10秒待ってから次のようになります。

_[rtsp @ 026fd840] UDP timeout, retrying with TCP
_

別の長い待機(2分ほど)の後、次のようになります。

_[rtsp @ 028dd840] Could not find codec parameters for stream 0 (Video: h264): unspecified size
_

UDPからTCPへの変更は機能しないため、TCPを強制的に使用する必要があることをどこかで読みました。

_-rtsp_transport tcp_が機能しない理由がわかりません。

ffmpeg version N-62509-g97751e1 built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC)を使用しています。

私を助けてください。ありがとうございました。

17
gary_star

-rtsp_transport tcpffmpegの直後に入力ストリームに適用します。このような:

ffmpeg -rtsp_transport tcp -i "rtsp://x.x.x.x:554/user=x&password=x&channel=2&stream=0.sdp" -y video.jpg
29
Alex Fotios