搭建rtmp推流服务器 分手后的思念是犯贱 2022-03-25 07:24 755阅读 0赞 搭建基于rtmp协议的推流服务器。 环境Linux centos 7.6 + Nginx 1.安装Nginx 安装Nginx依赖库: #安装Nginx的编译环境gcc yum install gcc-c++ #nginx的http模块使用pcre解析正则表达式所以安装perl兼容的正则表达式库 yum install -y pcre pcre-devel #nginx使用zlib对http包的内容进行gzip yum install -y zlib zlib-devel #nginx不仅支持http协议,还支持https(即在ssl协议上传输http),如果使用了https,需要安装OpenSSL库 yum install -y openssl openssl-devel 下载Nginx,下载地址: http://nginx.org/en/download.html 选择下载的版本,我这里选择 nginx-1.15.3,进入到下载路径,输入下载命令: cd /usr/local/ wget http://nginx.org/download/nginx-1.15.3.tar.gz tar -zxvf nginx-1.15.3.tar.gz rm nginx-1.15.3.tar.gz mv nginx-1.15.3 nginx cd nginx ./configure --prefix=/usr/local/nginx make make install #遇到make错误 /usr/local/nginx 路径不存在不管,继续 make install #添加Nginx环境变量,可以在命令行直接输入Nginx命令 vim /etc/profile #在最后添加Nginx的路径 export NGINX_HOME=/usr/local/nginx export PATH=$PATH:$NGINX_HOME/sbin #重新编译环境变量 source /etc/profile #启动nginx cd sbin ./nginx #我这边启动时报错: nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory) 2018/09/25 13:59:56 [emerg] 15555#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory) #需要手动创建logs文件夹 mkdir /usr/local/nginx/logs #再启动 ./nginx #重启命令: nginx -s reload Nginx安装完成,测试:打开浏览器输入IP地址显示欢迎界面则安装启动成功,如果显示访问超时,则可能是防火墙没有打开80端口。打开80端口: iptables -I INPUT -p tcp --dport 80 -j ACCEPT 2.安装Nginx的rtmp拓展 nginx的rtmp拓展包github地址:[https://github.com/arut/nginx-rtmp-module][https_github.com_arut_nginx-rtmp-module],可以使用git clone下拉或者直接下载,我这边下载解压放到:/opt/module/下。Nginx安装rtmp拓展: cd /usr/local/nginx ./configure --add-module=/opt/module/nginx-rtmp-module make make install 配置Nginx的rtmp服务站点: vim /usr/local/nginx/conf/nginx.conf # 在文件底部添加下面内容: rtmp { server { listen 1935; #监听的端口 chunk_size 4000; application tv_file { live on; #开启实时 hls on; #开启hls hls_path /usr/local/nginx/html/tv_file; #rtmp推流请求路径,文件存放路径 hls_fragment 5s; #每个TS文件包含5秒的视频内容 } } } 重启Nginx: nginx -s reload 测试:windows打开doc,输入: telnet 你的ip地址 1935 如果失败,则开启1935端口: iptables -I INPUT -p tcp --dport 1935 -j ACCEPT 3.推拉流测试 推流。下载OBS Studio,官网下载太慢了,其他下载地址:[https://pc.qq.com/detail/4/detail\_23604.html][https_pc.qq.com_detail_4_detail_23604.html] 安装完成,打开软件,在来源版块新建媒体源,本地文件选择一个视频视频,勾选循环,去除勾选播放结束隐藏源,在控件版块点击设置,左边的导航选择流,然后流类型选择自定义流媒体服务器,url输入rtmp://你的IP:1935/tv\_file,流名称随便设置一个,这里设置zm: ![20190119150711411.png][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L214ZHpjaGFsbHBw_size_16_color_FFFFFF_t_70][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L214ZHpjaGFsbHBw_size_16_color_FFFFFF_t_70 1][] 设置完成点击推流。 在服务器就看到m3u8文件的生成,推流成功。 ![20190119150920225.png][] 拉流。测试拉流的网站:[https://www.wowza.com/testplayers][https_www.wowza.com_testplayers] 设置如下: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L214ZHpjaGFsbHBw_size_16_color_FFFFFF_t_70 2][] [https_github.com_arut_nginx-rtmp-module]: https://github.com/arut/nginx-rtmp-module [https_pc.qq.com_detail_4_detail_23604.html]: https://pc.qq.com/detail/4/detail_23604.html [20190119150711411.png]: /images/20220325/04cfb73d58414a148d73438bcf800809.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L214ZHpjaGFsbHBw_size_16_color_FFFFFF_t_70]: /images/20220325/d27ac20b8d9a4612b19ad417ca06c996.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L214ZHpjaGFsbHBw_size_16_color_FFFFFF_t_70 1]: /images/20220325/0059bb7ab77642baa1a73e3336e2a55a.png [20190119150920225.png]: /images/20220325/c594278883144398a913d25cec9c5f87.png [https_www.wowza.com_testplayers]: https://www.wowza.com/testplayers [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L214ZHpjaGFsbHBw_size_16_color_FFFFFF_t_70 2]: /images/20220325/6eb1eea720db436c86a8b1cbf7bd79a2.png
还没有评论,来说两句吧...