Co to jest zsynchronizowane oglądanie wideo?

Zsynchronizowane oglądanie wideo — często nazywane „oglądaniem razem" lub „co-oglądaniem" — pozwala wielu osobom w różnych lokalizacjach oglądać ten sam film dokładnie w tej samej pozycji odtwarzania, w czasie rzeczywistym. W przeciwieństwie do zwykłego udostępnienia linku i naciśnięcia play w tym samym czasie, zsynchronizowana sesja utrzymuje wszystkich zablokowanych na tym samym znaczniku czasu, nawet gdy ktoś wstrzyma, przewinie lub dołączy w trakcie filmu.

Jest to możliwe dzięki centralnemu serwerowi, który pełni rolę jedynego źródła prawdy dla stanu odtwarzania. Gdy dowolny uczestnik naciśnie play, pause lub przewinie na nową pozycję, ta zmiana jest natychmiast transmitowana do każdego innego uczestnika, a wszyscy gracze dostosowują się do dopasowania. Kompensacja opóźnienia sieci zapewnia, że widzowie z wolniejszymi połączeniami pozostają zsynchronizowani zamiast się rozdzielać w czasie.

Opis narzędzia

To narzędzie pozwala oglądać dowolny film z YouTube'a razem z przyjaciółmi lub kolegami w czasie rzeczywistym. Tworzy wspólny pokój, do którego każdy może dołączyć za pomocą linku. Wszystkie kontrolki odtwarzania — play, pause i przewijanie — są natychmiast zsynchronizowane dla każdego uczestnika w pokoju. Narzędzie wyświetla statystyki na żywo, w tym opóźnienie połączenia i maksymalny drift między uczestnikami, dzięki czemu zawsze wiesz, jak blisko wszyscy są zsynchronizowani.

Funkcje

  • Natychmiastowe udostępnianie pokoju — adres URL do udostępnienia jest generowany automatycznie; każdy, kto ma link, dołącza do tej samej zsynchronizowanej sesji
  • Synchronizacja w czasie rzeczywistym — zdarzenia play, pause i seek od dowolnego uczestnika są natychmiast transmitowane do całego pokoju, z kompensacją opóźnienia, aby utrzymać wyrównane pozycje odtwarzania
  • Monitorowanie driftu na żywo — wyświetla opóźnienie połączenia i maksymalny drift odtwarzania między wszystkimi widzami, dzięki czemu możesz zobaczyć, jak ściśle wszyscy są zsynchronizowani

Jak to działa

Każdy pokój jest zarządzany przez serwer przy użyciu frameworku multiplayer Colyseus w czasie rzeczywistym. Serwer przechowuje autorytatywny stan odtwarzania: czy film jest odtwarzany czy wstrzymany, bieżący znacznik czasu i licznik wersji, który zwiększa się przy każdej zmianie stanu.

Gdy uczestnik wchodzi w interakcję z odtwarzaczem (play, pause, seek), polecenie jest wysyłane do serwera. Serwer aktualizuje swój autorytatywny stan i transmituje nowy stan do wszystkich połączonych klientów. Odtwarzacz każdego klienta następnie uzgadnia swoją lokalną pozycję względem stanu autorytatywnego, przewijając lub wznawniając w razie potrzeby.

Aby skompensować opóźnienie sieci, klient szacuje „prawdziwą" bieżącą pozycję odtwarzania po stronie serwera, biorąc ostatnio zgłoszony znacznik czasu i dodając czas, który upłynął od chwili otrzymania tego raportu — podobnie jak zegary oparte na NTP ekstrapolują bieżący czas między punktami synchronizacji.

Wskazówki

  • Aby rozpocząć sesję, po prostu otwórz narzędzie — pokój jest tworzony automatycznie, a adres URL do udostępnienia pojawia się w panelu pokoju po prawej stronie.
  • Wklej adres URL filmu z YouTube'a lub identyfikator wideo w pole adresu URL i naciśnij Watch, aby załadować film dla wszystkich w pokoju.
  • Udostępnij adres URL pokazany w panelu pokoju każdemu, z kim chcesz oglądać; automatycznie dołączą do tego samego pokoju, gdy otworzą link.
  • Statystyka Max drift pokazuje największą lukę (w sekundach) między pozycjami odtwarzania dowolnych dwóch uczestników. Wartość poniżej 2 sekund jest normalna; większe wartości mogą wskazywać na wolne połączenie.