SyncTube
Synchronized web app for shared video playback and chat
SyncTube is a lightweight web application that synchronizes video playback across connected users and provides an integrated chat and playlist interface. The project source is implemented using Haxe and runs on a Node.js runtime, with optional Docker deployment for convenience. (github.com)
Key Features
- Leader-controlled global playback (play/pause/seek/playback-rate) for coordinated viewing.
- Support for YouTube (videos, shorts, streams, playlists), Streamable, VK, PeerTube, raw mp4 and m3u8 playlists; iframes are supported (without sync).
- Local video upload support allowing playback to start before upload completes.
- External subtitle formats (vtt/srt/ass) and external audio/voiceover track support.
- Chat with built-in commands (time rewinds, flashback, volume, admin controls such as ban/kick/dump/crash) and hotkeys for quick control.
- Mobile-friendly compact view and Android page-fullscreen behavior.
- Plugin architecture (example plugins: octosubs, qswitcher) and ability to override front-end files via a user/res folder.
- Optional server-side YouTube cache feature (requires an optional ytdlp helper and ffmpeg to build cached mp4s).
- Docker and docker-compose files included for containerized deployment. (github.com)
Use Cases
- Friends or small groups who want to watch YouTube videos or direct media links in perfect sync while chatting.
- Remote watch parties, study groups, or media review sessions where a single leader controls playback and timing.
- Lightweight testing or demonstration of synchronized playback, subtitle and audio-track handling in a web environment.
Limitations and Considerations
- Authentication is minimal: users sign in with a nickname by default (no built-in persistent account system or full user management out of the box).
- Server-side YouTube caching requires optional external components (a ytdlp helper package and ffmpeg) and additional storage configuration.
- The repository shows no formal packaged releases; deployment is primarily via source build or provided Docker configuration. (github.com)
SyncTube is a focused, practical implementation for synchronized viewing and chat tailored to small groups and self-deployment. It emphasizes simplicity, extensibility and multiple deployment methods (direct Node.js or Docker), making it suitable for private watch parties and experimentation.
Categories:
Tags:
Tech Stack:
Similar Services
SRS (Simple Realtime Server)
High-performance real-time media server for live streaming and WebRTC
SRS (Simple Realtime Server) is a high-efficiency media server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181 for real-time streaming.

Jitsi Meet
WebRTC-based video conferencing for the web and mobile
Self-hostable WebRTC video conferencing with chat, screen sharing, moderation tools, and SDKs for embedding meetings into web and mobile apps.

SimpleX Chat
Open-source encrypted messenger with no user identifiers
Open-source, decentralized messaging network built on a Haskell core with Kotlin Multiplatform and native iOS clients; end-to-end encrypted messaging without user IDs.

Screego
Open-source self-hosted screen sharing for developers
Open-source screen sharing server that runs self-hosted; WebRTC-based with TURN server; Docker or single-binary deployment; browser-based.

BigBlueButton
Open-source web conferencing for virtual classrooms
BigBlueButton is an open-source virtual classroom and web conferencing platform with real-time audio/video, screen sharing, whiteboards, breakout rooms, polling, and reco...
Janus WebRTC Server
General-purpose WebRTC media server with a plugin architecture
Janus WebRTC Server is a lightweight, general-purpose WebRTC gateway for building real-time audio/video applications via plugins and a JSON-based API.
HTML
Docker
CSS
npm
Node.js