2012-03-28 223 views
1

我正在使用FFMpeg解碼Mjpeg流。 最近我碰到FFMpeg的訪問衝突異常,經過調查,我發現由於網絡數據包丟失,我傳遞給FFMpeg一個可能存在「差距」的幀。 FFMpeg可能會崩潰,因爲它跳轉到幀存儲器中不存在的標記有效載荷。FFMpeg解碼MJpeg時崩潰

任何想法,我可以找到一個mjpeg結構驗證程序? 有沒有什麼辦法可以配置FFMpeg來自行執行驗證?

謝謝。

回答

0

沒有真正找到問題的答案。顯然,ffmpeg不能很好地處理損壞的幀。 決定嘗試不同的第三方解碼器而不是ffmpeg。目前,至少對於Jpeg來說,它的運行速度更快,而且更加強大。

1

我會傾向於在這裏使用Gstreamer而不是ffmpeg,並將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幀並繼續流。