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

相关推荐
网硕互联的小客服11 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
楚识科技11 小时前
合同比对全流程自动化:OCR识别+差异比对+法律风险字段抽取实战指南
运维·自动化·ocr
代码方舟11 小时前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
lisanmengmeng12 小时前
nacos nrpe 监控机及被监控机部署
服务器·nacos·nagios·nrpe
贵沫末12 小时前
Ubuntu——常用软件安装
linux·运维·ubuntu
Doraemomo13 小时前
Linux内核驱动开发——中断与定时器
linux·运维·驱动开发
2301_8084143813 小时前
Linux中动静态库的理解
linux·运维·服务器
分布式存储与RustFS13 小时前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
一条破秋裤14 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
可涵不会debug15 小时前
第一次学 LangGraph:用一个快递案例搞懂 State、Node、Edge 和 compile
服务器·数据库·mysql