一、基础环境搭建
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
安装命令:
1 2 3 4 5 | #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
安装命令:
1 2 3 4 5 | #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
使用命令:
1 | git clone https: //github.com/arut/nginx-rtmp-module.git |
5、安装Nginx
安装版本:nginx-1.8.0 tar.gz
使用命令:
1 2 3 4 5 6 | 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配置
1 | vim /usr/local/nginx/conf/nginx.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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
1 | /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf |
四、使OBS推流
OBS(Open Broadcaster Software) 是以互联网流媒体直播内容为目的免费和开放源码软件。需要下载这个软件,借助这个软件进行推流(电脑没有摄像头的貌似安装不了。。。)
就长这个样子
在配置中最需要关注的就是流的配置了,由于是自建的流媒体服务器所以我们照这样配置
1 2 3 | rtmp: //你的服务器ip:端口(1935)/live #URL填写流的地址 本次测试 rtmp: //你的服务器ip:1935/cctvf |
在 /usr/local/nginx/html/cctvf 目录下可以查看推送的数据流
五、拉流测试地址
推荐一个拉流的测试地址,里面针对各种协议都能测试 拉流测试,需要注意图中几个地方,由于我们使用的rtmp协议,我们选择这一栏,底下填写我们推流的地址和我们在上面obs的设置里面配置的流的名称,start, ok搞定!!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了