Welcome to World of IPTV

Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?

Forum Rules

Our Rules: Read to avoid getting banned!

Advertising

Introduce Yourself to the World with Us!

Resource Database

Find the newest resources around IPTV!

Account upgrade

Upgrade your account to unlock more benefits!

GitHub Trend Boltstream - Self-hosted Live Video Streaming Website + Backend

redhat

Administrator
Staff member
Administrator
Joined
Jun 19, 2019
Messages
3,212
Reaction score
15,413
Points
134
Location
root[@]woi

Boltstream​

Self-hosted Live Video Streaming Website + Backend

Reference website: https://boltstream.me

This is the result of a series of blog posts that I made here

Join us on Libera.Chat! #boltstream

Features​

  • Live stream via RTMP with a stream key to your RTMP ingest server
  • Any number of simultaneous live streams
  • Playback via standard HLS
  • Restrict playback with HLS segment encryption (AES-128)
    • Pay-per-view
    • Pay-per-minute :-)
  • Capture VODs (recordings) of live streams
    • Live-clipping of VODs via nginx-vod-module
  • Timed metadata via WebVTT
    • Synchronized chat room messages
    • Synchronized play-by-play live sports events

Core Components​

  • Django
    • Web application
  • nginx
    • Web server
  • nginx-rtmp
    • RTMP ingest
    • Actually, we use a fork that adds a number of features that we use. The original nginx-rtmp hasn't been updated in years.
  • nginx-vod-module
    • HLS VODs
    • Live clipping
  • FFMPEG
    • Various video encoding/packaging

Optional Components​

  • SportRadar
    • Realtime sports play-by-play data synchronized to your live streams
  • ACRCloud
    • Audio content recognition (Shazaam for your live streams)

Getting Started​

Clone this repo!

There is a Terraform configuration for deploying this infrastructure on DigitalOcean.

First, edit ansible/site.yml and update all the variables like <your ...variable_here>.

You will also need to modify some variables in terraform/terraform.tfvars, and then from within the terraform directory, just run:

$ make apply
At the end of the Terraform deployment (might take 10-15 minutes), you will have a full self-hosted live video streaming platform with your own RTMP ingest and playback endpoints.

Happy Streaming!

Running Locally​

If you're interested in running the Django app locallly, then you can do:

# Set up Python virtualenv
$ make venv
$ source venv/bin/activate

# Install Python dependencies
$ make deps

# Apply database migrations (db.sqlite3) and load the initial data
$ make cleandb

# Run the Django development server
$ make run
You can log in with the default user at:

Website​
Username​
Password​
boltstream​
boltstream​

Help Wanted!​

I put this stack together about a year ago and haven't been able to push much further on it.

Ideally it could be deployed in Docker (I don't know anything about Docker or Kubernetes). The nginx and Django stuff seems like it could be pretty easy to containerize.

Help me package this up! We need more federated live-streaming platforms! It can't just always be Twitch.tv, YouTube, and Facebook!
 
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top