
カメラコントロール(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:限定的なサポート、新しいデバイスでズーム利用可能
ベストプラクティス
- 分かりやすい名前の表示:deviceIdではなく
device.labelを表示 - デフォルト選択:システムデフォルトまたは以前使用したカメラを選択
- カメラプレビュー:カメラオプション選択時にプレビューを表示
- 選択の保存:ユーザーのカメラ選択をlocalStorageに保存
一般的な使用例
- デバイス選択:複数のウェブカメラ、内蔵カメラ、外付けカメラから選択
- 品質プリセット:低(480p)、中(720p)、高(1080p)の品質オプション
- モバイルカメラ切り替え:モバイルデバイスでフロント/リアカメラを切り替え
- 会議用PTZ:会議室のハイエンドPTZカメラの制御