使用Nginx搭载rtmp直播服务器的方法

 更新时间:2021年10月12日 09:41:15   作者:冉航--小虾米  
这次我们搭建一个rtmp直播服务器,用于电脑或手机直播推流到服务器,然后其他终端如电脑或手机可以观看直播的视频画面。接下来通过本文给大家分享使用Nginx搭载rtmp直播服务器的问题,感兴趣的朋友一起看看吧

       这次我们搭建一个rtmp直播服务器,用于电脑或手机直播推流到服务器,然后其他终端如电脑或手机可以观看直播的视频画面。 我们这里用电脑录屏软件将实时录制的电脑屏幕画面直播给其它人看。总共需要3部分,第一,录屏软件录制电脑屏幕,并传递画面流到服务器; 第二,服务器rtmp搭建,应能接收来自录屏软件上传的画面;第三,视频播放器客户端能连接到rtmp服务器,接收rtmp服务器推送的视频流,从而可实时观看第一部分录屏软件的实时画面。这里最核心的就是第二部分,搭建rtmp服务器。

1. 下载nginx

nginx是一个服务器软件,类似于tomcat,用于发布服务器程序

(1)下载地址:在linux下执行 wget http://nginx.org/download/nginx-1.15.3.tar.gz命令,下载压缩包。

(2)解压,使用tar命令:   tar xvf nginx-1.15.3.tar.gz

2. 下载nginx rtmp模块

​    wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1 同样解压tar xvf v1.2.1  

3. 编译nginx

./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1

4. 修改nginx-rtmp-module中的conf文件

cd nginx-rtmp-module-1.2.1打开文件夹,cd test文件夹,修改nginx.conf文件的内容为:

worker_processes  1;
 
error_log  logs/error.log debug;
 
events {
    worker_connections  1024;
}
 
rtmp {
    server {
        listen 1935;
 
        application myapp {
            live on;
 
            #record keyframes;
            #record_path /tmp;
            #record_max_size 128K;
            #record_interval 30s;
            #record_suffix .this.is.flv;
 
            #on_publish http://localhost:8080/publish;
            #on_play http://localhost:8080/play;
            #on_record_done http://localhost:8080/record_done;
        }
    }
}
 
http {
    server {
        listen      8080;
 
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
 
        location /stat.xsl {
            root /path/to/nginx-rtmp-module/;
        }
 
        location /control {
            rtmp_control all;
        }
 
        #location /publish {
        #    return 201;
        #}
 
        #location /play {
        #    return 202;
        #}
 
        #location /record_done {
        #    return 203;
        #}
 
        location /rtmp-publisher {
            root /path/to/nginx-rtmp-module/test;
        }
 
        location / {
            root /path/to/nginx-rtmp-module/test/www;
        }
    }
}

到时候推流地址就是    rtmp://IP:PORT/myapp/{abc},其中{abc}中的abc是可选的,一般是一个推流密码,往服务器推送或接收视频流时,可填写一个密码,如abc。rtmp默认服务器端口是1935,如果这个端口被占用,可以杀死占用这个端口的进程,使用如下命令:

kill -9  pid  (其中pid是进程id)。

然后用这个conf 替换 nginx-1.15.3/bin/conf下的nginx.conf ,

使用mv nginx.conf nginx.conf.bak命令重命名原来的nginx.conf,可以不用删除原文件。

5. 启动nginx

cd nginx-1.15.3  

打开nginx文件夹

/root/nginx-1.15.3/bin/sbin/nginx 

启动nginx

6. 验证nginx rtmp流媒体是否部署成功

启动后,从浏览器里访问122.112.220.253:8080。

如果打不开,
1.  在服务器上建立安全规则,开发入口规则,把1935,8080这两个端口开启,协议是TCP.
2.   nginx-1.15.3/bin/conf下的nginx.conf里最顶部 修改用户:   user root;

    此时,nginx.conf的内容如下:

user  root;
worker_processes  1;
 
error_log  logs/error.log debug;
 
events {
    worker_connections  1024;
}
 
rtmp {
    server {
        listen 1935;
 
        application myapp {
            live on;
	    drop_idle_publisher 5s;
        }
    }
}
 
http {
    server {
        listen      8082;
 
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
 
        location /stat.xsl {
            root /root/nginx-rtmp-module-1.2.1/;
        }
 
        location /control {
            rtmp_control all;
        }
 
    
 
        location /rtmp-publisher {
            root /root/nginx-rtmp-module-1.2.1/test;
        }
 
        location / {
            root /root/nginx-rtmp-module-1.2.1/test/www;
        }
    }
}

3. 重启nginx,再次访问122.112.220.253:8082,成功。

下次我们就用一个录屏软件录制电脑屏幕,使用rtmp协议向服务器上推送电脑屏幕画面,同时用播放器来播放服务器上的rtmp直播流。

到此这篇关于使用Nginx搭载rtmp直播服务器的文章就介绍到这了,更多相关rtmp直播服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx如何设置域名转发到服务器指定的端口

    Nginx如何设置域名转发到服务器指定的端口

    这篇文章主要介绍了Nginx如何设置域名转发到服务器指定的端口,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • Nginx中limit_req模块和limit_conn模块的使用

    Nginx中limit_req模块和limit_conn模块的使用

    本文主要介绍了Nginx中limit_req模块和limit_conn模块的使用,通过limit_req和limit_conn模块,可以有效实现精确的请求频率和连接数控制,下面就来具体介绍一下
    2024-05-05
  • Nginx配置文件详解以及优化建议指南

    Nginx配置文件详解以及优化建议指南

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势,下面这篇文章主要给大家介绍了关于Nginx配置文件详解以及优化的相关资料,需要的朋友可以参考下
    2021-09-09
  • Jenkins实现集群化管理以及流水线项目配置

    Jenkins实现集群化管理以及流水线项目配置

    这篇文章主要为大家介绍了Jenkins基本概念,配置实现集群化管理以及配置流水线项目的实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • nginx界面管理工具之nginxWebUI 搭建与使用方法

    nginx界面管理工具之nginxWebUI 搭建与使用方法

    本文主要介绍了nginx界面管理工具之nginxWebUI 搭建与使用方法
    2024-08-08
  • Linux下Nginx负载均衡多个tomcat配置的方法步骤

    Linux下Nginx负载均衡多个tomcat配置的方法步骤

    这篇文章主要介绍了Linux下Nginx负载均衡多个tomcat配置的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Centos下编译安装Nginx教程详解

    Centos下编译安装Nginx教程详解

    这篇文章主要介绍了Centos下编译安装Nginx的教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • Nginx基本命令&不停机版本升级

    Nginx基本命令&不停机版本升级

    这篇文章主要为大家介绍了Nginx基本命令&不停机版本升级,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Ubuntu系统下安装与完全卸载Nginx的步骤

    Ubuntu系统下安装与完全卸载Nginx的步骤

    在Linux服务器上管理和部署Web服务,Nginx是一个常见的选择,因为它的高性能和稳定性,这篇文章主要介绍了Ubuntu系统下安装与完全卸载Nginx的相关资料,需要的朋友可以参考下
    2025-08-08
  • 使用Nginx、Nginx Plus抵御DDOS攻击的方法

    使用Nginx、Nginx Plus抵御DDOS攻击的方法

    DDOS 是一种通过大流量的请求对目标进行轰炸式访问,导致提供服务的服务器资源耗尽进而无法继续提供服务的攻击手段。这篇文章主要介绍了使用Nginx、Nginx Plus抵御DDOS攻击的方法,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论