Contrato compartido
El preprocess personalizado de TRTC suele usar texturas OpenGL; Agora / LiveKit entregan más a menudo
CVPixelBuffer. No mezcles ambos modos en un mismo motor.
Compartido: procesar textura
Compartido: procesar CVPixelBuffer (esquema NV12)
externalContext = NO para el camino de pixel-buffer. Credenciales: Suscripción, Autenticación y licencia. Vincula el nombre del proceso en la Consola para herramientas CLI sin Bundle ID.
TRTC (Tencent)
Enganche:setLocalVideoProcessDelegete:pixelFormat:bufferType: (ortografía oficial Delegete). TRTCVideoPixelFormat_Texture_2D + TRTCVideoBufferType_Texture.
Agora
Enganche:AgoraRtcEngineKit.setVideoFrameDelegate: (Video SDK 4.x). En macOS, los fotogramas capturados también suelen ser CVPixelBuffer.
setVideoFrameDelegate:nil y pon beautyEngine a nil antes del desmontaje.
LiveKit
Implementa SwiftVideoProcessor, procesa CVPixelBuffer en process(frame:) y pasa processor: al crear el track de cámara (también se admite en macOS).
BackgroundBlurVideoProcessor (macOS 12+) para un ejemplo oficial. Los tracks de compartir pantalla pueden usar el mismo patrón de procesador (API según tu versión de LiveKit Swift).

