コンピュータや HD テレビ (LED、プラズマなど) でビデオ ファイルを再生すると、表示されるビデオとコンピュータから出力されるオーディオとの間に遅延が生じます。
ブルーレイ プレーヤーは、HDMI コネクタからこの情報を抽出して、それに応じてオーディオ出力を遅らせることができると聞きました。本当ですか?この情報をプログラムで抽出することは可能ですか?
HDMI デバイスは、デバイス間で多くの情報を通信します。いくつかの例:
hdmi.org から: 「EDID PROM には、それが存在するシンク (ディスプレイ デバイス) に関する情報が含まれています。その仕事は、優先 (またはサポートされている) ビデオとオーディオのフォーマットと解像度を元のソースに伝えることです」
接続されている (デイジーチェーン接続されている) その他の HDMI デバイスとそのビデオ/オーディオ形式
遅延では、デバイスが相互に同期している間に可変遅延時間が発生する可能性があります。ただし、ビデオ/オーディオの適切なタイミングに関しては、後で対応する HDMI デバイスは自動的に同期する必要があります。「リップシンクが重要な理由」より:
「HDMI 1.3 は、デバイスのオーディオ処理時間を自動的に調整して、リップ シンク エラーを除去できる方法を提供します。」
プログラムで情報にアクセスするには、他のデバイスから暗号化された HDMI ストリームを送受信できる Intel ライセンスの HDMI デバイス (ウィキペディアの HDCP を参照) が必要だと思います。これは、プログラムから API を呼び出すことができるデバイス ドライバーを備えた HDMI デバイスです。
あなたの場合、ビデオファイルの再生について言及しています。オーディオ/ビデオの同期を修正するには、メディア プレーヤー プログラムで、HDMI デバイスにアクセスして何かを変更するのではなく、オーディオの開始を遅らせるか高速化するオプションを見つける必要があります。