Я написал живой фильтр, который получает поток mpeg-ts, содержащий h.264 видео и аудио aac. Я настроил конвейер directshow и сконфигурировал выходные выводы. Я могу отобразить поток h.264, но я получаю артефакты в рендеринге, как видно из этого скриншота при потоковой передаче с gstreamer с помощью видеоролика и шаблона «ball». Этот снимок экрана должен содержать только одну белую точку на черном фоне. Двумя дополнительными являются «остатки», которые появляются при воспроизведении анимации.Почему я получаю эти артефакты при использовании демультиплексора Microsoft MPEG-TS и декодера H.264 в потоке MPEG-TS H.264?
Если я передаю MPEG-2 и соответствующим образом изменяю конвейер, шаблон отображает без ошибок. Я попытался использовать настройки, описанные on msdn, для настройки вывода, как с использованием H264, так и с AVC1, явно предоставляющих заголовок последовательности и так далее. Я все равно получаю такие же артефакты.
Интересно, что артефакты в основном появляются на той же частоте, что и I-Frames, и если мы отправляем только I-Frames (key-int-max = 1), артефакты полностью исчезают.
Кроме того, ошибки отображаются в верхней половине изображения, когда интервал I-Frame равен 60, то есть каждые 2 секунды. Когда мы переходим на один I-Frame каждый второй кадр (key-int-max = 2), артефакты появляются только в узкой полосе в верхней части изображения.
Следующая GStreamer трубопровода производится видеопоток:
videotestsrc live-source=true pattern=ball ! video/x-raw-yuv,format=(fourcc)I420,width=1366,height=768,framerate=30/1 ! timeoverlay halign=left valign=bottom shaded-background=true ! x264enc bitrate=4096 tune=zerolatency ! h264parse ! queue ! mux. audiotestsrc wave=ticks volume=0.2 ! voaacenc ! mux. mpegtsmux name=mux ! udpsink host=<ip> port=<port>
Это то, что трубопровод выглядит следующим образом:
Конфигурация в этом примере majortype = MEDIATYPE_Video, подтип = MEDIASUBTYPE_H264, formattype = FORMAT_MPEG2Video. Отсутствует конкретный указатель последовательности и т. Д.
Вопрос в том, являются ли эти признаки артефактов некоторой общей проблемой конфигурации?