Skip to main content
SDK 2.0.0. Linux와 공유하는 C++ API입니다. 파라미터 열거형 · 인증 및 라이선스.

연동

엔진 Createnullptr을 반환함

  • resource_path는 디렉터리가 아니라 resource.fbd 파일이어야 합니다
  • license_token 또는 유효한 app_id + app_key를 설정하세요
  • Create 전에 SetLogConfig를 켜세요
  • facebetter.dll이 임포트 라이브러리와 일치하는지 확인하세요

헤더를 찾을 수 없음 / 링크 오류

SDK include 디렉터리의 facebetter/를 포함하세요. facebetter.lib를 링크하고 실행 파일 옆에 facebetter.dll을 배포하세요.

SetRenderView가 없음

해당 API는 iOS / macOS에만 있습니다. Windows에서는 ProcessImage 출력을 자체 GL 텍스처 / D3D interop에 업로드하세요.

효과

뷰티가 약하거나 꺼진 것처럼 보임

강도 기본값은 0(꺼짐)입니다. SetBeautyTypeEnabled는 없습니다. 리셰이프 / 메이크업에는 얼굴이 필요합니다. 카메라 프레임에는 FrameType::Video를 시도하세요.

리셰이프가 반대로 보임

범위는 [-1.0, 1.0]입니다. 양수와 음수는 반대 방향입니다(파라미터 열거형 참고).

필터 / 스티커가 동작하지 않음

SetFilter / SetSticker.fbd 경로 또는 바이트를 전달하세요. 다음 ProcessImage에서 적용됩니다.

가상 배경 / 크로마키

SetVirtualBackgroundBlur, SetVirtualBackground(path|bytes), ClearVirtualBackground를 사용하세요. 크로마키: SetChromaKey(ChromaKeyColor::Green) 후 similarity / smoothness / desaturation. ClearChromaKey()는 인물 세그멘테이션을 복원합니다.

성능

미리보기가 느림

해상도를 낮추고, FrameType::Video를 사용하고, 스티커 / 가상 배경을 줄이고, GetStats().avg_process_time_ms를 확인하세요. 매 프레임 파일에서 ImageFrame을 다시 만들지 말고 카메라 버퍼를 넣으세요. 갤러리 대형은 사진을 열 때 작은 미리보기 프레임을 만들고, 내보낼 때 원본을 한 번 처리하세요. 모범 사례를 보세요.

메모리가 높음

픽셀 버퍼를 재사용하세요. 사용하지 않는 shared_ptr<ImageFrame>을 버리세요. 프레임마다 새 엔진을 만들지 마세요.

Remote Desktop / VM에서 뷰티 미리보기가 없음

하드웨어 OpenGL을 사용할 수 없을 수 있습니다. 실제 GPU 드라이버가 있는 기기에서 테스트하세요.

인증

license_token vs app_id + app_key

license_token이 비어 있지 않으면 우선합니다(토큰 / {token} JSON / .lic). 그렇지 않으면 네이티브 온라인 v2가 app_id + app_key를 사용합니다. 인증 및 라이선스를 참고하세요.

이벤트 1 또는 101

라이선스 실패 또는 초기화 실패입니다. 콜백 message와 Debug 로그를 읽으세요.

버전

어떤 버전을 문서화 / 배포해야 하나요?

2.0.0.

어떤 Windows 버전 / 컴파일러인가요?

Windows 10+, MSVC 2019+(C++17), x64. 문서화된 데모 경로는 Ninja + CMake 3.16+입니다.