EasyNVR流媒体服务器接入EasyDSS云视频平台快照上传实现
来源:互联网 发布:python中pyparsing 编辑:程序博客网 时间:2024/06/15 05:57
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;}
关于EasyNVR
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
详细说明:http://www.easydarwin.org/easynvr/
点击链接加入群【EasyNVR解决方案】:383501345
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
阅读全文
0 0
- EasyNVR流媒体服务器接入EasyDSS云视频平台快照上传实现
- EasyNVR接入EasyDSS云视频平台快照上传实现
- easyNVR连接easyDSS流媒体服务器
- EasyDSS流媒体解决方案之视频上传
- EasyNVR视频流媒体服务器直播方案
- EasyNVR H5流媒体服务器方案架构设计之视频能力平台
- 网页直播、微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的easynvr
- 网页直播、微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的easynvr
- 基于EasyNVR+EasyDSS H5视频直播二次开发实现业务需求:直接使用播放页面
- EasyDSS RTMP流媒体服务器中调用videojs播放rtmp视频显示在左上角问题
- EasyDarwin流媒体云平台:EasyCamera开源摄像机接入海康威视摄像机实时视频
- EasyDSS RTMP流媒体服务器搭建直播集群
- EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
- EasyDarwin云平台之EasyCMS中心管理服务接入ffmpeg实现264转图片快照功能
- 基于EasyDSS流媒体服务器实现的直播流管理与鉴权的后台方案
- EasyDSS RTMP流媒体服务器开发直播同时HLS录像功能实现时移回放
- EasyDSS流媒体服务器实现RTMP直播同步HLS录像和时移回放
- ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播
- Ubuntu16 安装搜狗输入法及两个图标解决方法
- Hql例子
- jdbc基础 (二) 通过properties配置文件连接数据库
- 用户行为分析面面观(之三)-----特征3:传播性
- 网络编程
- EasyNVR流媒体服务器接入EasyDSS云视频平台快照上传实现
- JavaScript中的‘&&’、‘||’操作符
- SQL commands Glossary of commonly used SQL commands
- 游戏开发判断网络是否连接
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 B. Train Seats Reservation
- 【牛客网】魔法币
- 将Excel中的数据转换成sql Insert语句
- Python:重命名文件,尤其要注意路径!写全!
- 背包问题--贪心算法C#Demo解析