WINDOWS系统一套基于现成软件的局域网视频转播系统方案

文章目录

前言

领导想要开展县域的视频培训,由于我们工作内容需要通过内网传输,在今年经费紧张的前提下,我需要研究一下用软件解决这个问题。(;′⌒`)

一开始我找到了一个软件InletexEMC,这个软件的可以做到局域网的桌面共享,非常NICE,问题就是没有声音。如果你只是需要一个桌面共享软件他就非常合适。
然后我又找了一些七七八八的软件,发现要嘛是没有声音,要嘛是没办法穿透网段,这时候发现了吾爱破解的风之幸运的一条评论,就来试试他给的技术方案。

技术方案

服务器:Nginx的RTMP服务器
推流端:OBS
收看端:VLC
这些东西好像都是免费的,在WINDOWS上也是非常的友好,对于越来越懒的我来说也是非常的友好。

Nginx

1.前期准备

Nginx得下两个东西,一个是我在官网下了一个本体,一个是需要去下一个nginx-rtmp-module

git clone https://github.com/arut/nginx-rtmp-module.git 

下载完你就有了nginx和nginx-rtmp-module两个压缩包
WINDOWS系统一套基于现成软件的局域网视频转播系统方案
把这两个包解压,把rtmp-module包解压出来的目录放在nginx解压出来的目录里面。文件夹的保存路径好像是不能有空格,最好也不要有中文。

WINDOWS系统一套基于现成软件的局域网视频转播系统方案

2.配置文件

得到一个Nginx后,接下来就要把他改造成Nginx for rtmp。
我们需要来设置一下配置文件。到conf目录下找到nginx-win.conf,先另存一个备份,养成好习惯。然后开始改造配置文件。我把里面的注释等一些东西删减后配置文件就变成了下面的样子。


worker_processes  2;

events {
    worker_connections  8192;
}

rtmp{
	server{
		listen 1935;
		ping 30s;
		chunk_size 4000;
		notify_method get;
		
		application live{
		# 推流地址rtmp://ip:1935/live/密钥,同拉流播放地址
			live on;
			record off;
		}
		
		application hls{
		# 推流地址rtmp://ip:1935/hls/密钥,开启HLS协议进行m3u8直播
			live on;
			hls on;
			hls_path temp/hls;
			hls_sync 100ms;
			hls_fragment 5s;
			hls_cleanup on;
			hls_playlist_length 60s;
		}
	}
}

http {
    #include      /nginx/conf/naxsi_core.rules;
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        off;
    #tcp_nopush     on;

    server_names_hash_bucket_size 128;

    server {
        listen       80;
        server_name  localhost;

	}

}

可以看到除了配置80的http端口外,我们还设置了1935的rtmp端口,开起了live和hls两个功能,实际测试下来我这个配置能够使用的只有Live功能,具体的原因我也没啥心情继续去深究了,对我来说只要可以用就可以。如果你感兴趣,可以看看我参考的文章的配置,第一个参考文章里面还提到了一个推流监测的设置,但是我也没有成功,你可以问问这两位大佬看看能不能解决相关问题,我就继续按我的实现方法下去讲。pj大神写的非常详细,大家应该可以学到很多东西。

宝塔Nginx配置rtmp直播服务器OBS推流 VLC拉流

Windows10下nginx的rtmp服务器搭建

3.启动服务器

剩下的就非常简单了。(~ ̄▽ ̄)~
打开cmd,进入你的Nginx的目录。
执行

nginx.exe -c conf\nginx-win.conf

注意:
1.你的配置文件要是有改名字改位置记得得相应的修改。
2.我Nginx用的少,不知道为啥启动后没办法通过Ctrl+C结束进程,只能关掉cmd后再通过任务管理器去杀死进程,如果有更好的办法麻烦各位大佬和我说一下。

推流和拉流

剩下的两个部分我直接放到了其他里,聪明的小脑瓜应该就知道接下来是非常简单的啦~

推流部分

安装OBS,WINDOWS下安装软件应该就不用再教程了吧。注意OBS安装过程中需要安装一些奇怪的依赖。好在都能下载安装包来安装,对于我这种内网用户还算友好。

装好之后的第一次打开他让你配置推流地址可以先跳过,等到我们服务器和抓取的界面设置好之后再来设置这个推流地址。
在文件->设置->推流里面可以查看推流的设置
WINDOWS系统一套基于现成软件的局域网视频转播系统方案

推流地址设置为:

rtmp://ip:1935/live/

WINDOWS系统一套基于现成软件的局域网视频转播系统方案
配置完后就可以点右下角的开始推流来推流,如果你的服务器有问题的话,推流好像会失败~
WINDOWS系统一套基于现成软件的局域网视频转播系统方案
成功的话右下角会有推流的状态,我由于内网的小水管,码流太大的话会很卡,所以将码流调小了很多。
WINDOWS系统一套基于现成软件的局域网视频转播系统方案

拉流部分

拉流部分用了VLC这个软件,这个是个开源的播放器,说实话他不是很稳定,不知道是我Nginx设置的问题还是软件的问题,偶尔看着看着会断流。

VLC使用也很简单,安装好软件后打开左上角的媒体按钮,打开网络串流
WINDOWS系统一套基于现成软件的局域网视频转播系统方案
WINDOWS系统一套基于现成软件的局域网视频转播系统方案
然后按照下面的格式设置你的URL,秘钥就是在OBS推流里面设置的那个,用来区分一个RTMP服务器上的多个流,我觉得是不是叫标签比较合适?

rtmp://ip:1935/live/密钥

启动连接上以后我们就能看到画面啦~ 撒花~
启动后注意看一下左下角的时间有没有在跳,如果没有跳的话证明链接有问题,如果再跳没有画面的话稍等一下,如果过了一分钟还是没有可以试着重新链接一下。
WINDOWS系统一套基于现成软件的局域网视频转播系统方案

后记

工作越来越杂,事情越来越多,感觉越来越浮躁。这套东西延迟有点大,最后也没实际使用,效果也不知道如何,就忙里偷闲,找个时间记一下。下次写文章也不知道是什么时候,大家只能有缘再见。我是llsxily,一个暴躁的人,你可以叫我橘子~

上一篇:搭建rtmp直播流服务之3:java开发ffmpeg实现rtsp转rtmp并实现ffmpeg命令的接口化管理架构设计及代码实现


下一篇:RTMP(1)---------RTMP流程