前言
领导想要开展县域的视频培训,由于我们工作内容需要通过内网传输,在今年经费紧张的前提下,我需要研究一下用软件解决这个问题。(;′⌒`)
一开始我找到了一个软件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两个压缩包
把这两个包解压,把rtmp-module包解压出来的目录放在nginx解压出来的目录里面。文件夹的保存路径好像是不能有空格,最好也不要有中文。
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大神写的非常详细,大家应该可以学到很多东西。
3.启动服务器
剩下的就非常简单了。(~ ̄▽ ̄)~
打开cmd,进入你的Nginx的目录。
执行
nginx.exe -c conf\nginx-win.conf
注意:
1.你的配置文件要是有改名字改位置记得得相应的修改。
2.我Nginx用的少,不知道为啥启动后没办法通过Ctrl+C结束进程,只能关掉cmd后再通过任务管理器去杀死进程,如果有更好的办法麻烦各位大佬和我说一下。
推流和拉流
剩下的两个部分我直接放到了其他里,聪明的小脑瓜应该就知道接下来是非常简单的啦~
推流部分
安装OBS,WINDOWS下安装软件应该就不用再教程了吧。注意OBS安装过程中需要安装一些奇怪的依赖。好在都能下载安装包来安装,对于我这种内网用户还算友好。
装好之后的第一次打开他让你配置推流地址可以先跳过,等到我们服务器和抓取的界面设置好之后再来设置这个推流地址。
在文件->设置->推流里面可以查看推流的设置
推流地址设置为:
rtmp://ip:1935/live/
配置完后就可以点右下角的开始推流来推流,如果你的服务器有问题的话,推流好像会失败~
成功的话右下角会有推流的状态,我由于内网的小水管,码流太大的话会很卡,所以将码流调小了很多。
拉流部分
拉流部分用了VLC这个软件,这个是个开源的播放器,说实话他不是很稳定,不知道是我Nginx设置的问题还是软件的问题,偶尔看着看着会断流。
VLC使用也很简单,安装好软件后打开左上角的媒体按钮,打开网络串流
然后按照下面的格式设置你的URL,秘钥就是在OBS推流里面设置的那个,用来区分一个RTMP服务器上的多个流,我觉得是不是叫标签比较合适?
rtmp://ip:1935/live/密钥
启动连接上以后我们就能看到画面啦~ 撒花~
启动后注意看一下左下角的时间有没有在跳,如果没有跳的话证明链接有问题,如果再跳没有画面的话稍等一下,如果过了一分钟还是没有可以试着重新链接一下。
后记
工作越来越杂,事情越来越多,感觉越来越浮躁。这套东西延迟有点大,最后也没实际使用,效果也不知道如何,就忙里偷闲,找个时间记一下。下次写文章也不知道是什么时候,大家只能有缘再见。我是llsxily,一个暴躁的人,你可以叫我橘子~