之前的rtsp转webrtc的服务很好用(https://blog.csdn.net/weixin_39510813/article/details/123718363?spm=1001.2014.3001.5502),测试使用效果都很好,而且由于Go的特性很容易将程序编译为跨平台的程序。由于高并发的需求,一般会搭建nginx服务,Linux和openwrt上都测试过命令直接安装运行nginx可行,这里在Windows下也做简单总结便于后续服务搭建在Windows上。
参考:https://cloud.tencent.com/developer/article/1888447
http://nginx.org/en/download.html
可以下载稳定版本、最新版本或者其它必要的问题:

下载完直接解压放到某个目录即可,比如直接放到D盘等。
可以直接点击nginx.exe运行或者在cmd终端上到该目录下start nginx。直接点击的可以在任务管理器中看到nginx进程。
nginx包含一个主进程和子进程,如果多于两个可能就是启动太多了:

默认不改配置文件的话监听启动端口就是80端口,可以在浏览器上查看:

关闭的话可以通过任务管理器直接杀死进程,也可以通过命令去stop,这个就不多说了。
可以通过-help了解一下:

注意:nginx如果重启后更改的nginx.conf的配置也无法生效的话可能是nginx被多次启动了,看一下任务管理器中nginx进程是否多次启动了,nginx是可以多次启动的,这可能会造成问题。
我们借助Windows Service Wrapper小工具:https://github.com/winsw/winsw/releases

文件配置内容如下:重点包括三个,日志文件位置、启动命令、关闭命令;照猫画虎即可:
<service>
<id>nginxid>
<name>nginxname>
<description>nginxdescription>
<logpath>D:\work\nginx\nginx-1.18.0\server-logs\logpath>
<logmode>rolllogmode>
<depend>depend>
<executable>D:\work\nginx\nginx-1.18.0\nginx.exeexecutable>
<stopexecutable>D:\work\nginx\nginx-1.18.0\nginx.exe -s stopstopexecutable>
service>
以上内容配置好了之后,在nginx安装目录下以管理员运行命令:.\nginx-service.exe install 就成功将其注册为Windows服务了。这时我们就可以在Windows任务管理器的服务中查看到nginx服务了。
取消注册则是 xxx uninstall
可以通过任务管理器进到服务管理(PS:搜索进程和服务的时候可以直接输入进程首字母比如nginx进程的n来快速定位,不用一个个慢慢找):

右键服务进行运行、停止、重启都可以的,在任务管理器中也是可以直接操作的。
服务右键属性确认一下启动类型是否为自动,一般都是自动的,自动的话就会开机自启:

rtspToWebRTC进行了简单的修改:https://github.com/commanderZY/RTSPtoWebRTC
前端简单修改可以一个界面同时展现多路视频流,stun服务我们可以自己搭建,网上免费的有的时候服务可能会被关掉(stun/turn的服务搭建后面我们也会总结一下)。
自启动的配置和nginx操作是类似的,改一下位置和命令即可。

测试:

带宽和性能足够的情况下是可以添加多路流的,前端界面也可以修改下将多路摄像头流一起展示,修改服务地址摄像头rtsp地址或stun地址直接修改配置json文件后重启服务即可:

接下来我们总结一下搭建stun服务的搭建和使用,自己有域名以及公网服务器的话可以贡献一下空闲的流量,没有公网服务器和域名也可以在局域网下用ip玩一下。