美文网首页
2020-07-02 搭建rtmp推流服务器

2020-07-02 搭建rtmp推流服务器

作者: 安仔_dab9 | 来源:发表于2020-07-02 22:22 被阅读0次

    原文链接:https://blog.csdn.net/mxdzchallpp/article/details/86551564
    另超详细的教程: https://blog.csdn.net/szydwy/article/details/78632222

    搭建基于rtmp协议的推流服务器。

    环境Linux centos 7.6 + Nginx

    1.安装Nginx

    安装Nginx依赖库:

    安装Nginx的编译环境gccyum install gcc-c++ #nginx的http模块使用pcre解析正则表达式所以安装perl兼容的正则表达式库yum install -y pcre pcre-devel #nginx使用zlib对http包的内容进行gzipyum 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.gztar -zxvf nginx-1.15.3.tar.gzrm nginx-1.15.3.tar.gzmv nginx-1.15.3 nginxcd nginx./configure --prefix=/usr/local/nginxmakemake install #遇到make错误 /usr/local/nginx 路径不存在不管,继续 make install #添加Nginx环境变量,可以在命令行直接输入Nginx命令vim /etc/profile#在最后添加Nginx的路径export NGINX_HOME=/usr/local/nginxexport PATH=PATH:NGINX_HOME/sbin #重新编译环境变量source /etc/profile #启动nginxcd 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,可以使用git clone下拉或者直接下载,我这边下载解压放到:/opt/module/下。Nginx安装rtmp拓展:

    cd /usr/local/nginx./configure --add-module=/opt/module/nginx-rtmp-modulemakemake 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

    安装完成,打开软件,在来源版块新建媒体源,本地文件选择一个视频视频,勾选循环,去除勾选播放结束隐藏源,在控件版块点击设置,左边的导航选择流,然后流类型选择自定义流媒体服务器,url输入rtmp://你的IP:1935/tv_file,流名称随便设置一个,这里设置zm:

    设置完成点击推流。

    在服务器就看到m3u8文件的生成,推流成功。

    拉流。测试拉流的网站:https://www.wowza.com/testplayers

    设置如下:

    ————————————————
    版权声明:本文为CSDN博主「CyborgLin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/mxdzchallpp/java/article/details/86551564

    相关文章

      网友评论

          本文标题:2020-07-02 搭建rtmp推流服务器

          本文链接:https://www.haomeiwen.com/subject/bevdqktx.html