FacebetterPlugin.processTexture en el hilo GL nativo del SDK del vendor y luego escribe de vuelta la textura de salida.
Contrato compartido
No llames a
processFile / processImageBytes / processImageFile / processImageToUiImage en el motor en directo.
No hagas: empujar píxeles o ids de textura desde Dart en cada fotograma; llamar a
processTexture fuera del hilo GL; crear un segundo motor externalContext: true antes de hacer dispose del primero.
TRTC (Tencent)
Requisitos:tencent_trtc_cloud (o TRTC nativo) y facebetter_flutter: ^2.0.0. Al activar el preprocess personalizado, usa Texture2D + Texture buffer, no YUV / PixelBuffer.
Tras crear el motor en Dart, activa el proceso personalizado (el nombre de la API puede variar según la versión del plugin):
iOS — onProcessVideoFrame
ITXCustomBeautyProcesser de tencent_trtc_cloud, mantén Texture2D / Texture y llama al mismo processTexture en el callback. Registra la factory después de GeneratedPluginRegistrant.register(with:).
Android — Kotlin
Desmontaje
Agora
El mismo modelo que nativo: llama aFacebetterPlugin.processTexture dentro del observer de fotogramas / callback de preprocess personalizado de iOS / Android; Dart solo posee los parámetros de FBEngine.
- Dart:
FBEngine.create(externalContext: true)y configura la belleza - Activa el procesamiento de vídeo personalizado o registra un observer nativo según el plugin Agora Flutter (las APIs varían según la versión de
agora_rtc_engine) - En un
textureIdGL_TEXTURE_2D, llama aprocessTexturey escribe de vuelta al fotograma del vendor
processTexture).
Desmontaje: anula el registro del preprocess de Agora y luego engine.dispose().
LiveKit
De nuevo: Dart configura parámetros, nativo procesa texturas.- Crea un motor
externalContext: trueen Dart - Obtén fotogramas de textura vía LiveKit Flutter / un capturador o procesador de vídeo nativo personalizado
- Llama a
FacebetterPlugin.processTextureen el hilo GL y luego alimenta la salida de vuelta al track de LiveKit
livekit_client y la plataforma; reglas de textura: Android · LiveKit, iOS · LiveKit.

