Вычислить задержку экрана через HDMI
При воспроизведении видеофайла на компьютере, телевизоре высокой четкости (LED, Plasma и т. Д.) Возникает задержка между отображаемым видео и выводом звука с компьютера.
Я слышал, что Blueray Player может извлечь эту информацию из разъема HDMI для соответствующей задержки вывода звука. Это правда? Можно ли извлечь эту информацию программно?
1 ответ
Устройства HDMI передают много информации между собой. Некоторые примеры:
- Какие сроки видео поддерживаются
- Поддерживаемые форматы видео
- Какой тип аудио (устройства) поддерживается / используется
От hdmi.org: "PRID EDID содержит информацию о приемнике (устройстве отображения), в котором он находится. Его задача - передавать предпочтительные (или поддерживаемые) видео и аудио форматы и разрешения исходному источнику"
Какие другие устройства HDMI подключены (последовательно) и их видео / аудио форматы
В задержке может быть переменное время задержки, пока устройства синхронизируются друг с другом. Однако, что касается правильной синхронизации видео / аудио, более поздние совместимые устройства HDMI должны синхронизироваться автоматически. Из "Почему важна синхронизация губ":
"HDMI 1.3 предоставляет метод, с помощью которого время обработки звука в устройствах можно автоматически регулировать для устранения ошибок синхронизации губ".
Я полагаю, что для программного доступа к информации вам понадобится лицензированное устройство Intel HDMI (см. HDCP в Википедии), которое сможет отправлять / получать зашифрованный поток HDMI с других устройств. Это будет устройство HDMI с драйвером устройства, API которого вы можете вызывать из вашей программы.
В вашем случае вы упоминаете воспроизведение видео файла. Чтобы исправить синхронизацию аудио / видео, вам, скорее всего, придется найти в своей программе медиаплеера опцию, чтобы либо задержать, либо ускорить запуск аудио, чем получить доступ и изменить что-либо на устройстве HDMI.