Вычислить задержку экрана через HDMI

При воспроизведении видеофайла на компьютере, телевизоре высокой четкости (LED, Plasma и т. Д.) Возникает задержка между отображаемым видео и выводом звука с компьютера.

Я слышал, что Blueray Player может извлечь эту информацию из разъема HDMI для соответствующей задержки вывода звука. Это правда? Можно ли извлечь эту информацию программно?

1 ответ

Решение

Устройства HDMI передают много информации между собой. Некоторые примеры:

  • Какие сроки видео поддерживаются
  • Поддерживаемые форматы видео
  • Какой тип аудио (устройства) поддерживается / используется
  • EDID информация

    От hdmi.org: "PRID EDID содержит информацию о приемнике (устройстве отображения), в котором он находится. Его задача - передавать предпочтительные (или поддерживаемые) видео и аудио форматы и разрешения исходному источнику"

  • Какие другие устройства HDMI подключены (последовательно) и их видео / аудио форматы

В задержке может быть переменное время задержки, пока устройства синхронизируются друг с другом. Однако, что касается правильной синхронизации видео / аудио, более поздние совместимые устройства HDMI должны синхронизироваться автоматически. Из "Почему важна синхронизация губ":

"HDMI 1.3 предоставляет метод, с помощью которого время обработки звука в устройствах можно автоматически регулировать для устранения ошибок синхронизации губ".

Я полагаю, что для программного доступа к информации вам понадобится лицензированное устройство Intel HDMI (см. HDCP в Википедии), которое сможет отправлять / получать зашифрованный поток HDMI с других устройств. Это будет устройство HDMI с драйвером устройства, API которого вы можете вызывать из вашей программы.

В вашем случае вы упоминаете воспроизведение видео файла. Чтобы исправить синхронизацию аудио / видео, вам, скорее всего, придется найти в своей программе медиаплеера опцию, чтобы либо задержать, либо ускорить запуск аудио, чем получить доступ и изменить что-либо на устройстве HDMI.

Другие вопросы по тегам