SyncTube
Lightweight web application for synchronized video playback with chat, leader-controlled playback, subtitle/audio track support and Docker deployment.
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.


