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

相关推荐
段一凡-华北理工大学6 小时前
高炉炉况智能诊断与预警实战~系列文章18:预警提前量问题:过程滞后与预测窗口的权衡
服务器·网络·人工智能·机器学习·高炉智能化·炉况预警·工业预警滞后
北风toto6 小时前
扩展操作码技术 · 详细笔记
运维·服务器·笔记·软件设计师
笑霸final6 小时前
不用上传服务器!用 Vue3 + ONNX Runtime Web 在浏览器本地实现智能抠图
运维·前端·图像处理·ai·onnx·canva可画·web性能优化
2601_962218477 小时前
万象生鲜系统跨仓调拨算法助力生鲜企业供应链数字化协同运营
大数据·运维·微服务·云原生·架构
Dovis(誓平步青云)7 小时前
拍视频前先把镜头想清楚:做一个分镜取景辅助器
android·java·服务器·javascript·人工智能
2601_962218478 小时前
万象生鲜系统多仓协同同步技术支撑生鲜企业多仓模式数字化转型
大数据·运维·微服务·云原生·架构
mooooooooooye8 小时前
SSH 工具越用越乱,Xterminal 先清掉这三类失效连接
运维·ssh·github
qetfw8 小时前
Debian lftp FTP 客户端使用:登录、目录切换与文件传输
linux·运维·debian
2401_862880828 小时前
Linux应用层开发 --- 管道
linux·运维·c语言
隔窗听雨眠8 小时前
TDengine在AIOps中的硬核实战:从时序数据存储到智能运维的完整落地路径
大数据·运维·tdengine