音声と映像の設定 — macOS
以下の項目について、音声や映像の設定を変更できます。 公開された そして 購読済み ストリーム:
- オーディオまたはビデオのみの公開
- 音声のみのセッションでの発表
- カスタムビデオキャプチャーの使用
- 配信者の動画のローカル画面をミラーリングする
- カスタムオーディオドライバの使用
- 加入者の音声音量の設定
- オーディオまたはビデオのみの購読
- ストリームがオーディオかビデオかを検出する
- 音質の調整
オーディオまたはビデオのみの公開
以下の関数を呼び出すことで、音声と映像のオン/オフを切り替えることができます。 otc_publisher_set_publish_audio() そして otc_publisher_set_publish_video() 関数に、 OTC_FALSE または OTC_FALSE として publish_audio そして publish_audio パラメータ。たとえば、次のコードは音声をオフにします:
otc_publisher_set_publish_audio(publisher, OTC_FALSE);
音声のみのセッションでの発表
を設定する。 音声のみ セッションで、 otc_publisher_settings struct の場合、 otc_publisher_settings_set_video_track() 関数に、以下を引数として渡して OTC_FALSE として enabled パラメータ。次に、 otc_publisher_new_with_settings() 作成する関数。たとえば、次のコードは音声専用セッション用のパブリッシャーを作成します:
otc_publisher_settings publisher_settings = otc_publisher_settings_new();
otc_publisher_settings_set_video_track(publisher_settings, OTC_FALSE);
otc_publisher_callbacks publisher_callbacks = {0};
// Set callbacks for the publisher. Then:
otc_publisher publisher = otc_publisher_new_with_settings(publisher_callbacks, publisher_settings);
カスタムビデオキャプチャーの使用
について otc_publisher_new() この関数には、 capturer パラメータ。これを NULL, SDKは、公開されるビデオストリームのソースとして、デフォルトのシステムカメラを使用します。ただし、次のように定義することで、パブリッシャー用にカスタムビデオキャプチャ機能を使用することも可能です。 otc_video_capturer_callbacks struct として定義し、それを capturer パラメーターの otc_publisher_new() 関数である。その otc_video_capturer_callbacks この構造体には、パブリッシャーの動画に関連するイベント(たとえば、動画キャプチャ機能が新しい動画フレームを必要とする場合など)が発生した際に呼び出されるコールバック関数への関数ポインタが含まれています。
例については、の「Custom Video Capturer」サンプルを参照してください。 opentok-macos-sdk-samples レポ。
配信者の動画のローカル画面をミラーリングする
デフォルトでは、公開動画のローカルレンダラは動画をミラーリングします。この場合 mirror_on_local_render プロパティの otc_video_capturer_settings インスタンスを呼び出すことで得られる。 get_capture_settings(capturer, settings) 関数に設定します。これを true に設定すると、パブリッシャーのローカルレンダラーでビデオがミラーされます。次のように設定します。 false ミラーリングされないようにする。
この設定は、パブリッシャのクライアント アプリケーションでレンダリングされる動画にのみ影響します。サブスクライブしているクライアントの動画には影響しません。
カスタムオーディオドライバの使用
カスタムオーディオデバイスを定義することで、クライアント内のすべてのパブリッシャーにオーディオを配信したり、クライアントがサブスクライブしているすべてのストリームから生成される混合オーディオストリームを処理したりすることができます。
カスタムオーディオデバイスは、 otc_audio_device struct。そして、 otc_audio_device_callbacks この構造体には、OpenTok Linux SDK が呼び出すオーディオ関連のコールバックとして機能する関数への関数ポインタが含まれています。
例については、の「カスタムオーディオデバイス」サンプルを参照してください。 opentok-macos-sdk-samples レポ。
加入者の音声音量の設定
を呼び出すことで、各加入者の音声ボリュームを個別に設定できます。 otc_subscriber_set_audio_volume() 関数である。
オーディオまたはビデオのみの購読
デフォルトでは、サブスクライバーは、音声および動画が利用可能な場合、それらを購読するように初期化されます。音声のオン/オフは、 otc_subscriber_set_subscribe_to_audio(otc_subscriber *subscriber, otc_bool subscribe_to_audio) :
// audio off:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_FALSE);
// audio on:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_TRUE);
次の関数を呼び出すことで、動画の表示/非表示を切り替えることができます。 otc_subscriber_set_subscribe_to_video(otc_subscriber *subscriber, otc_bool subscribe_to_video) :
// video off:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_FALSE);
// video on:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_TRUE);
ストリームがオーディオかビデオかを検出する
を呼び出すことができます。 otc_stream_has_audio() そして otc_stream_has_audio() のメンバ関数です。 otc_stream インスタンスにオーディオまたはビデオがあるかどうかを確認する。
音質の調整
パブリッシャーストリームの音質を微調整するには、以下の方法があります:
オーディオ・ビットレート
otc_publisher_set_max_audio_bitrate(otc_publisher* publisher, uint32_t bitrate);
パブリッシュされるオーディオの希望するビットレート(bits per second)。設定可能な値の範囲は6,000~510,000です(無効な値は無視されます)。(無効な値は無視されます。) 高品質な音声を有効にする (または低品質の音声で帯域幅の使用量を減らす) には、この値を設定します。このオプションを設定しないと、OpenTok は自動的にストリームの音声ビットレートを割り当てます。
以下は推奨設定です:
- 8,000~12,000(ナローバンド(NB)スピーチ用
- 16,000~20,000(ワイドバンド(WB)スピーチ用
- フルバンド(FB)スピーチで28,000~40,000ドル
- フルバンド(FB)音楽用48,000~64,000ドル
オーディオ処理を無効にする
otc_publisher_settings_set_disable_audio_processing (otc_publisher_settings* settings, otc_bool disabled);
公開音声のエコーキャンセル、自動ゲインコントロール、ノイズ抑制を無効にするかどうか。これを true 高音質オーディオを公開するときに使用します。デフォルト値は false.
自動ゲインコントロール
otc_publisher_settings_set_auto_gain_control(otc_publisher_settings* settings, otc_bool enabled);
公開オーディオの自動ゲインコントロールを有効にするかどうか。これを false 高音質オーディオを公開するときに使用します。デフォルト値は true.オーディオ処理を無効にすると、この設定は無視されます。
エコーキャンセリング
otc_publisher_settings_set_echo_cancellation(otc_publisher_settings* settings, otc_bool enabled);
公開音声のエコーキャンセレーションを有効にするかどうか。これを false 高音質オーディオを公開するときに使用します。デフォルト値は true.オーディオ処理を無効にした場合、この設定は無視されます。
ノイズ抑制
otc_publisher_settings_set_noise_suppression(otc_publisher_settings* settings, otc_bool enabled);
公開音声のノイズ抑制を有効にするかどうか。これを false 高音質オーディオを公開するときに使用します。デフォルト値は true.オーディオ処理を無効にした場合、この設定は無視されます。
ステレオ
otc_publisher_settings_set_stereo(otc_publisher_settings* settings, otc_bool enabled);
ステレオ音声を公開するかどうか。デフォルト値は false.実用的な例として、以下をご覧ください。 実装例