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

相关推荐
Legend NO2421 小时前
从数据中台到 Data Fabric:数据价值落地,终究要回归本质(二)
大数据·运维·fabric
vortex51 天前
解决 Alpine Linux 虚拟机从 VirtualBox 迁移到 VMware 的内核崩溃问题
linux·运维
lpl3129055091 天前
skynet 共享数据项目级应用
服务器·c语言·lua
qq_白羊座1 天前
Linux 压缩 / 解压(tar)命令 + 参数详解
linux·运维·github
PixelBai1 天前
JSON差异比较高级用法技巧
java·服务器·json
极客先躯1 天前
高级java每日一道面试题-2026年02月07日-实战篇[Docker]-如何使用存储插件(如 NFS、Ceph)?
运维·分布式·容器·自动化·文件·插件·高可用
IT探索1 天前
服务器 BIOS 测试
运维·服务器·网络
hj2862511 天前
Rsync 数据同步 + Inotify 实时监控 完整版实操笔记3
linux·运维·网络
ZKNOW甄知科技1 天前
燕千云AI-ITR系列:三线分层机制的标准化解决方案
大数据·运维·人工智能·低代码·自然语言处理·自动化·敏捷流程
AIOps打工人1 天前
数据库运维工具选型 2026 横评:dbskiter vs MySQL Workbench vs percona_toolkit vs Navicat
运维·数据库·mysql