SDK 2.0.0。Web には、ネイティブのような統一された「GL テクスチャ前処理コールバック」はありません。推奨パイプラインは次です。
フレーム取得 → processImage → canvas へ描画 → captureStream / MediaStreamTrack を取り出す → サードパーティ SDK へ渡す(replaceTrack またはカスタム動画トラック)。
認証は licenseToken のみです。init() の前に自社サーバーで取得します。フロントエンドに appKey を入れないでください。詳細: 認証とライセンス、美顔の実装。
推奨パイプライン(ベンダー非依存)
processImage を優先してください。processTexture は既存の GPU テクスチャハンドル向けで、ミラーを適用しません。通常のライブプレビュー / 配信は上記の canvas パイプラインで十分です。
ページのアンロード時: beautyTrack.stop()、requestAnimationFrame を止め、engine.destroy() します。
サードパーティ SDK への接続
各社の Web API 名はバージョンで変わります。以下は beautyTrack を差し込むよくある方法だけです。入室、Token、デバイス列挙は相手のドキュメントに従ってください。
TRTC(Tencent Cloud Web)
よくある 2 つの方針です(使用する trtc-js-sdk / TUI バージョンに従います)。
- 美顔トラックからローカルストリームを作成して公開(カスタム動画ソース /
MediaStreamTrack を渡す)
- 公式どおりカメラストリームを作成してから
replaceTrack(beautyTrack) で動画トラックを置換
ネイティブと同じ onProcessVideoFrame(textureId) があると思わないでください。
Agora Web
カスタム動画トラックを使うか、既存トラックに replaceTrack します。
LiveKit Web
処理済みトラックを LiveKit のローカル動画トラック工場へ渡すか、公開済みトラックを差し替えます。
トラブルシューティング
関連ドキュメント