docker 搭建nginx-rtmp
拉取镜像
首先,在docker的镜像页面 https://hub.docker.com/search?type=image 搜索关键词 “nginx rtmp”
sudo docker pull alqutami/rtmp-hls
镜像说明(alqutami/rtmp-hls)
- 这是一个基于 Nginx 和 nginx-rtmp-module 的模块
- 使用 FFmpeg 来转码和自适应流媒体
- 默认配置
- RTMP open
- HLS open(适配5种变量)
- DASH open
- 统计页面
http://<server ip>:<server port>/stats
- 基于video.js和hls.js的web视频播放器,被放在
/usr/local/nginx/html/players
下面
该镜像使用如下模块编译
- Nginx 1.17.5
- Nginx-rtmp-module 1.2.1
- FFmpeg 4.2.1
使用方式
启动服务
sudo docker run -d -p 1935:1935 -p 8080:8080 alqutami/rtmp-hls
- 使用
docker run <镜像名>
启动镜像 -
-d
指示容器在后台运行 -
-p
用来设置端口映射
使用自定义的配置文件启动容器
sudo docker run -d -p 1935:1935 -p 8080:8080 -v custom.conf:/etc/nginx/nginx.conf alqutami/rtmp-hls
- docker容器启动时,如果要挂载宿主机的一个目录,可以用
-v
参数指定
注意:这里的配置文件一定要存在,否则会报错
镜像的配置文件 nginx.conf 在 Github 上,可以参考着改 https://github.com/TareqAlqutami/rtmp-hls-server/blob/master/conf/nginx.conf
推送流
RTMP的实时流可以推送到如下地址
rtmp://<server ip>:1935/live/<stream_key>
其中 stream_key 可以是你指定的任何关键字
查看流
https://github.com/TareqAlqutami/rtmp-hls-server/blob/master/players/rtmp.html
实战
查看本机ip
- 局域网的情况
ifconfig | grep "inet 192"
- 云服务器
curl ip.sb