videocalling
Illustration of 画面共有(Screen Sharing) in video calling

画面共有(Screen Sharing)

機能

ユーザーの画面、ウィンドウ、またはアプリケーションを他の参加者とリアルタイムで共有する機能。

画面共有とは?

画面共有は、ビデオ通話中にユーザーのディスプレイ、特定のウィンドウ、またはアプリケーションのコンテンツを他の参加者にブロードキャストできる機能です。WebRTCでは、getDisplayMedia() APIを使用して画面共有が実装され、ブラウザから直接、安全でプラグイン不要の画面キャプチャ機能を提供します。

カメラビデオとは異なり、画面共有は通常、より高い解像度、低いフレームレート、テキストやUI要素が鮮明で読みやすいままであることを保証するための異なる最適化戦略を含みます。

画面共有の仕組み

navigator.mediaDevices.getDisplayMedia()が呼び出されると、ブラウザはユーザーに共有内容を選択するダイアログを表示します:

  • 画面全体:すべてのディスプレイまたは特定のモニターを共有
  • アプリケーションウィンドウ:単一のアプリケーションウィンドウを共有
  • ブラウザタブ:音声付きの特定のブラウザタブを共有

推奨設定

  • 解像度:1080p(1920x1080)が高品質画面共有の標準
  • フレームレート:ほとんどの画面共有シナリオでは10-15 FPSで十分
  • ビットレート:1080p画面共有では1.5-3 Mbpsが一般的

コーデック選択

  • VP9:特に静的コンテンツとテキストの画面共有に優れる
  • H.264:最高のプラットフォーム間互換性。ハードウェアアクセラレーション対応
  • AV1:Chrome 135以降で画面コンテンツに優れた品質と圧縮を提供

セキュリティとプライバシー

  • HTTPS要件getDisplayMedia()はHTTPS接続またはlocalhostでのみ利用可能
  • 明示的な許可:ユーザーは毎回手動で共有内容を選択する必要がある
  • 視覚的インジケーター:画面共有中はブラウザが永続的なインジケーターを表示
  • サイレントキャプチャ不可:ユーザーの認識なしに画面をキャプチャすることはできない

一般的な使用例

  • リモートプレゼンテーション:スライド、ドキュメント、ライブデモの共有
  • 共同作業:ドキュメントの共同編集、デザインレビュー、ペアプログラミング
  • テクニカルサポート:ユーザーの画面を見て問題のトラブルシューティングを支援
  • 教育:教育コンテンツ、チュートリアル、ソフトウェアデモの共有