A Chrome extension that allows users to synchronize YouTube video playback across multiple devices using peer-to-peer connections.
- 🔄 Real-time Synchronization: Automatically keeps video playback in sync across multiple devices
- 🔌 Peer-to-Peer Architecture: Direct connection between devices without requiring a server
- 🚪 Simple Room-based System: Easy to create and join rooms with shareable codes
- ⏯️ Play/Pause Syncing: When the host plays or pauses, all connected viewers follow
- ⏩ Seek Position Syncing: When the host seeks to a different position, all viewers' videos update
- 📊 Status Indicators: Clear visual feedback about connection status
- 👥 Multiple Viewer Support: Host can have multiple viewers connected simultaneously
(Coming Soon)
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode" (toggle in the top-right corner)
- Click "Load unpacked" and select the extension directory
- The extension icon should appear in your browser toolbar
- Navigate to any YouTube video
- Click the YouTube Sync P2P extension icon in your toolbar
- Select the "Host" tab (if not already selected)
- Click "Create Room"
- Share the generated room code with friends who want to join your session
- Control the video playback as usual - all connected viewers will stay in sync
- Get a room code from someone hosting a YouTube Sync session
- Navigate to the same YouTube video (or any YouTube video - the host's video will load)
- Click the YouTube Sync P2P extension icon
- Select the "Join" tab
- Enter the room code
- Click "Connect to Room"
- The video will now stay synchronized with the host's playback
- Click the YouTube Sync P2P extension icon
- Click "Leave Room"
- Can't create/join room: Make sure you're on a YouTube video page
- Synchronization issues: Check your internet connection
- Video not loading: Ensure you're on the same video as the host
- Connection lost: The host may have closed their session or browser
If you encounter issues:
- Open Chrome DevTools (F12 or Ctrl+Shift+I)
- Check the console for error messages
- Try refreshing the page and reconnecting
- All connections are peer-to-peer
- No data is stored on external servers
- Room codes are randomly generated and temporary
- Only basic video playback information is shared between peers
- Built with JavaScript
- Uses PeerJS for WebRTC peer-to-peer connections
- Chrome storage API for session persistence
- Supports modern YouTube SPA navigation
manifest.json
: Extension configurationpopup.html
&popup.js
: Extension popup interfacecontent.js
: Content script that interacts with YouTubebackground.js
: Background service workerpeerjs.min.js
: PeerJS library for WebRTC connections
- Clone the repository
- Make your changes
- Load the extension in Chrome using Developer mode
This project is licensed under the MIT License - see the LICENSE file for details.
- PeerJS for WebRTC simplification
- Font Awesome for icons
- Firefox support
- Video queue synchronization
- Chat functionality between viewers
- Custom room names