Как устраняется повреждение декодирования видео?

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

Поскольку обработка видео для меня очень нова, весь процесс кажется довольно сложным, и кажется, что есть много мест, где могут проявиться искажения. Насколько я вижу, есть как минимум три места, где может появиться повреждение (за исключением повреждения памяти на машине):

  • Транспортировка данных до их декодирования
  • реализация декодирования, которая увековечивает повреждение после его обнаружения или все вместе неверно (что, похоже, является моей проблемой)
  • Транспортировка к монитору(что маловероятно, но возможно)

Итак, что мне действительно интересно, так это то, как люди отлаживают свои видеопотоки, чтобы определить местоположение любого потенциального повреждения, с которым они сталкиваются. Я уверен, что нет надежного метода пожара, но мне любопытно посмотреть, какие проблемы вообще возможны и как их можно выявить и отсортировать.

P.S. - Я не уверен в различиях между различными методами декодирования, но, если этот вопрос кажется слишком расплывчатым, может быть, полезно упомянуть, что я использую ffmpeg и avcodec_decode_video2 для декодирования.


person TopGunCoder    schedule 17.09.2013    source источник
comment
Если вы используете установленные инструменты, такие как ffmpeg, вероятность неправильного декодирования очень мала. Кроме того, нередко стандартные кодеки закрепляют ошибки в следующих кадрах. Какие кодеки вы используете? Первое место, где я бы искал повреждение данных, — это транспортный канал, особенно если он беспроводной. Вы работаете с каким-то конкретным сценарием (например, тактическими сетями с ненадежными беспроводными сигналами)? Конечно, вам нужно проверить правильность кодирования видео перед его передачей. Попробуйте декодировать его перед передачей и посмотрите, сохранились ли искажения.   -  person elnigno    schedule 17.09.2013
comment
Я считаю, что рассматриваемый код - H264. Я также провел тестирование кодирования с использованием надежного программного обеспечения для декодирования, это программное обеспечение способно отлично декодировать изображения. Так что, по крайней мере, я знаю, что это ограничено реализацией декодирования.   -  person TopGunCoder    schedule 17.09.2013
comment
Хорошо, если это так, то какие искажения вы видите? Он проявляется только в некоторых случаях или носит общий характер? Кодирование с потерями или без потерь?   -  person elnigno    schedule 18.09.2013
comment
Это просто набор искаженных форм и цветов, которые принимают форму видеопотока. Что касается кодирования, я почти уверен, что оно без потерь, но опять же, я копался только в декодировании. Я задал еще один вопрос о том, от чего, по моему мнению, может исходить коррупция. Это может быть натянуто, но, похоже, у него есть некоторые достоинства " title="avcodec decode video2, что предотвращают лишние байты"> stackoverflow.com/questions/18857365/   -  person TopGunCoder    schedule 18.09.2013
comment
Можете ли вы попробовать другие настройки кодирования? Это может помочь найти то, что конкретно неправильно в декодировании.   -  person elnigno    schedule 18.09.2013