Kotlin

Como o espelhamento realmente funciona

O próprio efeito “espelho” é implementado no momento em que você transforma os quadros brutos da câmera em quadros que são passados para o SDK:

Obter o quadro bruto da câmera Para Camera2: a partir do callback do ImageReader. Aplicar uma inversão horizontal (espelhamento)

  • Espelhamento por software: manipular o buffer de pixels (por exemplo, inverter as colunas em cada linha).
  • Espelhamento de textura/GL: se estiver usando OpenGL, inverta as coordenadas da textura horizontalmente ao desenhar na superfície que alimenta o SDK.
  • Em ambos os casos, o quadro final que o SDK recebe apresenta uma inversão de esquerda para direita em relação à saída bruta da câmera.
  • Entregue a estrutura espelhada ao SDK
  • Converta o quadro para o formato de pixel configurado (por exemplo, NV21), se necessário. Chame o método de retorno de chamada apropriado no `BaseVideoCapturer` para passar o quadro espelhado.