FFMpeg在解码MJpeg时崩溃

时间:2012-03-28 14:03:01

标签: ffmpeg mjpeg

我正在使用FFMpeg解码Mjpeg流。 最近我遇到了来自FFMpeg的访问冲突异常,经过调查,我发现由于网络数据包丢失,我将FFMpeg传递给可能存在“缺口”的帧。 FFMpeg可能会崩溃,因为它会跳转到帧内存中不存在的标记有效负载。

我知道在哪里可以找到mjpeg结构验证器吗? 有没有办法配置FFMpeg自己执行这样的验证?

感谢。

2 个答案:

答案 0 :(得分: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帧并继续流。

答案 1 :(得分:0)

没有真正找到问题的答案。 显然,ffmpeg并不能很好地处理损坏的帧。 决定尝试使用不同的第三方解码器而不是ffmpeg。目前,至少对于Jpeg来说,它的工作速度更快,更强大。