2017-08-31 27 views
1

ライブカメラストリームをJPGフレームに書き出すには、ffmpeg 2.2.2(Windows)を使用しています。私は、コマンドラインを使用しています:ffmpeg jpgフレームキャプチャ - 破損したフレームを破棄する方法

ffmpeg -err_detect aggressive -i rtsp://[ip address]:554/11 -r 1 -s 640x320 -an -f image2 c:\temp\snapshots\snapshot-%03d.jpg 

これは、ライブストリームから毎秒約1フレームをエクスポートする連続プロセスを開始します。しかし、エクスポート中の様々な時点で、ffmpegのは、このようなエラーがスローされます。

[h264 @ 00037ae0] RTP: missed 2 packets=00:01:09.00 bitrate=N/A dup=0 drop=1186 
[h264 @ 02fbc340] Cannot use next picture in error concealment 
[h264 @ 02fbc340] concealing 4386 DC, 4386 AC, 4386 MV errors in P frame 
[h264 @ 00037ae0] RTP: missed 13 packets 
[h264 @ 02fbf7a0] left block unavailable for requested intra mode at 0 15p=1196 
[h264 @ 02fbf7a0] error while decoding MB 0 15, bytestream 128288 
[h264 @ 02fbf7a0] concealing 6409 DC, 6409 AC, 6409 MV errors in I frame 

はしかし、それが破損しているJPGファイルを作成するために進みます。たとえば、ファイルの先頭は問題ありませんが、同じピクセルが残りの画像を塗りつぶします。 enter image description here

このようなエラーが発生した場合、ffmpegに1)保存後に破損した画像を破棄するか、2)単に画像をファイルに書き込まないようにするにはどうすればよいですか?

私はerr_detectフラグが役立つかもしれないと思ったが、それは違いがないようだ。

答えて

4

入力でdiscardcorruptフラグを試すことができます。完全なコマンドラインは次のようになります:

ffmpeg -err_detect aggressive -fflags discardcorrupt -i rtsp://[ip address]:554/11 -r 1 -s 640x320 -an -f image2 c:\temp\snapshots\snapshot-%03d.jpg 
関連する問題