通过 HDMI 计算屏幕延迟
在计算机、高清电视(LED、等离子或其他...)上播放视频文件时,显示的视频和计算机输出的音频之间存在延迟。
我听说蓝光播放器可以从 HDMI 连接器中提取此信息,从而相应地延迟音频输出。这是真的吗?是否可以通过编程方式提取这些信息?
When playing a video file on a computer, HD television (LED, Plasma or whatever...), there is a delay between the displayed video and the audio out of the computer.
I heard that blueray player can extract this information from the HDMI connector to delay the audio output accordingly. Is it true? Is it possible to extract this information programmaticaly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
HDMI 设备之间传递大量信息。一些示例:
EDID信息
<块引用>
来自 hdmi.org:“EDID PROM 包含有关其所在接收器(显示设备)的信息。它的工作是将首选(或支持的)视频和音频格式及分辨率传达给原始源”
还有什么HDMI 设备连接(菊花链)及其视频/音频格式
在延迟方面,设备在连接时可以有可变的延迟时间同步于 彼此。然而,考虑到视频/音频的正确时序,后来兼容的 HDMI 设备应该自动同步。来自“为什么唇形同步很重要”:
要以编程方式访问信息,我相信您需要一个英特尔许可的 HDMI 设备(请参阅维基百科中的 HDCP),该设备能够从其他设备发送/接收加密的 HDMI 流。这将是一个带有设备驱动程序的 HDMI 设备,您可以从程序中调用其 API。
在您的情况下,您提到播放视频文件。要修复音频/视频同步问题,您可能必须在媒体播放器程序中找到延迟或加速音频启动的选项,而不是访问和更改 HDMI 设备上的某些内容。
HDMI devices communicate much information among themselves. Some examples:
EDID information
What other HDMI devices are hooked up(daisy-chained) and their video/audio formats
In delay, there can be variable delay time while the devices sync with each other. However, in regards to a proper timing of video/audio, later compliant HDMI devices should synchronize automatically. From "Why is Lip Sync important":
To access the information programmatically, I believe you need a Intel licensed HDMI device(see HDCP in Wikipedia) that would be able to send/receive the encrypted HDMI stream from the other device(s). This would be an HDMI device complete with a device driver whose API's you can call from your program.
In your case you mention playing a video file. To fix the audio/video synchronization, you likely have to find the option in your media player program to either delay or speed up the audio start rather than access and change something on the HDMI device.