NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放

网上关于视频直播的资料还是挺多的,看了一些文章,自己也动手实践了下。主要有三个步骤:(1)NginxRTMP服务器搭建(2)视频录制推流器 (3)拉流器(播放器),有了这些就可以开始简单视频相关的直播了。对于延时什么的,还需要深入去研究 ,以及如何进行视频开发等后续再深入研究。

Nginx-RTMP服务器搭建

参考:利用nginx搭建RTMP视频点播、直播、HLS服务器

GitHub nginx-rtmp-module 参考地址

Nginx点播设置:

 

worker_processes  1;

events {
    worker_connections  1024;
}

##################RTMP服务#################
rtmp {

    server {

        listen 1935;  #//服务端口 

	chunk_size 4096;   #//数据传输块的大小

	application video {
	    play /usr/local/data/video; #//视频文件存放位置,访问方式rtmp://localhost:1935/video

	    #如视频路径存有视频welcome.mp4访问路径即为rtmp://localhost:1935/video/welcome.mp4
	}
    }
}

http {
    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {
            root   html;
        }
    }
}

 

 

 

Nginx直播配置:

 

worker_processes  1;

events {
    worker_connections  1024;
}

##################RTMP服务#################
rtmp {

    server { 

        listen 1935;

        chunk_size 4096;

        application video {
           play /usr/local/data/video;
        }

	application live{ #第一处添加的直播字段
	   live on;
	}
    }

}
####启动浏览器查看http://localhost:80/stat
http {
    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name  localhost;

    location /stat {     
            #第二处添加的location字段。
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
    }

    location /stat.xsl { 
        #第二处添加的location字段。
        root /usr/local/nginx/nginx-rtmp-module/;
    }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

 

 

 

Nginx直播回放配置:

 

worker_processes  1;

events {
    worker_connections  1024;
}

##################RTMP服务#################
rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application video {
            play /usr/local/data/video;
        }

        application live {

		live on;#直播模式

		hls on; #这个参数把直播服务器改造成实时回放服务器。

		wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。

		hls_path /usr/local/data/hls; #切片视频文件存放位置。

		hls_fragment 10s;     #每个视频切片的时长。

		hls_playlist_length 60s;  #总共可以回看的事件,这里设置的是1分钟。

		hls_continuous on; #连续模式。

		hls_cleanup on;    #对多余的切片进行删除。

		hls_nested on;     #嵌套模式。
        }
    }
}

http {
    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
            listen       80;

            server_name  localhost;

	    location /stat {
		    rtmp_stat all;
		rtmp_stat_stylesheet stat.xsl;
	    }

	    location /stat.xsl {
		root /usr/local/nginx/nginx-rtmp-module/;
	    }

	    location /live {  #这里也是需要添加的字段。

		types {  

		    application/vnd.apple.mpegurl m3u8;  

		    video/mp2t ts;  
		}
		alias /opt/video/hls;   
		expires -1;
		add_header Cache-Control no-cache;  
	    }  

	   location / {
		root   html;
		index  index.html index.htm;
	   }

	   error_page   500 502 503 504  /50x.html;

	   location = /50x.html {
		root   html;
	   }
    }
}

 

 

 

 

 

 

 

 

 

OBS下载及录制推流

下载地址1:http://www.pc6.com/down.asp?id=410276

下载地址2:http://www.obsapp.net/

下载地址3:https://obsproject.com/

这里以下载地址一的OBS版本与Nginx直播模式配置为例I端口相应的做了调整(http Server listen 1990):

设置步骤:

1、添加场景

2、添加来源:显示器获取 、音频获取等等

3、设置RTMP的服务器路径,并设置流名称

4、开始录制、开始推流

5、验证是否直播成功,打开浏览器http://172.16.20.10:1990/stat,看到如下界面表示直播正常。

VLC视频流播放

参考:RTMP、RTSP、HTTP视频协议详解VLC下载网上一搜就有了。

只需要设置播放流地址就可以验证前面配置的直播地址了:

直播中:

  • 8
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Nginx-RTMP是一个基于Nginx的开源项目,它提供了一个功能强大的云服务器转发RTSP视频流的解决方案。通过使用Nginx-RTMP,您可以将RTSP视频流转发到云服务器上,并通过HTTP或其他协议进行访问和播放。 以下是使用Nginx-RTMP进行RTSP视频流转发的步骤: 1. 安装Nginx-RTMP:首先,您需要在云服务器上安装Nginx-RTMP模块。您可以从Nginx-RTMP的官方网站或GitHub页面下载最新版本的源代码,并按照官方文档中的指引进行编译和安装。 2. 配置Nginx-RTMP:安装完成后,您需要编辑Nginx的配置文件,添加RTMP模块相关的配置项。您可以指定要监听的端口、转发规则、推流地址等。具体的配置方式可以参考Nginx-RTMP的官方文档。 3. 启动Nginx-RTMP:配置完成后,您可以启动Nginx-RTMP服务,并确保服务正常运行。您可以使用命令行或者系统服务管理工具来启动和停止Nginx-RTMP。 4. 转发RTSP视频流:一旦Nginx-RTMP服务正常运行,您可以使用RTSP协议将视频流推送到云服务器上。您可以使用常见的RTSP推流工具,如FFmpeg或OBS Studio,将本地的RTSP视频流推送到Nginx-RTMP服务器。 5. 访问和播放视频流:一旦视频流被成功推送到Nginx-RTMP服务器,您可以通过HTTP或其他协议访问和播放视频流。您可以使用常见的视频播放器,如VLC媒体播放器或HTML5视频播放器,通过指定Nginx-RTMP服务器的地址和端口来播放视频流。 希望以上介绍对您有帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值