Skip to content

WatchTogether (W2G) Integration ​

WatchTogether allows you to watch content synchronously with friends over the internet, with synchronized playback, pause, and seeking.

What is WatchTogether (W2G)? ​

The Concept ​

Watch content with friends remotely:

You in City A          Friend in City B
     ↓                        ↓
  Playing                  Playing
  Episode 5                Episode 5
     ↓                        ↓
  Synchronized - same timestamp, same playback state

Features:

  • Synchronized playback (everyone sees same frame)
  • Synchronized controls (pause affects everyone)
  • Chat integration
  • Works across internet (not just LAN)

How It's Different from Screen Sharing ​

Screen Sharing (Discord/Zoom):

You → Encode video → Stream → Friend decodes

  • High bandwidth needed
  • Quality loss from re-encoding
  • Lag/delay common
  • Host does all the work

WatchTogether:

You → Download from torrent swarm Friend → Download from same torrent swarm Both → Sync playback position via P2P

  • Each person streams independently
  • No quality loss
  • Minimal bandwidth for sync only
  • Distributed load

Use Cases ​

1. Long-Distance Relationships

  • Watch shows together despite distance
  • Feel like you're in same room

2. Watch Parties

  • Multiple friends in different locations
  • All watch premiere together
  • React in real-time

3. Family Separated

  • Parents in one city
  • Kids in another
  • Watch movies together

P2P Connection Requirements ​

W2G uses WebRTC for peer-to-peer connections. This requires:

Network Requirements ​

1. Both Users Need:

  • Internet connection
  • Hayase installed
  • Same content available (same torrent)
  • NAT traversal capability

2. At Least One User Needs:

  • Public IP OR port forwarding OR UPnP

3. Firewall:

  • Must allow WebRTC connections
  • Usually works by default

How WebRTC Works ​

Connection Establishment:

  1. You → Signal server: "Want to connect to Friend"
  2. Friend → Signal server: "I accept"
  3. Signal server → Exchanges connection info (ICE candidates)
  4. You ←→ Direct P2P connection ←→ Friend

After connection established:

Signal server → No longer involved You ←→ Direct P2P ←→ Friend

Data flow:

  • Playback position
  • Play/pause commands
  • Seek position
  • Chat messages
  • Current torrent

Hayase uses public STUN/TURN servers by default.

CGNAT Problems with W2G ​

If either user is behind CGNAT, they may not be able to establish a direct P2P connection. This can cause prevent you from connecting to friends and using W2G features. See Connection Issues for more details and potential workarounds.

Can't Find Friend ​

Symptoms:

  • Friend doesn't appear in W2G list
  • Can't send connection request

Check:

1. Both Online

Obvious but verify both connected to internet

2. Blocked by Firewall

  • Hayase blocked from internet access
  • Allow in firewall settings

3. Not behind CGNAT

Setting Up W2G Session ​

Creating a Session ​

1. Start W2G Room

Hayase → WatchTogether

Automatically creates room and connects to signal server.

2. Invite Friends

  • Copy room link or code
  • Send to friends

3. Wait for Friends to Join

4. Start Watching

  • Select content (same torrent for all)
  • Press play
  • Everyone's playback syncs automatically

Joining a Session ​

1. Receive Invite

  • Friend sends room link or code

2. Open in Hayase

  • Click link (opens Hayase automatically)

Or:

  • Hayase → WatchTogether → Paste code anywhere

Privacy and Security ​

What Data is Shared ​

Shared with peers:

  • Current playback position
  • Play/pause state
  • Your display name
  • Chat messages (if enabled)

NOT shared:

  • Your file locations
  • Your watch history
  • Your account info

Signal Server ​

What it knows:

  • You're trying to connect
  • Who you're connecting to
  • Connection metadata

What it doesn't know:

  • What you're watching
  • Your messages (encrypted)
  • Your files

After P2P established:

Signal server no longer involved All data goes peer-to-peer

Encryption ​

W2G connection:

Encrypted via WebRTC (DTLS) Same encryption as video calls Secure from eavesdropping

Comparison with Alternatives ​

vs Discord Screen Share ​

W2G Advantages:

  • No quality loss (each person streams directly)
  • Lower bandwidth (sync only, not video)
  • No host bottleneck (everyone independent)
  • Better quality possible

Discord Advantages:

  • Easier setup (just share screen)
  • Works with any content (not just torrents)
  • Integrated voice/video
  • Works in more restrictive networks (no P2P needed)

vs Other Sync Services ​

W2G Advantages:

  • Works with torrents (not just streaming services)
  • True P2P (no relay server needed)
  • Privacy-focused

Other services:

  • May have more features
  • May be more polished UI
  • Usually don't support torrents
  • Often require accounts

Related: