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配置。此方法提供了容器化的方式,方便部署和管理。

相关推荐
_下雨天.3 小时前
LVS负载均衡
服务器·负载均衡·lvs
mounter6255 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
特长腿特长6 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5386 小时前
Linux环境变量
linux·运维·服务器
kebeiovo6 小时前
atomic原子操作实现无锁队列
服务器·c++
赛博云推-Twitter热门霸屏工具7 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18807 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
帮我吧智能服务平台8 小时前
装备制造智能制造升级:远程运维与智能服务如何保障产线OEE
运维·服务器·制造
w6100104668 小时前
cka-2026-cri-dockerd
运维·k8s·cka
卤炖阑尾炎9 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql