이 페이지는 SDK 2.0.0에 해당합니다. 메이크업 / 리셰이프 열거형: 파라미터 열거형.
올바른 프레임 유형 선택
processImage: 전에 FBImageFrame.type을 설정하세요. 엔진에 처리 모드 인자는 없습니다.
FBFrameTypeVideo(1): 카메라 미리보기, 라이브, 통화 — 더 낮은 지연.FBFrameTypeImage(0): 정지 사진 /NSImage— 더 높은 품질.
큰 정지 이미지(미리보기와 내보내기)
고해상도 정지 이미지에서는 슬라이더마다 원본 픽셀을processImage:에 넣지 마세요. 축소한 뒤 원본을 버리지 마세요.
사진을 열면 전체 NSImage를 유지하고 미리보기 프레임을 한 장 만드세요(긴 변 약 1280–1440, createWithNSImage:). 파라미터 조절은 미리보기(FBFrameTypeImage)를 처리하고, 내보내기는 같은 setter로 전체 해상도를 한 번 더 처리합니다. 출력 크기는 입력과 같습니다. 카메라 미리보기는 캡처 해상도 + FBFrameTypeVideo입니다.
파라미터 범위
- 피부 / 메이크업 / 필터 강도:
[0.0, 1.0].0이면 해당 효과가 꺼집니다. - 리셰이프 (
setReshape:intensity:):[-1.0, 1.0].0은 꺼짐. 양수와 음수는 반대 방향입니다.
엔진 하나, 직렬 큐 하나
createEngineWithConfig:는 프로세스 전역 싱글톤이 아니라 인스턴스를 반환합니다. 세션당 엔진 하나를 유지하고 직렬 큐에서 호출하세요(externalContext = YES이면 GL 스레드).
메모리
- ARC를 권장합니다. 프레임이 끝나면
FBImageFrame참조를 버리세요. - 매 프레임 RGBA로 변환하지 말고 카메라 픽셀 버퍼(NV12 / BGRA)를 재사용하세요.
setFilter:/setSticker:는 한 번 호출하세요. 텍스처는 다음processImage:에서 로드됩니다.- 두 번째 엔진을 만들지 말고
clearFilter,clearSticker,clearVirtualBackground,clearChromaKey를 사용하세요.
외부 OpenGL
AppKit 뷰가 이미 GL 컨텍스트를 소유할 때:config.externalContext = YES를 설정합니다.- 해당 GL 스레드에서 엔진을 만듭니다.
createWithTexture:width:height:stride:로 텍스처를 감쌉니다.[output texture]로 출력을 읽습니다.
getStats로 모니터링
avgProcessTimeMs가 약 33 ms 이하가 되도록 하세요. 데스크톱 GPU는 더 높은 해상도를 돌릴 수 있지만, UI가 끊기면 효과를 줄이세요.
라이프사이클 (AppKit)
엔진을NSViewController(또는 세션 객체)에 유지하세요. viewWillDisappear에서 캡처를 중지하세요. 창이 최소화되면 일시 중지하세요. dealloc / applicationWillTerminate에서 엔진을 nil로 만드세요.
FBEngineCallbacks 블록에서 __weak를 사용하세요.
macOS 캡처와 표시
createWithNV12:...,createWithBGRA:..., 또는createWithNSImage:로 프레임을 만드세요.- 전면 카메라 / 사용자 향 미리보기:
setMirror:@"horizontal". - Retina: 포인트 크기가 아니라 픽셀 크기(
backingScaleFactor)로 처리하세요. - 카메라:
NSCameraUsageDescription. 샌드박스 앱의 온라인 인증에는 Outgoing Connections가 필요합니다. - 사용자가 고른
.fbd/ 배경 이미지: security-scoped URL.
테스트
- Mac 앱 Bundle ID(또는 CLI 도구의 프로세스 이름)를 바인딩하세요.
- 실제
appId/appKey또는licenseToken을 사용하세요. FBFrameTypeImage+createWithNSImage:와FBFrameTypeVideo를 커버하세요.- setter 코드가
FBErrorCode_Success인지 단언하세요. Universal Binary: Intel과 Apple Silicon에서 테스트하세요.

