1

Mjpeg ストリームをデコードするために FFMpeg を使用しています。最近、FFMpeg からのアクセス違反の例外に出くわしました。調査の結果、ネットワーク パケット ドロップが原因で、「ギャップ」が含まれている可能性のあるフレームを FFMpeg に渡していることがわかりました。FFMpeg は、フレームのメモリに存在しないマーカー ペイロードにジャンプするため、おそらくクラッシュします。

mjpeg構造バリデーターを見つけることができる場所はありますか? このような検証を単独で実行するように FFMpeg を構成する方法はありますか?

ありがとう。

4

2 に答える 2

1

ここでは、ffmpeg の代わりに Gstreamer を使用し、jpegdec プラグインの「max-errors」プロパティを -1 に設定する傾向があります。

gst-launch -v souphttpsrc location="http://[ip]:[port]/[dir]/xxx.cgi" do-timestamp=true is_live=true ! multipartdemux ! jpegdec max-errors=-1 ! ffmpegcolorspace ! autovideosink.

これにより、破損した jpeg フレームが処理され、ストリームが続行されます。

于 2012-10-22T15:53:41.087 に答える
0

質問に対する答えが本当に見つかりませんでした。どうやら、ffmpeg は破損したフレームをうまく処理できません。ffmpeg の代わりに別のサードパーティのデコーダーを試すことにしました。今のところ、少なくとも Jpeg の場合は、より速く、より堅牢に動作します。

于 2012-05-10T18:30:40.807 に答える