2012-03-28 3 views
1

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

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

Спасибо.

ответ

0

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

1

Я хотел бы использовать 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 и продолжит поток.

Смежные вопросы