FacebetterPlugin.processTexture no thread GL nativo do SDK do fornecedor e, em seguida, escreva a textura de saída de volta.
Contrato compartilhado
Não chame
processFile / processImageBytes / processImageFile / processImageToUiImage no mecanismo ao vivo.
Não: envie pixels ou ids de textura do Dart a cada quadro; chame
processTexture fora do thread GL; crie um segundo mecanismo externalContext: true antes de dar dispose no primeiro.
TRTC (Tencent)
Pré-requisitos:tencent_trtc_cloud (ou TRTC nativo) e facebetter_flutter: ^2.0.0. Ao ativar o pré-processamento personalizado, use Texture2D + Texture buffer, não YUV / PixelBuffer.
Depois de criar o mecanismo no Dart, ative o processamento personalizado (o nome da API pode variar conforme a versão do plugin):
iOS — onProcessVideoFrame
ITXCustomBeautyProcesser do tencent_trtc_cloud, mantenha Texture2D / Texture e chame o mesmo processTexture no callback. Registre a factory depois de GeneratedPluginRegistrant.register(with:).
Android — Kotlin
Encerramento
Agora
O mesmo modelo do nativo: chameFacebetterPlugin.processTexture dentro do observer de quadro / callback de pré-processamento personalizado iOS / Android; o Dart só é dono dos parâmetros do FBEngine.
- Dart:
FBEngine.create(externalContext: true)e defina a beleza - Ative o processamento de vídeo personalizado ou registre um observer nativo conforme o plugin Agora Flutter (as APIs variam conforme a versão de
agora_rtc_engine) - Em um
textureIdGL_TEXTURE_2D, chameprocessTexturee escreva de volta no quadro do fornecedor
processTexture).
Encerramento: cancele o registro do pré-processamento Agora e, em seguida, engine.dispose().
LiveKit
De novo: o Dart define parâmetros, o nativo processa texturas.- Crie um mecanismo com
externalContext: trueno Dart - Obtenha quadros de textura via LiveKit Flutter / um capturer personalizado nativo ou processador de vídeo
- Chame
FacebetterPlugin.processTextureno thread GL e, em seguida, alimente a saída de volta na track LiveKit
livekit_client e a plataforma; regras de textura: Android · LiveKit, iOS · LiveKit.

