FFMpeg падает при декодировании MJpeg - PullRequest
1 голос
/ 28 марта 2012

Я работаю с FFMpeg для декодирования потоков Mjpeg.Недавно я столкнулся с исключениями нарушения прав доступа из FFMpeg, после исследования я обнаружил, что из-за отбрасывания сетевых пакетов я передаю в FFMpeg кадр, в котором могут быть «пробелы».FFMpeg, вероятно, аварийно завершает работу, поскольку он переходит к полезной нагрузке маркера, которой нет в памяти фрейма.

Есть идеи, где я могу найти средство проверки структуры mjpeg?Есть ли способ настроить FFMpeg для выполнения таких проверок самостоятельно?

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 октября 2012

Я был бы склонен использовать Gstreamer здесь вместо ffmpeg и установить свойство "max-errors" в плагине jpegdec равным -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 и продолжает поток.

0 голосов
/ 10 мая 2012

Не нашел ответа на вопрос. Очевидно, ffmpeg не очень хорошо обрабатывает поврежденные кадры. Решил попробовать другой сторонний декодер вместо ffmpeg. На данный момент, по крайней мере для Jpeg, он работает быстрее и намного надежнее.

...