Nginx RTMP nginx-http-flv-module 环境搭建(CentOS 7)

 
更多

Nginx RTMP

引言

随着直播和流媒体技术的快速发展,越来越多的企业和个人需要在自己的服务器上搭建自己的媒体服务器来进行直播和视频点播。本篇博客将介绍如何在CentOS 7操作系统上搭建Nginx + RTMP服务器,并使用nginx-http-flv-module模块来实现基于HTTP的FLV直播和点播。

环境准备

在开始搭建之前,确保您已经准备好CentOS 7操作系统,并且能够通过SSH连接到服务器。同时,请确保您的服务器具备足够的硬件资源来支持媒体服务器的运行。

步骤一:安装Nginx

  1. 更新系统软件包:
sudo yum update -y
  1. 安装epel软件源:
sudo yum install epel-release
  1. 安装Nginx:
sudo yum install nginx -y
  1. 启动Nginx并设置开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx
  1. 确保Nginx已成功安装,在浏览器中访问服务器的IP地址,您应该能看到Nginx的欢迎页面。

步骤二:安装RTMP模块

  1. 使用以下命令下载RTMP源码:
cd /root
git clone https://github.com/arut/nginx-rtmp-module.git
  1. 编译Nginx源码:
cd /root
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --add-module=/root/nginx-rtmp-module
make
sudo make install
  1. 打开Nginx的配置文件:
sudo vi /usr/local/nginx/conf/nginx.conf
  1. 在http块中添加以下配置:
http {
    ...
    server {
        listen       8080;
        server_name  localhost;
        
        location / {
            root   html;
            index  index.html index.htm;
        }

        location /hls {
            # 开启hls支持
            hls;
            # 视频存放目录
            alias /path/to/hls;
            # 允许跨域请求
            add_header 'Access-Control-Allow-Origin' '*';
        }
    }
}
  1. 在rtmp块中添加以下配置:
rtmp {
    server {
        listen 1935;
        chunk_size 4000;

        application live {
            live on;
            record off;
        }

        application hls {
            live on;
            hls on;
            hls_path /path/to/hls;
            hls_fragment   3s;
            hls_playlist_length 60s;
        }
    }
}
  1. 保存并退出配置文件,重新启动Nginx:
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
  1. 确保RTMP模块已成功安装,在浏览器中访问服务器的IP地址,应该能看到Nginx的欢迎页面。

步骤三:安装nginx-http-flv-module模块

  1. 使用以下命令下载nginx-http-flv-module源码:
cd /root
wget https://github.com/winshining/nginx-http-flv-module/archive/master.zip
unzip master.zip
  1. 打开Nginx的配置文件:
sudo vi /usr/local/nginx/conf/nginx.conf
  1. 在rtmp块中的application hls段中添加以下配置:
application hls {
    ...
    live_http_flv on;
}
  1. 在http块中添加以下配置:
http {
    ...
    server {
        ...
        location /live {
            types {
                application/octet-stream flv;
            }
            root /path/to/hls;
        }
    }
}
  1. 保存并退出配置文件,重新启动Nginx:
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
  1. 确保nginx-http-flv-module模块已成功安装。您可以使用任何支持FLV格式的播放器,在浏览器中访问http://your_server_ip:8080/live/your_stream_name.flv来查看直播流。

结论

恭喜您!您已经成功搭建了Nginx + RTMP + nginx-http-flv-module环境。现在您可以使用这个媒体服务器来进行直播和点播。如果您需要更多高级配置和功能,请查看Nginx和RTMP官方文档。

希望本篇博客对您有所帮助,如果有任何问题,请随时提问。感谢阅读!

参考链接:

  • Nginx官方网站
  • RTMP模块源码
  • nginx-http-flv-module源码

打赏

本文固定链接: https://www.cxy163.net/archives/6092 | 绝缘体

该日志由 绝缘体.. 于 2023年10月10日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Nginx RTMP nginx-http-flv-module 环境搭建(CentOS 7) | 绝缘体
关键字: , , , ,

Nginx RTMP nginx-http-flv-module 环境搭建(CentOS 7):等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter