Как отменить контекстные повторы во время декодирования видео H264 от GStreamer webrtcbin - PullRequest
0 голосов
/ 23 октября 2018

Конвейер Gstreamer получает видео следующим образом:

webrtcbin -> rtph264depay -> avdec_h264 -> ...

Я включил do_nack в rtpbin внутри webrtcbin, чтобы улучшить качество видео, нопроблема в том, что потерянные буферы из RTP приводят к тому, что иногда декодер h264 становится равным Reinit context to ..., что делает все выходное видео серым (с видимым только движением) до получения следующего ключевого кадра (но это может произойти много секунд спустя).

Я заметил, что EVENT_GAP испускается непосредственно перед перезапуском контекста, но удаление их не помогает.

Как заставить артефакты декодирования действовать как всегда на поврежденном видео, а не заполнять все видеос серым?

1 Ответ

0 голосов
/ 20 марта 2019

Мне не удалось найти решение с помощью avdec_h264, но компиляция gst-plugins-bad самостоятельно и использование openh264dec решают проблему (удивительно, что она недоступна в пакете репозитория в Ubuntu / Debian).

...