欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx之——nginx-rtmp-module搭建流媒体服务器实现直播

程序员文章站 2022-07-06 22:02:14
...

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80022437

一、基础环境搭建

yum install -y gcc gcc-c++ autoconf wget
yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*  

二、Nginx安装

1、安装openssl

openssl官网:http://www.openssl.org/

安装版本:openssl-1.0.1i.tar.gz

安装命令:

#tar -zxvf openssl-1.0.1i.tar.gz
#cd openssl-1.0.1i
#sudo ./config --prefix=/usr/local/openssl-1.0.1i    #prefix指定安装目录
#sudo make
#sudo make install

【注意】:此处使用的是config命令,而不是平常的configure命令

安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

2、安装pcre

pcre官网:http://www.pcre.org/

安装版本:pcre-8.35.tar.gz

安装命令:

#tar -zxvf pcre-8.35.tar.gz
#cd pcre-8.35
#sudo ./configure --prefix=/usr/local/pcre-8.35    #prefix指定安装目录
#sudo make
#sudo make install

安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

【注意】:如果没有安装c++编译器,这个软件的安装会报错!

3、安装zlib

zlib官网:http://www.zlib.net/

安装版本:zlib-1.2.8.tar.gz

安装命令:

#tar -zxvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#sudo ./configure --prefix=/usr/local/zlib-1.2.8    #prefix指定安装目录
#sudo make
#sudo make install

安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

4、下载nginx-rtmp-module

nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module
使用命令:

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

5、安装Nginx

安装版本:nginx-1.9.3.tar.gz

安装命令:

./configure --prefix=/usr/local/nginx-1.9.3  --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37  --with-zlib=/usr/local/src/zlib-1.2.8 --add-module=/usr/local/src/nginx-rtmp-module --with-http_ssl_module
make
make install

三、Nginx配置

vi /usr/local/nginx-1.9.3/conf/nginx.conf
加入以下内容:
rtmp {
    server {
        listen 1935;  #监听的端口
        chunk_size 4096;   
        application hls {  #rtmp推流请求路径  
            live on;    
            hls on;    
            hls_path /usr/share/nginx/html/hls;    
            hls_fragment 5s;    
        }    
    }    
}  
hls_path需要可读可写的权限。
修改http中的server模块:
server {  
    listen       81;  
    server_name  localhost;  
  
    #charset koi8-r;  
  
    #access_log  logs/host.access.log  main;  
  
    location / {  
        root   /usr/share/nginx/html;  
        index  index.html index.htm;  
    }  
  
    #error_page  404              /404.html;  
  
    # redirect server error pages to the static page /50x.html  
    #  
    error_page   500 502 503 504  /50x.html;  
    location = /50x.html {  
        root   html;  
    }  
然后启动nginx:
/usr/local/nginx-1.9.3/sbin/nginx -c /usr/local/nginx-1.9.3/conf/nginx.conf  

四、使OBS推流

OBS(Open Broadcaster Software) 是以互联网流媒体直播内容为目的免费和开放源码软件。需要下载这个软件,借助这个软件进行推流(电脑没有摄像头的貌似安装不了。。。)

就长这个样子
Nginx之——nginx-rtmp-module搭建流媒体服务器实现直播

打开后我们需要有一个场景,并且在这个场景下有一个流的来源(可以是窗口,如果选的是视频则会自动识别摄像头),接下来就是设置了

Nginx之——nginx-rtmp-module搭建流媒体服务器实现直播

在配置中最需要关注的就是流的配置了,由于是自建的流媒体服务器所以我们照这样配置

rtmp://你的服务器ip:端口(1935)/live #URL填写流的地址

Nginx之——nginx-rtmp-module搭建流媒体服务器实现直播

设置完成我们就可以 开始推流了

五、拉流测试地址

推荐一个拉流的测试地址,里面针对各种协议都能测试拉流测试,需要注意图中几个地方,由于我们使用的rtmp协议,我们选择这一栏,底下填写我们推流的地址和我们在上面obs的设置里面配置的流的名称,start, ok搞定!!!!

Nginx之——nginx-rtmp-module搭建流媒体服务器实现直播



相关标签: Nginx