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 许可证开源。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务