設計ライブラリを作成したら、圧縮動画データをライブラリに送信し、ブラウザで表示できる動画のフレームを読み取るようにライブラリとやり取りする方法を検討する必要があります。ファイルにある動画デコーダの例から始めることをおすすめします。ファイルを読み取り、動画内のフレームを表す一連の画像にデコードします。抽象化できるなんらかのインターフェースを設計する必要があります。ライブラリにデータを取り込むことができます。インターフェースと呼ばれるものです。ような独自のインターフェースを定義するだけで、基盤となる実装で自由にビルドできます。このインターフェースは次のように定義します。簡単にマッピングできます。ブラウザ内で実行する場合は別の方法で実装できます。側からは不透明で、インターフェースをカプセル化するだけです。)で再利用しやすくなります。いうヘルパー関数を定義する必要があります。ストリームであるかのように(つまり、順次読み取られるファイルのように)「読み取り」を行うことができます。シーケンシャルに読み取られるデータソースであるかのように読み取ることができます。ファイルで確認できます。実装全体は次のようになります。プラクティスの一つは、統合テストとともにコードの単体テストを作成することです。使用してビルドする場合は、ブラウザの外部でデバッグしたり、ビルドしたインターフェースをテストしたりできるように、作業中のコードに対するインターフェースに対してなんらかの形の単体テストをビルドするのが合理的です。エミュレートしています。ビルドするために使用できるテストハーネスをビルドすることは、論理的には理にかなっています。コードは簡単で、次のようになります。使用し、コマンドラインからテストするコードをビルドする際に実際のファイルとのインターフェースを使用できます。メカニズムを実装する動画を再生するときは、スムーズに再生できるように数フレームをバッファリングするのが一般的です。フレームをバッファリングします。次に、フレームが表示されるたびに、バッファがいっぱいになるように別のフレームのデコードを試みます。このアプローチにより、事前にフレームが利用可能であることを確認して、動画スタッタリングを防止できます。この簡単な例では、圧縮された動画全体を読み取ることができるため、バッファリングは実際には必要ありません。メカニズムを実装する必要があります。フレームの動画を含めることにしましたが、これは任意の選択です。バッファリングするフレームが多いほど、動画の再生開始までの待機時間が長くなります。バッファリングするフレームが少なすぎると、再生中にストールする可能性があります。ブラウザの実装では、フレームのバッファリングはこの実装よりもはるかに複雑です。使用して動画フレームをページに表示するバッファした動画のフレームがページに表示される必要があります。これは動的動画コンテンツであるため、できる限り迅速に処理できるようにしたいと考えています。より、動画フレームなどの画像を取得し、それをテクスチャとして使用し、ジオメトリにペイントできます。小さな問題があります。画像を想定しています。ピクセルに対応しています。渡して表示できるようにするには、画像の色変換を行う必要があります。