
docker-nginx-rtmp是一个基于Alpine Linux的Docker镜像,从源码编译安装NGINX、nginx-rtmp-module和FFmpeg,默认配置用于HLS(HTTP Live Streaming)直播流服务。该镜像提供了开箱即用的直播流解决方案,适合快速部署直播服务器。
方法1:拉取镜像并运行
bashdocker pull alfg/nginx-rtmp docker run -it -p 1935:1935 -p 8080:80 --rm alfg/nginx-rtmp
方法2:从源码构建并运行
bash# 克隆源码仓库(假设已获取源码) git clone https://github.com/alfg/docker-nginx-rtmp.git cd docker-nginx-rtmp # 构建镜像 docker build -t nginx-rtmp . # 运行容器 docker run -it -p 1935:1935 -p 8080:80 --rm nginx-rtmp
推流地址
向服务器推送直播流的地址格式:
rtmp://<服务器IP>:1935/stream/$STREAM_NAME
其中$STREAM_NAME为自定义流名称(如"live123")。
默认配置未启用SSL,如需启用HTTPS,需修改nginx.conf并取消以下行的注释:
nginxlisten 443 ssl; ssl_certificate /opt/certs/example.com.crt; ssl_certificate_key /opt/certs/example.com.key;
镜像中提供了位于/certs目录的自签名证书,仅供测试使用。生产环境强烈建议使用正式证书,推荐通过Let's Encrypt的Certbot工具获取免费SSL证书,并更新ssl_certificate和ssl_certificate_key的路径。
使用OBS Studio推流时,配置如下:
自定义流媒体服务器rtmp://localhost:1935/stream(将localhost替换为实际服务器IP)hello(可自定义,需与观看地址中的流名称一致)HLS播放器
在Safari、VLC或其他支持HLS的播放器中,打开以下地址:
http://<服务器IP>:8080/live/$STREAM_NAME.m3u8
示例:http://localhost:8080/live/hello.m3u8(假设流名称为"hello")
VideoJS播放器
可使用https://video-dev.github.io/hls.js/stable/demo/?src=http%3A%2F%2Flocalhost%3A8080%2Flive%2Fhello.m3u8%E7%9B%B4%E6%8E%A5%E6%92%AD%E6%94%BEHLS%E6%B5%81%E3%80%82
FFplay
通过FFmpeg的ffplay工具播放RTMP流:
bashffplay -fflags nobuffer rtmp://localhost:1935/stream/hello
镜像中的FFmpeg编译配置如下:
ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 6.4.0 (Alpine 6.4.0) configuration: --prefix=/usr/local --enable-version3 --enable-gpl --enable-nonfree --enable-small --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libopus --enable-libfdk-aac --enable-libass --enable-libwebp --enable-librtmp --enable-postproc --enable-avresample --enable-libfreetype --enable-openssl --disable-debug --disable-doc --disable-ffplay --extra-libs='-lpthread -lm' libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务