processImage를 실행한 뒤 출력 텍스처를 반환합니다.
전체 텍스처 규칙: 뷰티 효과 적용 · 외부 텍스처. 방 입장, 게시, 권한은 벤더 문서에 따릅니다. 이 페이지는 Facebetter 연결만 다룹니다.
공통 계약
Facebetter는
createWithTexture에 GL_TEXTURE_EXTERNAL_OES를 받지 않습니다. 벤더가 기본으로 OES를 쓰면 문서에 따라 Texture2D / RGB로 바꾸거나 먼저 GL_TEXTURE_2D로 blit하세요.
공유 헬퍼
모든 벤더 GL 콜백에서 재사용합니다(GL 스레드에서 실행해야 함).TRTC (Tencent)
훅:TRTCCloud.setLocalVideoProcessListener. 픽셀 형식 Texture_2D와 버퍼 유형 TEXTURE를 사용하세요.
onGLContextCreated에서 Facebetter를 만들고, onProcessVideoFrame에서 처리한 뒤 dstFrame.texture.textureId를 설정하고, onGLContextDestory에서 release()합니다.
FacebetterPlugin.processTexture, 이 Java API가 아님)을 사용하세요.
Agora
훅:RtcEngine.registerVideoFrameObserver(Video SDK 4.x). 다음이 필요합니다.
getVideoFrameProcessMode()에서PROCESS_MODE_READ_WRITE를 반환- 유형 **RGB(
GL_TEXTURE_2D)**인 TextureBuffer를 선호 onCaptureVideoFrame(또는 선택한 observe position)에서 Facebetter를 실행한 뒤 처리된 텍스처를VideoFrame에 다시 씀
RtcEngine를 파괴하기 전에 observer를 등록 해제하고 beautyEngine.release()를 호출하세요.
LiveKit
훅: 로컬 비디오 트랙을 만들 때org.webrtc.VideoProcessor(또는 동등한 트랙 프로세서)를 전달합니다. onFrameCaptured에서 텍스처를 처리한 뒤 sink.onFrame(...)으로 전달합니다.
VideoCapturer를 구현하고 캡처 후 processTexture를 실행한 뒤 capturerObserver.onFrameCaptured를 호출할 수도 있습니다. 공식 프로세서(예: 가상 배경)는 LiveKit의 livekit-android-track-processors 모듈에 있습니다.

