欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题

程序员文章站 2022-07-05 22:24:36
...

EasyNVS视频综合管理平台能够对接入的EasyNVR进行统一的管理,获取EasyNVR的所有能力,并进行互联网化输出,同时进行统一化的管理和接口输出。

RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题

由于很多场景都有外网访问内网的需求,因此EasyNVS的使用也变得频繁起来,咨询也开始多起来。也有客户通过EasyNVS穿透得到EasyNVR的RTMP和RTSP地址,但是我们在测试过程中偶尔会发现RTMP和RTSP地址丢失的情况。

在EasyNVS通道配置中查看通道,会发现RTMP及RTSP地址栏下面都是空。

RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题

RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题

对于此问题,我们首先本地启动一个EasyNVR,EasyNVR先开启一个通道,然后连接到EasyNVS上,查看通道列表,列表中rtmp和rtsp地址是有的,然后关闭通道在开启通道,在查看通道发现rtmp和rtsp地址没有了。

问题分析

分析是由于修改通道才导致rtmp和rtsp地址消失。观察代码发现是前端每次修改通道时都会向后端传递相应的数据。于是就在修改通道接口修改。

if nvc.RemoteRtmp != "" && nvc.Ip != "" {
   remoteRtmp := fmt.Sprintf("rtmp://%s:%s/hls/stream_%d", nvc.Ip, nvc.RemoteRtmp, form.ID)
   form.RemoteRtmp = remoteRtmp
}
if nvc.RemoteRtsp != "" && nvc.Ip != "" {
   remoteRtsp := fmt.Sprintf("rtsp://%s:%s/stream_%d", nvc.Ip, nvc.RemoteRtsp, form.ID)
   form.RemoteRtsp = remoteRtsp
}

解决效果

先开启3个通道都是有地址的。

RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题

然后再开启一个通道,查看这个新开的通道是否有地址。下面是开启4个通道的效果

RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题