This Dockerfile installs NGINX configured with nginx-rtmp-module
, ffmpeg
and some default settings for HLS live streaming.
Note: in the current state, this is just an experimental project to play with RTMP and HLS.
-
Build and run the container (
docker build -t nginx_rtmp .
&docker run -p 8080:80 --rm nginx_rtmp
). -
Stream your live content to
rtmp://localhost:1935/encoder/stream_name
wherestream_name
is the name of your stream. -
In Safari, VLC or any HLS compatible browser / player, open
http://localhost:8080/hls/stream_name.m3u8
. Note that the first time, it might take a few (10-15) seconds before the stream works. This is because when you start streaming to the server, it needs to generate the first segments and the related playlists. -
run this command for get RTSP stream
ffmpeg -stats -loglevel quiet -err_detect ignore_err -fflags +genpts -stimeout 5000000 -rtsp_transport tcp -i rtsp://strem_url -map_metadata -1 -f flv -map 0:0 -codec:v copy -vsync 0 -copyts -start_at_zero -an rtmp://localhost:1935/encoder/stream