Skip to content

Releases: sagegallant/movienight

🎬 MovieNight v1.0.0 — P2P Watch Party & Virtual Screening Room

Choose a tag to compare

@sagegallant sagegallant released this 06 Sep 18:46

🎬 MovieNight v1.0.0 — The Lights Go Down Together!

We are thrilled to announce the initial official release of MovieNight (v1.0.0), a private, serverless, peer-to-peer virtual screening room and watch party platform that runs entirely in your web browser.

No sign-ups, no tracking, no subscriptions, and zero central media storage. Just create a room, share a 6-character code (ABC-123), and watch videos in real-time lock-step sync!


✨ Key Features & Capabilities

🎞️ Triple-Mode Video Pipeline

  • Local Movie Files: Drop any .mp4, .mkv, .webm, or .mov from your desktop. Browser decodes it in hardware and streams high-bitrate video/audio tracks directly across the WebRTC mesh without uploading anywhere.
  • Direct Video URLs & CDN Streams: Stream web links natively with built-in Range HTTP proxy support (/proxy-video) to defeat CORS limitations.
  • Copyright-Friendly Platform Embeds (YouTube): Embedded playback using official IFrame APIs with bidirectional play, pause, and seek synchronization.

⚡ True Full HD 1080p WebRTC Engineering

  • RFC 4566 SDP Munging: Injects bandwidth ceilings up to 12 Mbps (b=AS:12000, b=TIAS:12000000).
  • Fast HD Bitrate Ramp: Starts streams immediately in high definition (x-google-min-bitrate=2500; x-google-start-bitrate=6000; x-google-max-bitrate=12000) instead of blurry 360p.
  • Resolution Preservation: Enforces degradationPreference = "maintain-resolution" and contentHint = "detail" to prevent browsers from downscaling.
  • Studio Audio: Decodes 256 kbps Stereo Opus with multi-channel surround downmix protection.

⏱️ Sub-Second Drift-Free Synchronization

  • Heartbeat Sync Engine: Presenter broadcasts periodic sync beacons to keep all viewers within milliseconds of each other.
  • Continuous Drift Correction: Participants automatically re-align if network buffering causes $> 0.8$s drift.
  • Late-Join Transit Recovery: Late-joining or reconnecting friends calculate network transit offset $\Delta t$ and jump immediately to the room's current position.
  • Host Override Authority: Room creators maintain playback authority even when another participant is presenting.

🍿 Interactive Cinema Experience

  • Distraction-Free 16:9 Stage: Responsive cinema layout with Fullscreen mode (F).
  • Simultaneous Webcams & Mics: Participant video tiles line both sides of the cinema screen so you can watch reactions without covering the movie.
  • Live Emoji Sparks: Burst real-time reactions (❤️, 🔥, 👏, 😂, 🍿, 🎬) across everyone's screens.
  • Backrow Chat: Collapsible side drawer with timestamps, auto-scroll, and customizable avatars.
  • Generative Avatars: Procedural SVG robot avatars with customizable expressions, antennae, and colors.

🚀 Quickstart

Try it Live

Visit the live demo: https://sagegallant.github.io/movienight/

Run Locally

git clone https://github.com/SageGallant/movienight.git
cd movienight
npm install
npm start

**Full Changelog**: https://github.com/SageGallant/movienight/commits/v1.0.0