一、基础环境搭建
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搞定!!!!