20 分钟搭建一个串流服务器

步骤1:准备Nginx RTMP容器

首先,您可以使用官方的Nginx RTMP Docker镜像来创建Nginx RTMP容器。运行以下命令:

复制代码
docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp

这将在后台运行Nginx RTMP容器,将本地1935端口映射到容器的1935端口。

步骤2:准备FFmpeg容器

接下来,您可以创建一个自定义的FFmpeg容器,用于将本地视频流传输到Nginx RTMP容器。创建一个名为ffmpeg-streamer的Dockerfile,内容如下:

复制代码
FROM alpine:latest 
RUN apk --no-cache add ffmpeg 
CMD ["ffmpeg", "-i", "input.mp4", "-c:v", "libx264", "-c:a", "aac", "-f", "flv", "rtmp://nginx-rtmp/live/streamName"]

这个Dockerfile使用Alpine Linux作为基础镜像,并安装FFmpeg。然后,它定义了一个CMD命令,用于将输入视频input.mp4编码为H.264视频和AAC音频,并将其传输到Nginx RTMP容器的live应用程序中的streamName流。

步骤3:构建和运行FFmpeg容器

构建自定义的FFmpeg容器:

复制代码
docker build -t ffmpeg-streamer .

然后运行容器:

复制代码
docker run -d --name ffmpeg-streamer --network host ffmpeg-streamer

步骤4:查看RTMP串流

您可以使用RTMP播放器或工具来查看您的RTMP串流。在播放器中,输入以下URL:

rtmp://localhost/live/streamName

这样,您已经将Nginx RTMP和FFmpeg容器结合使用,通过Docker容器进行RTMP串流。您可以根据需要自定义FFmpeg容器的配置和Nginx RTMP容器的Nginx配置。此方法提供了容器化的方式,方便部署和管理。

相关推荐
技术民工之路1 小时前
RAG 在真实业务项目落地全流程(从需求到上线运维)
运维
极客先躯1 小时前
高级java每日一道面试题-2026年04月05日-实战篇[Docker]-如何排查容器 OOM 的问题?
java·运维·docker·容器·内存溢出·高级面试
玖玥拾2 小时前
C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动
服务器·开发语言·网络·ui·unity·c#·游戏引擎
巴啦啦小魔仙变身3 小时前
SIGINT = Signal Interrupte
linux·服务器·python
RisunJan3 小时前
Linux命令-route(查看/修改 IP 路由表)
linux·运维
不会C语言的男孩3 小时前
TCP通信可视化工具,含下载地址
服务器·网络·安全
TDengine (老段)4 小时前
TDengine SMA 索引 — 块级/文件级统计索引
android·大数据·服务器·数据库·人工智能·时序数据库·tdengine
玖玥拾4 小时前
C# 语言进阶(十三)网络 DLL 库分层设计
服务器·开发语言·网络·网络协议·c#
qetfw4 小时前
CentOS 7 搭建 DNS 主从服务
linux·运维·centos·dns·bind
柠石榴4 小时前
远程连接校内服务器 ssh
运维·服务器·ssh