Readme
同期ビデオ視聴とは?
同期ビデオ視聴(「一緒に視聴」または「共同視聴」と呼ばれることもあります)により、異なる場所にいる複数のユーザーが、まったく同じ再生位置でリアルタイムに同じビデオを視聴できます。単にリンクを共有して同時に再生を開始するのとは異なり、同期セッションでは、誰かが一時停止、シーク、または途中から参加した場合でも、全員が同じタイムスタンプにロックされたままになります。
これは、再生状態の唯一の情報源として機能する中央サーバーによって実現されます。参加者が再生、一時停止、または新しい位置へのシークを行うと、その変更は他のすべての参加者に即座にブロードキャストされ、すべてのプレイヤーが同期するように調整されます。ネットワークレイテンシ補正により、接続が遅いビューアでも時間とともにズレることなく同期を保つことができます。
ツール説明
このツールを使用すると、YouTubeビデオをリアルタイムで友人や同僚と一緒に視聴できます。リンクを使用して誰でも参加できる共有ルームを作成します。再生、一時停止、シークなどのすべての再生コントロールは、ルーム内のすべての参加者間で即座に同期されます。このツールはリアルタイム統計を表示し、接続レイテンシと参加者間の最大ドリフトを確認できるため、全員がどの程度同期しているかを常に把握できます。
機能
- インスタントルーム共有 — 共有可能なURLが自動的に生成され、リンクを持つ誰でも同じ同期セッションに参加できます
- リアルタイム同期 — 任意の参加者からの再生、一時停止、シークイベントが即座にルーム全体にブロードキャストされ、レイテンシ補正により再生位置が整列されます
- ライブドリフト監視 — 接続レイテンシとすべてのビューア間の最大再生ドリフトを表示し、全員がどの程度同期しているかを確認できます
仕組み
各ルームはColyseus リアルタイムマルチプレイヤーフレームワークを使用してサーバーで管理されます。サーバーは権限のある再生状態を保持します。ビデオが再生中か一時停止中か、現在のタイムスタンプ、および状態変更のたびにインクリメントされるバージョンカウンターです。
参加者がプレイヤーと対話する(再生、一時停止、シーク)と、コマンドはサーバーに送信されます。サーバーは権限のある状態を更新し、新しい状態をすべての接続されたクライアントにブロードキャストします。その後、各クライアントのプレイヤーはローカル位置を権限のある状態と照合し、必要に応じてシークまたは再開します。
ネットワークレイテンシを補正するために、クライアントは最後に報告されたタイムスタンプを取得し、そのレポートが受信されてからの経過時間を追加することで、「真の」現在のサーバー側の再生位置を推定します。これはNTPベースのクロックが同期ポイント間の現在時刻を外挿する方法に似ています。
ヒント
- セッションを開始するには、単にツールを開きます。ルームが自動的に作成され、共有可能なURLが右側のルームパネルに表示されます。
- YouTubeビデオURLまたはビデオIDをURLフィールドに貼り付け、視聴を押してルーム内の全員のためにビデオを読み込みます。
- ルームパネルに表示されているURLを、一緒に視聴したい人と共有します。リンクを開くと、自動的に同じルームに参加します。
- 最大ドリフト統計は、任意の2つの参加者の再生位置間の最大ギャップ(秒単位)を表示します。2秒未満の値は正常です。より大きな値は接続が遅いことを示す可能性があります。