私は現在 BitBlt 関数を使用して画面をキャプチャし、それをエンコードしています。私のエンコーダーは入力に YUV420 形式を使用するため、エンコードする前にデータを RGB から YUV に変換する必要があります。RGB の代わりに YUV 形式で画面をキャプチャする方法があるかどうか疑問に思っていましたか?
ありがとう、ジェイ
私はこれに答えようとしますが、BitBlt がどのように機能するかは完全にはわかりません。
しかし、ここに行きます。
私の理解では、BiBlt はグラフィック カードからキャプチャしているため、ラウンドアバウトがないため高速になります。つまり、RGB で表示すると (PC は通常そうします)、同じフォーマットが得られます。
したがって、YV12 が必要な場合は、画像を使用する前にダウンサンプリングを行う必要があります。
このようなものだと思います。
CaptureBitBlt から IMG へ。IMG を YV12 に変換します。IMG をエンコードします。
見栄えが悪いだけですが、私の言いたいことが理解できることを願っています。画像を操作する前に、変換を行う必要があります。
私は森の中にいるかもしれませんが、それがどのように行われるべきかだと思います。