优雅转身

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、基础环境搭建

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*
yum install git

二、Nginx安装

1、安装openssl   openssl官网:​ ​http://www.openssl.org/​

安装版本:openssl-1.1.1m.tar.gz

安装命令:

#tar -zxvf openssl-1.1.1m.tar.gz
#cd openssl-1.0.1i
#sudo ./config --prefix=/usr/local/openssl-1.1.1m    #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

  

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.8.0 tar.gz

使用命令:

wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx-1.8.0  --with-openssl=/root/openssl-1.1.1m --with-pcre=/root/pcre-8.35  --with-zlib=/root/zlib-1.2.8 --add-module=../nginx-rtmp-module  --with-http_ssl_module
make
make install

三、Nginx配置

vim /usr/local/nginx/conf/nginx.conf

  

rtmp {
    server {
        listen 1935; #监听的端口
        chunk_size 4000;
        application cctvf { #rtmp推流请求路径 (切记路径错了会推不上流)
            live on; #开启实时
            hls on; #开启hls
            hls_path /usr/local/nginx/html/cctvf; #rtmp推流请求路径,文件存放路径
            hls_fragment 5s; #每个TS文件包含5秒的视频内容
        }
    }
}

location / {
			# 设置是否允许 cookie 传输
            add_header Access-Control-Allow-Credentials true;
            # 允许请求地址跨域 * 做为通配符
            add_header Access-Control-Allow-Origin * always;
            # 允许跨域的请求方法
            add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
            add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

            if ($request_method = 'OPTIONS') {
                return 204;
            }
            root   html;
            index  index.html index.htm;
        }

  

启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

四、使OBS推流

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

就长这个样子

 

 

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

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

本次测试 rtmp://你的服务器ip:1935/cctvf

  

 

 

 

 

在 /usr/local/nginx/html/cctvf 目录下可以查看推送的数据流

 

 

 

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

 

 

 

 

posted on 2022-04-26 16:48  优雅转身  阅读(637)  评论(0编辑  收藏  举报