欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

Nginx搭建RTMP流媒体服务器的实现

时间:2025-12-15 19:30:02|栏目:其它服务器|点击:

目录
  • 1 环境搭建
    • 依赖库安装
    • 源码下载与编译
    • 编译过程
  • 2 推流服务
    • 2.1 利用文件推流
    • 2.2 将一路流灌到nginx服务器rtmp进行推流
  • 3 直播拉流

    1 环境搭建

    环境搭建主要是利用nginx服务器的插件模块nginx-rtmp-module进行rtmp的推拉流操作。

    依赖库安装

    安装过nginx的可以跳个这个步骤,主要是安装ssl、pcre和zlib库依赖

    #安装ssl依赖库
    sudo apt-get install openssl libssl-dev 
    #安装pcre
    sudo apt-get install libpcre3 libpcre3-dev
    #安装zlib
    sudo apt-get install zlib1g-dev 
    

    源码下载与编译

    源码下载路径:https://github.com/arut/nginx-rtmp-module
    下载源码,如果git命令没法下载就直接到网页下载复制到对应目录。

    mkdir /home/rtmp
    cd /home/rtmp
    git clone https://github.com/nginx/nginx.git
    git clone https://github.com/arut/nginx-rtmp-module.git
    

    编译过程

    设置nginx编译参数

    auto/configure --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module
    

    编译和安装

    make -j4
    sudo make install
    

    安装完可以查看nginx版本是否正常
    默认安装路径:/usr/local/nginx/

    Nginx搭建RTMP流媒体服务器的实现

    2 推流服务

    2.1 利用文件推流

    完成nginx服务器的安装后,需要进行rtmp服务的配置,只需要修改nginx配置即可:

    vi /usr/local/nginx/conf/nginx.conf

    配置内容注意事项:

    • 开启root权限,以便可以访问home下的目录;
    • play路径设置为自己的视频文件夹路径
    user  root;
    rtmp {  #RTMP server
        server {
            listen 1935;  #server port
            chunk_size 4096;  #chunk_size
            application vod {
               #play /mnt/hgfs/ygf/vod; #media file position
               play /home/ffmpeg_learn/test_sources/test-av;
            }
        }
    }
    

    Nginx搭建RTMP流媒体服务器的实现

    重启nginx

    /usr/local/nginx/sbin/nginx -s reload
    

    需要注意的是播放的路径一定要正确,同时播放音频是aac视频视h264,这里添加一个test.mp4文件。

    Nginx搭建RTMP流媒体服务器的实现

    下面是测试过程,windows利用vlc工具播放rtmp的路径。这里的ip需要设置为自己的Ubuntu ip地址

    Nginx搭建RTMP流媒体服务器的实现

    视频效果如下:

    Nginx搭建RTMP流媒体服务器的实现

    注意需要确定视频文件的格式:
    音频为AAC视频为H264

    2.2 将一路流灌到nginx服务器rtmp进行推流

    1 修改nginx配置,新增直播节点,用于FFmpeg将流推到对应节点上

            application live{ # live add
               live on;
            }
    

    Nginx搭建RTMP流媒体服务器的实现

    2 重启nginx服务器

    /usr/local/nginx/sbin/nginx -s reload

    3 进行推流操作

    ffmpeg -re -i /home/ffmpeg_learn/test_sources/test-av/Titanic.mp4 -c copy -f flv rtmp://192.168.88.180/live/Titanic
    

    利用vlc查看视频,如下所示:

    Nginx搭建RTMP流媒体服务器的实现

    3 直播拉流

    上面利用VLC就是一个拉流的过程。
    这里介绍FFmpeg命令行操作。

    #利用ffplay直接观看
    ffplay rtmp://192.168.88.180/vod/Titanic.mp4
    #利用FFmpeg下载到文件
    ffmpeg -i rtmp://192.168.88.180/vod/Titanic.mp4 test.mp4
    

    上一篇:永中文档在线转换预览基于nginx配置部署方案

    栏    目:其它服务器

    下一篇:Docker容器使用方法详解

    本文标题:Nginx搭建RTMP流媒体服务器的实现

    本文地址:https://zz.feitang.co/server/31096.html

    广告投放 | 联系我们 | 版权申明

    申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:257218569 | 邮箱:257218569@qq.com

    Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号