|
||
---|---|---|
.drone.yml | ||
Dockerfile | ||
nginx_ingest.conf | ||
nginx_restream.conf | ||
README.md | ||
startscript.sh |
NGINX Streamer
NGINX Streamer is a simple to use and lightweight RTMP ingest or restream tool. It can distribute streams to multiple proviers or copy a stream to another local endpoint you can then view live.
Requirements
NGINX Streamer only requires an OCI compatible container runtime to run.
For example typing docker run registry.kmlabz.com/videon/nginx-streamer
into your terminal should do the trick.
Environment Variables
If there are no environment variables present, NGINX Streamer stars in ingest mode and generates a stream key for you.
- TYPE - May be
ingest
orrestream
- STREAM_KEY - May be an alphanumeric string
- PUSH_URLS - May be a list of rtmp endpoints to restream to. For example:
rtmp://live-fra02.twitch.tv/app/{stream_key}, rtmp://a.rtmp.youtube.com/live2
. This environment variable is only relevant in restream mode.
Operating Modes
Ingest Mode
Takes an RTMP stream at rtmp://<yourIP>/origin/<streamKey>
and exposes the exact same stream at rtmp://<yourIP>/live
.
Restream Mode
The input RTMP stream at rtmp://<yourIP>/origin/<streamKey>
will be pushed to the specified RTMP endpoints.
Ports
NGINX Streamer exposes the default RTMP port, 1935. You may forward this to any port on your machine.
TODO
Currently, NGINX Streamer does not validate stream keys. This may be implemented in Django, for example.