add encode mode
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-09-20 02:49:49 +02:00
parent 0fc0ae1ff7
commit e0a298da5b
6 changed files with 66 additions and 19 deletions

View File

@@ -13,19 +13,25 @@ For example typing ``docker run registry.kmlabz.com/videon/nginx-streamer
If there are no environment variables present, NGINX Streamer stars in ingest mode and generates a stream key for you.
- TYPE - May be ``ingest`` or ``restream``
- 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.
- *TYPE* - May be ``ingest``, ``restream`` or ``encode``
- *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.
- *FFMPEG_ARGS* - Arguments passed to the internal FFMPEG encoder.
- *ENCODE_PUSH_URL* - **RTMP** endpoint to push the stream to.
## Operating Modes
### Ingest Mode
Takes an **RTMP** stream at ``rtmp://<yourIP>/origin/<streamKey>`` and exposes the exact same stream at ``rtmp://<yourIP>/live``.
Takes an **RTMP** stream at ``rtmp://<yourIP>/origin/<streamKey>`` and exposes the exact same stream at ``rtmp://<yourIP>/live``. It is active if *TYPE* is set to ``ingest``.
### Restream Mode
The input **RTMP** stream at ``rtmp://<yourIP>/origin/<streamKey>`` will be pushed to the specified **RTMP** endpoints.
The input **RTMP** stream at ``rtmp://<yourIP>/origin/<streamKey>`` will be pushed to the **RTMP** endpoints specified in *PUSH_URLS*. It is active if *TYPE* is set to ``restream``.
### Encode Mode
The input **RTMP** stream at ``rtmp://<yourIP>/origin/<streamKey>`` gets encoded according to the environment variable ``FFMPEG_ARGS`` and then gets pushed to pushed to the **RTMP** endpoints specified in *ENCODE_PUSH_URL*. It is active if *TYPE* is set to ``encode``.
## Ports
@@ -34,3 +40,5 @@ NGINX Streamer exposes the default **RTMP** port, 1935. You may forward this to
## TODO
Currently, NGINX Streamer does not validate stream keys. This may be implemented in Django, for example.
An API to get the current stream key would be nice as well.