Kotlin

ミラーリングの実際の仕組み

ミラー」エフェクト自体は、生のカメラフレームをSDKに渡すフレームに変換する時点で実装されます:

生のカメラフレームを取得 Camera2:ImageReaderコールバックから。 水平反転(ミラー)を適用

  • ソフトウェアミラーリング:ピクセルバッファを操作する(例えば、行ごとに列を逆にする)。
  • テクスチャ/GLミラーリング:OpenGLを使用する場合、SDKに供給するサーフェスに描画するときにテクスチャ座標を水平に反転します。
  • どちらの場合も、SDKが見る最終フレームは、カメラの生出力に対して左右が入れ替わっています。
  • ミラーリングされたフレームをSDKに渡す。
  • 必要に応じて、フレームを設定されたピクセル・フォーマット(NV21など)に変換する。 BaseVideoCapturerの適切なコールバックメソッドを呼び出し、ミラーリングされたフレームを渡します。