Docker image for video streaming server that supports RTMP, HLS, and DASH streams.
This Docker image can be used to create a video streaming server that supports RTMP, HLS, DASH out of the box. It also allows adaptive streaming and custom transcoding of video streams. All modules are built from source on Debian and Alpine Linux base images.
http://<server ip>:<server port>/stats
./usr/local/nginx/html/players
. Current Image is built using:
This image was inspired by similar docker images from tiangolo and alfg. It has small build size, adds support for HTTP-based streams and adaptive streaming using FFmpeg.
docker run -d -p 1935:1935 -p 8080:8080 alqutami/rtmp-hls
For Alpine-based Image use:
docker run -d -p 1935:1935 -p 8080:8080 alqutami/rtmp-hls:latest-alpine
To run with custom conf file:
docker run -d -p 1935:1935 -p 8080:8080 -v custom.conf:/etc/nginx/nginx.conf alqutami/rtmp-hls
where custom.conf
is the new conf file for Nginx.
Stream live RTMP content to:
rtmp://<server ip>:1935/live/<stream_key>
where <stream_key>
is any stream key you specify.
Configure OBS to stream content:
Go to Settings > Stream, choose the following settings:
rtmp://<server ip>:1935/live
. test
rtmp://<server ip>:1935/live/<stream-key>
Replace <server ip>
with the IP of where the server is running, and
<stream-key>
with the stream key you used when setting up the stream.http://<server ip>:8080/hls/<stream-key>.m3u8
and
http://<server ip>:8080/dash/<stream-key>_src.mpd
respectively.Using provided web players:
The provided demo players assume the stream-key is called test
and the player is opened in localhost.
http://localhost:8080/players/rtmp.html
http://localhost:8080/players/hls.html
http://localhost:8080/players/hls_hlsjs.html
http://localhost:8080/players/dash.html
http://localhost:8080/players/rtmp_hls.html
Notes:
src
attribute in the video tag in the html file. You can then mount the modified files to the container as follows:
docker run -d -p 1935:1935 -p 8080:8080 -v custom_players:/usr/local/nginx/html/players alqutami/rtmp-hls
where custom_players
is the directory holding the modified html files.
Released under MIT license.
GitHub repo: https://github.com/TareqAlqutami/rtmp-hls-server.git
Docker Hub image: https://hub.docker.com/r/alqutami/rtmp-hls