2012-03-28 13 views
1

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

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

ありがとうございました。

答えて

0

質問に対する回答は見つかりませんでした。明らかに、ffmpegは壊れたフレームをうまく処理しません。 ffmpegではなく、別のサードパーティのデコーダを試してみることにしました。今のところ、少なくともJpegでは、より速くてはるかに頑強です。

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フレームを処理し、ストリームを継続します。

関連する問題