docker 搭建nginx-rtmp

拉取镜像

首先,在docker的镜像页面 https://hub.docker.com/search?type=image 搜索关键词 “nginx rtmp”

docker 搭建nginx-rtmpdocker 搭建nginx-rtmp
sudo docker pull alqutami/rtmp-hls

docker 搭建nginx-rtmp

镜像说明(alqutami/rtmp-hls)

  • 这是一个基于 Nginx 和 nginx-rtmp-module 的模块
  • 使用 FFmpeg 来转码和自适应流媒体
  • 默认配置
    • RTMP open
    • HLS open(适配5种变量)
    • DASH open
  • 统计页面 http://<server ip>:<server port>/stats
  • 基于video.jshls.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参数指定

注意:这里的配置文件一定要存在,否则会报错

docker 搭建nginx-rtmp

镜像的配置文件 nginx.conf 在 Github 上,可以参考着改 https://github.com/TareqAlqutami/rtmp-hls-server/blob/master/conf/nginx.conf

docker 搭建nginx-rtmp

推送流

RTMP的实时流可以推送到如下地址

rtmp://<server ip>:1935/live/<stream_key>

其中 stream_key 可以是你指定的任何关键字

查看流

https://github.com/TareqAlqutami/rtmp-hls-server/blob/master/players/rtmp.html

docker 搭建nginx-rtmp

实战

查看本机ip

  • 局域网的情况 ifconfig | grep "inet 192"
    docker 搭建nginx-rtmp- 云服务器 curl ip.sb
    docker 搭建nginx-rtmp

启动容器

推流

播放