/Radium

Synced stream and video playback with VOD capabilities utilizing HLS. Developed for movie nights but has many use cases.

Primary LanguageVueMIT LicenseMIT


Radium

🖥️Demo may take a minute to wake app

Radium Docker Image Nginx-RTMP-HLS

screenshot

Features

  • HLS
    • RTMP to HLS stream with VOD capabilities
    • Direct HLS playback
  • Controls
    • Play, pause, and sync all members in the room
  • Sync Room
    • Sync button pushes users time to all clients*
  • Chat
    • No login, simply enter a displayname
    • Custom emotes from images
    • Admin authentication*
  • More coming soon!

*Only Admins are able to sync the room

Getting Started

Basic usage

Radium runs in a Docker container, simply modify and run the docker command.

# Basic Docker Container
$ docker run -d --name=radium -p 3000:3000 -e BASE_URL=https://radium.example.com zibbp/radium:latest

Prefer using docker compose? Check out the docker-compose.yml

Options

Base URL (REQUIRED)

The base url is required for basic functionality.

If not using a reverse proxy and a domain, the IP and PORT need to be supplied.

# Add the following environment variable
-e BASE_URL=https://radium.example.com

or

# Add the following environment variable
-e BASE_URL=http://1.2.3.4:3000
HLS

The HLS url can be changed via an environment variable or within the application when running. To set a permanent url, pass the environment variable HLS_URL through.

# Add the following environment variable
-e HLS_URL=https://domain.com/stream.m3u8

If the HLS_URL variable is not passed through, a default demo file will play.

Visit the documentation for generating HLS media.

Admin Token

The admin token is automatically generated and logged to the console whenever started, but a custom one can be passed through.

# Add the following environment variable
-e ADMIN_TOKEN=secret123

Visit the documentation for token usage.

Documentation

Highlights

Alternatives

Looking for something else? Check out these amazing opensource projects.
  • MovieNight This is a single-instance streaming server with chat. Originally written to replace Rabbit as the platform for watching movies with a group of people online.
  • Open Streaming Platform A Self-Hosted Video Streaming and Recording Server Using Python, Flask, Nginx-RTMP.
  • Jellyfin The Free Software Media System v10.6 introduced a synced playback feature

Information

zibbp.tech  ·  GitHub @zibbp  · 

License

Radium is distributed under the terms of the MIT license. See LICENSE.md for details.