videocalling
Illustration of カメラコントロール(Camera Control) in video calling

カメラコントロール(Camera Control)

機能

ビデオ通話中にカメラの選択、設定、調整を行うことができる機能。

カメラコントロールとは?

WebRTCにおけるカメラコントロールとは、ユーザーやアプリケーションがビデオ通話中にカメラデバイスの選択、カメラ設定の構成、ビデオパラメータの動的調整を行うためのAPIおよび機能のセットを指します。デバイスの選択、解像度設定、フレームレートの調整に加え、対応ハードウェアではパン・チルト・ズーム(PTZ)、フォーカス、露出などの高度なコントロールも含まれます。

最新のカメラコントロール機能により、プラグインなしでブラウザから直接、プロフェッショナルグレードのビデオエクスペリエンスが実現できます。シンプルなデバイス切り替えから、ハイエンド会議機器の高度なカメラ操作まで幅広くサポートしています。

カメラデバイスの選択

enumerateDevices()を使用して利用可能なカメラを検出し、deviceId制約を使用して特定のカメラを選択できます。通話中にカメラを切り替えるには、現在のトラックを停止し、新しいトラックをリクエストして、ピア接続のトラックを置き換えます。

メディア制約

解像度コントロール

幅と高さの制約を使用してビデオ解像度を指定します。一般的な解像度:

  • VGA:640x480 - 低帯域幅、基本品質
  • HD(720p):1280x720 - ビデオ通話の標準
  • フルHD(1080p):1920x1080 - 高品質、より高い帯域幅
  • 4K:3840x2160 - プロフェッショナル使用、非常に高い帯域幅

フレームレートコントロール

フレームレート制約でビデオのスムーズさを制御します。低帯域幅時はフレームレートを下げます。

フェイシングモード(モバイル)

モバイルデバイスでは、フロントカメラ(user)またはリアカメラ(environment)を選択します。

高度なカメラコントロール(PTZ)

Chrome 87以降、対応カメラのPTZ(パン・チルト・ズーム)コントロールがサポートされています。

  • デスクトップ:対応カメラでパン、チルト、ズームの完全サポート(Chrome 87以降)
  • Android:ズームのみ、パン/チルトは非サポート
  • iOS Safari:限定的なサポート、新しいデバイスでズーム利用可能

ベストプラクティス

  1. 分かりやすい名前の表示:deviceIdではなくdevice.labelを表示
  2. デフォルト選択:システムデフォルトまたは以前使用したカメラを選択
  3. カメラプレビュー:カメラオプション選択時にプレビューを表示
  4. 選択の保存:ユーザーのカメラ選択をlocalStorageに保存

一般的な使用例

  • デバイス選択:複数のウェブカメラ、内蔵カメラ、外付けカメラから選択
  • 品質プリセット:低(480p)、中(720p)、高(1080p)の品質オプション
  • モバイルカメラ切り替え:モバイルデバイスでフロント/リアカメラを切り替え
  • 会議用PTZ:会議室のハイエンドPTZカメラの制御