
tiangolo/nginx-rtmplatest (Dockerfile)说明:提供按构建日期命名的标签。如需固定使用某个版本,可选择此类标签,例如 tiangolo/nginx-rtmp:latest-2020-08-16。
这是一个基于 Docker 的镜像,集成了 Nginx 和 nginx-rtmp-module 模块,用于多媒体(视频)直播流服务。
该 Docker 镜像基于 Nginx 和 nginx-rtmp-module 构建,可搭建 RTMP 直播服务器。构建时使用当前最新源码(Nginx 1.15.0 和 nginx-rtmp-module 1.2.1)。
开发灵感来源于其他类似镜像(如 dvdgiessen、jasonrivers、aevumdecessus 等)及 OBS Studio 社区文章。其核心用途(也是测试场景)是支持从 OBS Studio 向多个客户端同时推流。
最简单的使用方式是直接运行容器:
bashdocker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp
说明:
-d:后台运行容器;-p 1935:1935:映射容器的 1935 端口(RTMP 默认端口)到主机;--name nginx-rtmp:指定容器名称为 nginx-rtmp。按上述命令启动容器。
配置 OBS Studio 推流:
rtmp://<主机IP>/live,将 <主机IP> 替换为容器所在主机的 IP(例如 rtmp://192.168.0.30/live);test),后续客户端需通过此密钥拉流;使用 VLC 拉流播放:
rtmp://<主机IP>/live/<密钥>,替换 <主机IP> 和 <密钥>(例如 rtmp://192.168.0.30/live/test);若推流或拉流异常,可通过容器日志排查问题:
bashdocker logs nginx-rtmp
如需修改 Nginx 配置,可通过以下步骤基于原镜像扩展:
基于默认配置修改,原配置内容如下:
nginxworker_processes auto; # 自动设置工作进程数 rtmp_auto_push on; # 自动推送流到客户端 events {} rtmp { server { listen 1935; # 监听 RTMP 端口 listen [::]:1935 ipv6only=on; # 支持 IPv6 application live { # 应用名称(对应推流 URL 中的 /live) live on; # 启用直播模式 record off; # 禁用录制 } } }
根据需求调整配置(参考 nginx-rtmp-module 文档)。
创建 Dockerfile:
DockerfileFROM tiangolo/nginx-rtmp COPY nginx.conf /etc/nginx/nginx.conf # 替换默认配置
构建并运行新镜像:
bashdocker build -t my-nginx-rtmp . docker run -d -p 1935:1935 --name my-nginx-rtmp my-nginx-rtmp
buildpack-deps(进一步基于 Debian)构建,与 Python、Node、Postgres 等官方镜像共享基础层,减少本地存储占用。rtmp_auto_push 和自动工作进程数,支持单流推送到多客户端同时拉流。--with-debug 编译选项,支持调试指令;本项目基于 MIT 许可证开源。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务