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个通道的效果
- Lombok介绍、使用方法和总结
- JDK1.7源码分析01-Collection
- Spring boot自定义启动字符画(banner)
- 产品解析:Github Atom
- Docker+Jenkins持续集成环境(5): android构建与apk发布
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现
- 易企秀前端压缩源码分析与还原
- 关于 JS 拖拽功能的冲突问题及解决方法
- 使用 SVG 和 JS 创建一个由星形变心形的动画
- 如何使用 Bootstrap 搭建更合理的 HTML 结构
- Java遍历Map对象的四种方式
- java 线程public void run()中值如何返回
- Jackson与spring框架整合的坑
- spring shiro整合时自动注入的问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 03 Confluent_Kafka权威指南 第三章: Kafka 生产者:向kafka写消息
- kafka生产者和消费者的基本操作
- 05 Confluent_Kafka权威指南 第五章: kafka内部实现原理
- 关于leetcode第718题求长度最长的公共子数组的解析
- JAVA类加载过程&主动引用和被动引用
- 关于leetcode第56题合并重复区间的解析
- java-覆盖equals和hashcode方法
- java-单链表反转解法及分析
- JAVA-判断两个单链表是否相交并求交点
- 删除排序数组中重复元素的方法
- zookeeper-3.4.10伪集群模式搭建及简单操作
- 04 Confluent_Kafka权威指南 第四章: kafka消费者:从kafka读取数据
- JAVA中的单例模式分析(doublecheck和枚举实现)
- 有关JAVA自动装箱-拆箱的分析
- 10 Confluent_Kafka权威指南 第十章:监控kafka