EasyNVR接入EasyDSS云视频平台快照上传实现
来源:互联网 发布:公路车骑行姿势 知乎 编辑:程序博客网 时间:2024/06/06 00:42
EasyNVR拥有接入EasyDSS云平台的功能
接入EasyDSS云平台会定时向云平台上传快照数据,这个快照数据用于云平台向客户端提供快照展示
遇到的问题
由于快照上传的间隔提供认为修改的功能,则我们限定最短时间为1分钟
通道的数量会直接影响快照上传
考虑到压力情况,1分钟之内上传上千通道的快照
快照数据经过Base64编码,会比快照真实数据扩大1.33333倍,数据量大
EasyNVR的固定通道设计
解决方案
将所有通道快照上传分散在快照间隔时间内
若遇到通道未启用、通道不在线则跳过,并且减少通道数量,增大间隔时间
实现
virtual SInt64 Run(){ EventFlags event = this->GetEvents(); if (event & Task::kIdleEvent || event & Task::kUpdateEvent) { if (!channels_) return 0; bool allUploaded = true; for (int i = 0; i < MAX_CHANNEL_COUNT; i++) { if (snapCtrlArray_[i]) { allUploaded = false; break; } } if (allUploaded) { return 0; } if (snapCtrlArray_[curSnapIndex_]) { snapCtrlArray_[curSnapIndex_] = false; int curChannel = curSnapIndex_ + 1; if (++curSnapIndex_ > MAX_CHANNEL_COUNT - 1) { curSnapIndex_ = 0; } CameraInfo* cameraInfo = (*channels_)[curChannel]->GetChannelInfo(); if (!cameraInfo->enable || !cameraInfo->online) { --postSnapCount_; return 1; } postSnap(curChannel); } //return (std::min)(timeout_ * 60 / MAX_CHANNEL_COUNT, 3) * 1000; return timeout_ * 60 * 1000 / postSnapCount_; } if (event & Task::kTimeoutEvent) { channels_ = NULL; QTSS_RoleParams params; params.easyNVRChannelsConfigParams.inChannels = NULL; EasyNVRUtil::CallDispatch(Easy_NVRGetChannelsConfig_Role, QTSSModule::kGetChannelsConfigRole, params); channels_ = static_cast<std::map<int, EasyNVRChannel*>*>(params.easyNVRChannelsConfigParams.inChannels); postSnapCount_ = MAX_CHANNEL_COUNT; for (int i = 0; i < MAX_CHANNEL_COUNT; i++) { snapCtrlArray_[i] = true; } this->Signal(Task::kUpdateEvent); timeoutTask_.RefreshTimeout(); } return 0;}
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
阅读全文
0 0
- EasyNVR接入EasyDSS云视频平台快照上传实现
- EasyNVR流媒体服务器接入EasyDSS云视频平台快照上传实现
- 基于EasyNVR+EasyDSS H5视频直播二次开发实现业务需求:直接使用播放页面
- EasyDarwin云平台之EasyCMS中心管理服务接入ffmpeg实现264转图片快照功能
- easyNVR连接easyDSS流媒体服务器
- EasyDSS流媒体解决方案之视频上传
- EasyDarwin开源云平台接入海康威视EasyCamera摄像机之快照获取与上传
- EasyNVR+EasyDSS实现简单套路的RTMP、微信直播、录像、回放方案
- 基于EasyNVR+EasyDSS二次开发实现业务需求:直接使用播放页面
- EasyDarwin开源流媒体云平台支持EasyCamera摄像机、EasyCamera手机直播监控、EasyNVR等多终端接入
- easyDarwin已经无法接入easyNVR
- EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
- 使用easyNVR与easyDSS时遇到的一些问题
- 酷播云如何上传视频到云平台?
- EasyNVR使用ffmpeg保存快照数据
- EasyDarwin接入ffmpeg实现264转图片快照功能
- EasyNVR H5流媒体服务器方案架构设计之视频能力平台
- EasyNVR如何实现跨域鉴权
- 前端网页
- 有道云6.0 remove Ad
- 使用IntelliJ IDEA 配置Maven(入门)
- 在idea中用git导入的maven项目,启动Tomcat报错,求大神!
- 关于应用的Splash启动页
- EasyNVR接入EasyDSS云视频平台快照上传实现
- 监听器和过滤器
- HDU-1847-Good Luck in CET-4 Everybody!
- Kendo UI常用示例汇总(二十一)
- [Thinking in Java]
- 写一个函数求出一个字符串中所有字母的出现次数,不区分大小写
- 总结前端面试过程中最容易出现的问题
- Mac安装office2016以及破解
- oracle listagg函数、lag函数、lead函数 实例