安防监控直播中无插件web直播方案中实现快照抓取的功能
2017-09-20 22:00
633 查看
监控直播方案
越来越多人的开始将普通安防摄像机接入网络流媒体服务器,进行网络直播。但是市面上安防摄像机的品牌、型号比较多,想通过SDK方式接入这些各种摄像机不现实。由于安防摄像机基本都是可以输出rtsp流,因此我们可以用拉取RTSP流的方式来兼容各家的摄像机。 EasyNVR就是实现接入普通RTSP/Onvif的安防摄像机,转成RTMP和HLS流,可以在各平台上进行H5 web直播或者app直播。直播方案中快照抓取
EasyNVR实现了拉取摄像机RTSP流,实现监控直播。直播的过程只是流媒体数据转发的过程,不进行解码,这样对CPU等硬件资源消耗较小。但是直播时,可能希望定时抓取一张实时图片进行封面展示、数据分析等。这种情况就需要定时获取一帧数据进行解码,抓成jpg或bmp图片。
如下是将视频某一帧数据转成图片的代码:
bool EasyNVRChannel::rawData2Image(char* rawBuf, int bufSize, int codec, int width, int height, const char* jpgpath) { decodeParam.codec = codec; decodeParam.width = width; decodeParam.height = height; if (!decoderHelper_) { decoderHelper_ = new DecoderHelper; } decoderHelper_->SetVideoDecoderParam(width, height, codec); int ret = decoderHelper_->DecodeVideo(rawBuf, bufSize); if (ret < 0) { return false; } decoderHelper_->WriteJPEG(jpgpath); if (QTSServerInterface::GetServer()->GetThridPartPlatformModule()) { if (!decodeParam.imageData) decodeParam.imageData = new char[width * height * 3]; memset(decodeParam.imageData, 0, width * height * 3); FILE* snapFile = ::fopen(jpgpath, "rb"); if (snapFile) { // obtain file size: 获得文件大小 ::fseek(snapFile, 0, SEEK_END); // 指针移到文件末位 decodeParam.imageSize = ftell(snapFile); // 获得文件长度 ::rewind(snapFile); // 函数rewind()把文件指针移到由stream(流)指定的开始处, 同时清除和流相关的错误和EOF标记 ::fread(decodeParam.imageData, 1, decodeParam.imageSize, snapFile); ::fclose(snapFile); } } return true; }
下载
EasyNVR就是实现将传统安防RTSP摄像机实现在互联网直播、录像、回放,兼容Windows和各移动终端。大家可以在 http://www.easydarwin.org/easynvr/下载EasyNVR测试。
获取更多信息
技术方案与商业授权咨询:13718530929邮件:support@easydarwin.org
WEB:www.easydarwin.org
QQ群:383501345
Copyright © EasyDarwin.org 2012-2017
相关文章推荐
- EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
- EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
- java web在不使用任何插件情况下实现文本框输入自动补全功能
- swoole+websocket+html5实现的简易版直播功能
- 基于EasyDarwin框架实现EasyNVR H5无插件直播流媒体服务器方案
- 基于EasyDarwin框架实现EasyNVR H5无插件直播流媒体服务器方案
- Springboot通过集成Webmagic实现数据抓取功能。
- 如何实现web界面的快照功能
- 如何实现包含插件功能的Applet Web界面 ,WebGIS Java Applet版本
- web播放器插件代码 实现一个在线查听音频文件的功能
- EasyPlayer安卓Android流媒体播放器实现直播过程中客户端快照功能
- YbSoftwareFactory 代码生成插件【十】:ASP.NET WebApi MVC下审计、缓存和导出功能的实现
- EasyPlayer安卓Android流媒体播放器实现直播过程中客户端快照功能
- 用WebVie实现简单的浏览器功能
- 详解WordPress中提醒安装插件以及隐藏插件的功能实现
- Asp.net 实现验证码功能的Web控件
- EasyNVR无插件播放HLS/RTMP网页直播方案前端完善:监听表单变动
- datatable插件实现分页功能
- 原创:微信小程序+WEB使用JS实现注册【60s】倒计时功能
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果