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

时间:2022-07-25
本文章向大家介绍RTSP协议视频平台EasyNVR接入到EasyNVS管理平台后无法显示RTMP及RTSP视频流地址问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

在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个通道都是有地址的。

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