Skip to main content
このページは SDK 2.0.0 に対応します。認証: 認証とライセンス。メイク / リシェイプ列挙: パラメータ列挙

SDK 依存関係の追加

方法 A: CocoaPods(推奨)

Xcode 15+ のコンパイルエラーXcode 15 以降では、コンパイル時に Sandbox: rsync.samba deny(1) が出ることがあります。原因は User Script Sandboxing です。対処:
  1. Xcode で Project を選びます。
  2. Build Settings を開きます。
  3. ENABLE_USER_SCRIPT_SANDBOXING を検索します。
  4. 値を Yes から No に変更します。

方法 B: Framework の手動統合

ダウンロード から SDK を取得し、Facebetter.framework をプロジェクトへコピーします。動的ライブラリの埋め込み に従い、EmbedEmbed & Sign に設定します。
Xcode のリンクライブラリ

権限

オンラインの appId / appKey を使うサンドボックス Mac アプリは、送信ネットワークを許可する必要があります。
macOS のネットワーク権限
カメラ(任意): Info.plistNSCameraUsageDescription を追加します。

ヘッダーのインポート

AppKit 型(NSImage)には #import <AppKit/AppKit.h> が必要です(macOS では通常、エンジンヘッダーまたはプレフィックスヘッダーで導入済みです)。

ログ設定

ログはデフォルトでオフです。エンジン作成のsetLogConfig: を呼び出す必要があります。

エンジンの作成

macOS Bundle ID をバインドし、licenseToken または appId + appKey を渡します。AppID と AppKey の取得認証とライセンス を参照してください。 優先順位: licenseToken が空でない(ライセンストークン、{token} JSON、または .lic の内容)場合はローカル検証。それ以外は appId + appKey/facebetter/v2/auth を呼び出します。
createEngineWithConfig: が返すのはインスタンスであり、シングルトンではありません。

美肌

強度は通常 [0.0, 1.0] です。スタイル列挙: パラメータ列挙

肌領域のみ

オンにすると、スムージング / 美白 / 血色は検出された肌にのみ適用されます。

リシェイプ

setReshape:intensity: の範囲は [-1.0, 1.0] です。0 はオフです。パラメータ: FBReshape_FaceThinFBReshape_BrowThickness025)。意味: パラメータ列挙

ボディリシェイプ

setBodyReshape:intensity: の範囲は [0.0, 1.0] です。0 はオフです。先に addResourcePack:resource_body.fbd を登録してください。パラメータ: FBBodyReshape_BodySlimFBBodyReshape_TorsoLong08)。パラメータ列挙オプションリソースパック

メイク

強度、形状、色を分けて設定します。完全なプリセット: パラメータ列挙

バーチャル背景

デフォルトのマスクはポートレートセグメンテーションです。ぼかし強度 [0.0, 1.0]0 でぼかしをクリアします。画像パスは空でない png/jpg である必要があります。

クロマキー

クロマキーはマスクだけを置き換えます。塗りつぶしはぼかしまたは置換画像のままです。

フィルターとステッカー

.fbd ファイルパスまたはメモリバイトを渡します。
3D ステッカーにはオプションパック resource_3d.fbd が必要です(framework には含まれません)。オプションリソースパック を参照してください。

コールバックと統計

画像の処理

FBImageFrame は I420、NV12、NV21、RGB、RGBA、BGR、BGRA、ファイル、テクスチャ、NSImage に対応します。
先に type を設定し、そのあと processImage: を呼び出します(追加のモード引数はありません)。出力フォーマットは入力と一致します。
FBFrameTypeVideo はリアルタイムストリーム、FBFrameTypeImage は静止画と NSImage 向けです。
回転 / ミラー / 変換 / 保存:
YUV プレーン: dataYdataUdataVdataUV、および strideY / strideU / strideV / strideUV

外部テクスチャ

OpenGL スレッドでエンジンを作成し、externalContext = YES を設定してください。入力と出力のテクスチャはそのコンテキストを共有する必要があります。
推奨テクスチャパラメータ: GL_LINEARGL_CLAMP_TO_EDGE。エンジンは入力テクスチャを削除しません。出力テクスチャは SDK が所有します。 TRTC / Agora / LiveKit への接続: サードパーティ連携

ライフサイクル

NSViewController の strong 参照でエンジンを保持します。ビューが消えるかウィンドウ最小化時はキャプチャを止めます。セッション終了時はエンジンを nil にします。

関連ドキュメント