Проблемы при декодировании mpeg2 потока (ffmpeg, libavcodec)

Ответить
Аватара пользователя
urello

Проблемы при декодировании mpeg2 потока (ffmpeg, libavcodec)

Сообщение urello »

Добрый день!

Дома имеется тарелка и ресивер Dreambox 500s

Есть желание смотреть тв с работы.

Дома поднял сервер для ужатия видео, так как Dreambox отдаёт с битрейтом 30 Мб/с, что накладно.

При сжатии видео периодически выскакивают сообщения такого плана.



Код:

Код: Выделить всё

[mpeg2video @ 0x80370c010]ac-tex damaged at 23 
[mpeg2video @ 0x80370c010]invalid cbp at 4 25 
[mpeg2video @ 0x80370c010]mb incr damaged 
[mpeg2video @ 0x80370c010]ac-tex damaged at 1 27 
[mpeg2video @ 0x80370c010]invalid cbp at 7 28 
[mpeg2video @ 0x80370c010]ac-tex damaged at 23 30 
[mpeg2video @ 0x80370c010]slice mismatch 
[mpeg2video @ 0x80370c010]invalid mb type in P Frame at 10 31 
[mpeg2video @ 0x80370c010]ac-tex damaged at 8 32 
[mpeg2video @ 0x80370c010]ac-tex damaged at 17 33 
[mpeg2video @ 0x80370c010]ac-tex damaged at 11 34 
[mpeg2video @ 0x80370c010]invalid cbp at 3 35 
[mpeg2video @ 0x80370c010]Warning MVs not available 
[mpeg2video @ 0x80370c010]concealing 484 DC, 484 AC, 484 MV errors

При этом на клиенте картинка замирает, появляются дефекты.

При передаче потока без сжатия картинка отличная.

Можно ли решить проблему?

Можно ли сказать ffmpeg'y использовать другой mpeg2 декодер (не из библиотеки libavcodec), если проблема именно в декодере?

Заранее спасибо.
Аватара пользователя
DJ Mogarych

Re: Проблемы при декодировании mpeg2 потока (ffmpeg, libavcodec)

Сообщение DJ Mogarych »

Предположу, что проблемы связаны с тем, что MPEG-сжатие разделяет кадры на ключевые и неключевые. Если возникает ошибка, то кадры, следующие за сбойным, искажаются, так как зависят от кадров, идущих ранее.



При несжатом потоке все кадры передаются отдельно, поэтому сбой одного кадра незаметен.



В связи с этим можно попробовать сжимать не в MPEG-2, а в кодеки, которые кодируют каждый кадр отдельно. Например, M-JPEG. Поток будет меньшим, чем при несжатом потоке, где-то раза в четыре.



Если я что-то не так понял, поясните.
Аватара пользователя
urello

Re: Проблемы при декодировании mpeg2 потока (ffmpeg, libavcodec)

Сообщение urello »

Дело в том, что я приминаю поток в mpeg-2 и перекодирую его в flv. То есть, проблема возникает на стадии декодирования, а не кодирования.
Ответить

Вернуться в «Видео и аудио: обработка и кодирование»