質問・問題
Local Video Mixing とは何ですか ?
回答・解決方法
Local Video Mixing とは、カメラ映像や共有画面など複数の映像ソースを、ローカル上でミックス (合成) し、1 本のストリームとして再構成する機能です。
使用例:
- 複数カメラからの入力映像を、指定のレイアウト上に配置・合成
- バーチャル背景機能で背景を除去した発表者の映像を、プレゼン資料の片隅に重ね合わせ (portrait-in-picture)
どの SDK が、この機能をサポートしていますか ?
(2023-10 時点において) 4.2.0 以降の Native および Framework 向け SDK が、この機能をサポートしています。
※ Web SDK は対応しておりません。
どのような映像データをミックスできますか ?
(2023-10 時点において) ミックス可能な映像ソースの種類は以下のとおりです:
- ローカルのカメラ映像
- 画面共有の映像
- Custom Video Source の映像
- Media Player
- 画像ファイル (PNG, GIF, JPEG)
- 受信したリモートユーザーの映像
映像をミックスするには何をすれば良いですか ?
- ミックスしたい映像を定義する TranscodingVideoStream を必要な数だけ用意します (例: カメラ映像と共有画面をミックスする場合、2 つ必要)。
- それぞれの TranscodingVideoStream に、映像ソースの種類、配置位置、大きさを指定します。 映像ソースの種類によって、追加で指定必要な情報もございます。
- 用意した TranscodingVideoStream のコレクションと、ミックス時の出力設定を束ねた LocalTranscoderConfiguration を用意します。
- startLocalVideoTranscoder API コール時に LocalTranscoderConfiguration を渡して Local Video Mixing を開始します。
- ミックスした映像を配信するには、joinChannel または updateChannelMediaOptions API コール時に、publishTranscodedVideoTrack プロパティを true にした ChannelMediaOptions を渡す必要があります。
- ミックスの設定を更新したい場合は、updateLocalTranscoderConfiguration API で、新しい LocalTranscoderConfiguration を設定します。
映像のミックスが開始できない・設定更新ができない場合、エラー検知はできますか ?
startLocalVideoTranscoder または updateLocalTranscoderConfiguration の呼び出しに失敗した場合、SDK は LocalVideoTranscoderError イベントをトリガします。
このイベントのコールバックから、対応するエラーコードが返されます。
この機能に関する注意点はありますか ?
- この機能は、ローカルの CPU リソースを大きく消費します。この機能を組み込んだアプリの推奨環境をご設定の際は、十分な検証をいただいた上、ご判断ください。
※ アプリ利用時にかかる負荷は、そのアプリの各機能や設定に大きく依存する部分があるため、本機能単体の推奨環境という定義はございません。 - ローカルのカメラ映像および画面共有映像には、それぞれミックス可能な映像本数の上限が設定されています。
この上限は、実行プラットフォームにより異なります。詳しくは各種 API リファレンスから、 startLocalVideoTranscoder API の Note セクションをご覧ください。 - ローカルのカメラ映像および画面共有映像をミックスする場合、予め startCameraCapture や startScreenCapture API でキャプチャを有効にする必要があります。
- ミックス可能な映像ソースの最大解像度には上限がございます。詳しくは startLocalVideoTranscoder API の config パラメーターの説明をご覧ください。
API の情報や実装例について知りたい場合は、どこで確認できますか ?
書式・パラメーター等は各種 API Reference よりご覧ください。
また、SDK 付属の API-Examples には、実装例として関連デモが収録されております (ただし、一部 Native 版・Framework 版は除く)。