Warning: This project is in “Alpha” status and is being updated frequently with breaking changes.
PyRestreamer is a simple app built with FFMPEG, Streamlink, Docker, and Python to re-stream video content from DASH or HLS streams to RTMP. One possible use case is to allow re-broadcasting content from sources that only provide DASH or HLS endpoints to other services and endpoints that require RTMP.
The general idea is that you specify the times you would like to be actively re-streaming, and then PyReStreamer will automatically start streaming at the specified time and stop after the specified duration. FFMPEG is used under the hood, so you can output anything supported by FFMPEG.
PyReStreamer is designed to be deployed in a Docker container. As such, you’ll need a host running Docker Engine to get started. Once you’ve got that up and running, these steps will get you started:
- Pull the image from Docker Hub:
docker pull billdeitrick/pyrestreamer
- Copy the sample .env and logging.yml files and edit according to your requirements. The .env file is fairly well documented, and the logging.yml file is configured for suitable Docker defaults. PushOver support is built in (in example file) if you are a PushOver user. Otherwise, you can learn more about logging options in the Python docs. Generally I prefer to drop them in
/opt/pyrestreameron my Docker host.
- Start the container; here’s an example command:
docker run -d --name pyrestreamer --restart unless-stopped --env-file /path/to/.env -v /path/to/logging.yml:/opt/app/logging.yml billdeitrick/pyrestreamer
- FFMPEG NGINX Command to Convert RTMP Live Video Streaming to HLS and DASH in Command Line
- Python 3 FFMPEG Script to Build RTMP Live Video Streaming Server in Browser Using NGINX
- Python 3 Flask FFMPEG Project to Build RTMP LIVE Video Streaming Server Using NGINX Server in Browser
- Python Golang FFMPEG Project to Build RTMP Video Streaming Server Using NGINX Server in Command Line
- FFMPEG NGINX Command to Convert RTMP Streaming Fragments to WebRTC Video in Command Line
- Python 3 Flask FFMPEG Script to Build Instagram Live Video Streaming App Using RTMP Server GUI Desktop App
- Python 3 FFMPEG Script to Build & Extract Facial Recognition From RTMP Live Streaming Video in Browser
- Python 3 FFMPEG Script to Convert BLOB Data to RTMP Live Video Streaming in Browser Using HTML5
- PHP 7 FFMPEG Script to Broadcast LIVE IP Camera Streaming Video in Browser Using RTSP & RTMP Protocol
- PHP 7 FFMPEG Script to Build RTSP & RTMP Live Video Streaming Server From Scratch in Browser
- React.js FFMPEG Project to Build RTMP & HLS LIVE Video Streaming Server Using EJS & Docker in Python
- FFMPEG Command to Convert RTMP Stream to FLS & Stream LIVE Video on Command Line
- FFMPEG Command to Transcode RTMP Stream to HLS & Stream LIVE Video on Command Line
- FFMPEG Command to Display RTMP Live Video Stream inside Android,Tablets & IPhone & Pads
- FFMPEG Command to Convert RTMP Stream to RTSP & Stream LIVE Video on Command Line
- C++ FFMPEG Project to Live Stream Video With File Protocols (rtsp/rtmp/tcp/udp) in Command Line
- React Native FFMPEG Project to Build VLC Media Player For Playing RTSP & RTMP Live Streaming Video in Browser
- Angular 14 FFMPEG Project to Build RTSP & RTMP Live Video Streaming Server From IP Camera in Browser Using TypeScript
- Vue.js 3 FFMPEG Project to Build RTSP & RTMP Live Video Streaming Server From IP Camera in Browser Using TypeScript