• 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,内容如下:

    1. FROM alpine:latest
    2. RUN apk --no-cache add ffmpeg
    3. 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配置。此方法提供了容器化的方式,方便部署和管理。

  • 相关阅读:
    ReclaiMe Pro:丢失分区的恢复方法
    网络编程打开的第一节预备课-----关于socket
    SpringBoot+Redis实现不重复消费的队列
    【代码随想录】刷题Day51&Day52
    【活动预告】金融大数据治理实践分享(12/03)
    redis淘汰策略
    自定义MVC框架实现
    Java泛型
    C# 泛型
    力扣(LeetCode)算法_C++——稀疏矩阵的乘法
  • 原文地址:https://blog.csdn.net/weixin_43958308/article/details/134163400