Boltstream Live Video Streaming Website + Backend

Related tags

Videoboltstream
Overview

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 Freenode! #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 .

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
http://localhost:8000/sign-in 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!

Owner
Ben Wilber
Ben Wilber
This is a tool for making a every day video if you take a picture of you everyday

Face-Everyday-Maker-Studio Description This project is a tool for making a everyday video, which is timelapse video or slides video, of images but for

John A Betancourt G 9 Sep 06, 2022
Jio TV Server - Watch TV right from your laptop

Jio-PyServer Jio TV - Python Server Watch TV right from your laptop! Requirements: Python 3.X Internet Access A Jio Account Known Issues: Channel Stre

Elvis Tony 11 Apr 05, 2022
Python application that can be used to generate video thumbnail for mp4 and mkv file types.

Thumbnail Generator 🎬 What is This This is a Python application that can be used to generate video thumbnail for mp4 and mkv file types. Installation

Tharindu N. 13 Jan 03, 2023
Synchronize Two Cameras in Real Time using Multiprocessing

Synchronize Two Cameras in Real Time using Multiprocessing In progress ... 📁 Project Structure 📚 Install Libraries for this Project (requirements.tx

Eduardo Carvalho Nunes 2 Oct 31, 2021
Examples of usage of GStreamer hlssink3 plugin.

Examples of usage of GStreamer hlssink3 plugin.

Rafael Carício 2 Aug 03, 2022
PyAV is a Pythonic binding for the FFmpeg libraries.

PyAV is a Pythonic binding for the FFmpeg libraries. We aim to provide all of the power and control of the underlying library, but manage the gritty details as much as possible.

PyAV 1.8k Jan 01, 2023
Python package for Near Duplicate Video Detection (Perceptual Video Hashing) - Get a 64-bit comparable hash-value for any video.

The Python package for near duplicate video detection ⭐️ Introduction Videohash is a Python package for detecting near-duplicate videos (Perceptual Vi

Akash Mahanty 144 Dec 19, 2022
Streams video from raspberry pi to desktop T1 - Recognizes Faces on client T2

VideoStreamingServer Completed: Streams video from raspberry pi to desktop T1 - Recognizes Faces on client T2 In progress: Change the transmission Pro

1 Dec 06, 2021
Wonkey - an open source programming language for the creation of cross-platform video games

Wonkey Programming Language Wonkey is an open source programming language for the creation of cross-platform video games, highly inspired by the “Blit

Wonkey Coders 110 Nov 09, 2022
Python Simple Mass Video Clipper (PSMVC)

Python Simple Mass Video Clipper (PSMVC) PSMVC é um gerador de cortes via terminal construído em python. Uso Basta abrir o arquivo start.py Dependenci

Bruno 2 Oct 16, 2021
TkVideoplayer - This is a simple library to play video files in tkinter.

TkVideoplayer - This is a simple library to play video files in tkinter.

Art/Paul 38 Dec 23, 2022
A way to run youtube videos in TTY

TTY youtube client its finally here, the one thing literally NO ONE ASKED FOR!! A way to run youtube videos in TTY Dependencies: (pip) yt-search (syst

1 Nov 28, 2021
It is a simple python package to play videos in the terminal using characters as pixels

It is a simple python package to play videos in the terminal using characters as pixels

Joel Ibaceta 1.4k Jan 07, 2023
pyffstream - A CLI frontend for streaming over SRT and RTMP specializing in sending off files

pyffstream - A CLI frontend for streaming over SRT and RTMP specializing in sending off files

Gregory Beauregard 3 Mar 04, 2022
A Advanced Anime Theme VC Video Player created for playing vidio in the voice chats of Telegram Groups

Yui Vidio Player A Advanced Anime Theme VC Video Player created for playing vidio in the voice chats of Telegram Groups Demo Setting up Add this Bot t

Achu biju 32 Sep 16, 2021
A GUI based datamoshing apllication for everyone! Apply this glitch to your videos and gifs. Supports all video formats!

A GUI based datamoshing apllication for everyone! Apply this glitch to your videos and gifs. Supports all video formats!

Akascape 131 Dec 31, 2022
All the code in these repos was created and explained by HashLips on the main YouTube channel.

Welcome to HashLips 👄 All the code in these repos was created and explained by HashLips on the main YouTube channel. To find out more please visit: ?

HashLips 6.7k Jan 06, 2023
A wrapper around ffmpeg to make it work in a concurrent and memory-buffered fashion.

Media Fixer Have you ever had a film or TV show that your TV wasn't able to play its audio? Well this program is for you. Media Fixer is a program whi

Halit Şimşek 3 May 04, 2022
Adblocker for movie subtitles.

SubAdBlock Adblocker for movie subtitles. Usage Place "main.py" and "config.conf" in directory with subtitles and run "main.py". It will automatically

Marko Živić 1 Jan 09, 2022
Video processing routines for SciPy

scikit-video Video Processing SciKit BETA Video processing algorithms, including I/O, quality metrics, temporal filtering, motion/object detection, mo

Alex Izvorski 119 Dec 27, 2022