EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
2017-09-24 17:40
1071 查看
EasyNVR提供快照预览功能,并且提供向EasyDSS云平台上传快照的功能
EasyNVR会定时向配置的摄像机抓取快照数据,保存图片用于预览,并且用于快照上传
原理
将从摄像机取出来的I帧数据编码成jpeg图片数据
实现
AVPacket管理,使用wrapper管理AVPacket的资源
详细说明:http://www.easydarwin.org/easynvr/
点击链接加入群【EasyNVR解决方案】:383501345
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
EasyNVR会定时向配置的摄像机抓取快照数据,保存图片用于预览,并且用于快照上传
原理
将从摄像机取出来的I帧数据编码成jpeg图片数据
实现
AVPacket管理,使用wrapper管理AVPacket的资源
class AVPacketWrapper { public: AVPacketWrapper() : packet_(new AVPacket) { av_init_packet(packet_); packet_->data = NULL; packet_->size = 0; } explicit AVPacketWrapper(size_t size) : packet_(new AVPacket) { av_new_packet(packet_, size); } ~AVPacketWrapper() { if (packet_) { av_packet_unref(packet_); delete packet_; } } AVPacket* getPacket() const { return packet_; } private: AVPacketWrapper(const AVPacketWrapper&); AVPacketWrapper& operator =(const AVPacketWrapper&); AVPacket* packet_; };
int DecoderHelper::DecodeVideo(char* inBuff, int inBuffSize) { if (!inBuff) return -1; if (1 > inBuffSize) return -1; if (!avCodecContext_) { releaseVideoDecoder(); return -2; } AVPacketWrapper packetWrapper; AVPacket* packet = packetWrapper.getPacket(); packet->size = inBuffSize; packet->data = reinterpret_cast<uint8_t*>(inBuff); int ret = avcodec_send_packet(avCodecContext_, packet); if (ret < 0 && ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) { return -3; } ret = avcodec_receive_frame(avCodecContext_, avFrame_); if (ret < 0 && ret != AVERROR_EOF) { return -3; } 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.orgWEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
相关文章推荐
- EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
- EasyNVR无插件IPC摄像机直播方案前端构建之:如何区分PC端和移动端
- EasyNVR无插件IPC摄像机直播方案前端构建之:如何区分PC端和移动端
- EasyNVR如何配合EasyBMS使用以及实现功能概述
- EasyNVR RTSP摄像机转HLS直播服务器中使用Onvif协议控制预置位
- EasyNVR无插件IPC摄像机直播方案前端构建之:区分页面是自跳转还是分享依据
- EasyNVR RTSP摄像机HLS直播服务器中使用Onvif协议获取设备快照
- EasyRTMP内置进入摄像机中实现网络推流直播摄像机的功能
- EasyNVR无插件IPC摄像机直播方案前端构建之:区分页面是自跳转还是分享依据
- EasyNVR RTSP摄像机HLS直播服务器中使用Onvif协议获取设备快照
- EasyDarwin接入ffmpeg实现264转图片快照功能
- 安防监控直播中无插件web直播方案中实现快照抓取的功能
- EasyDSS云平台功能之摄像机公网直播、微信直播、手机直播方案(EasyNVR方案3X)
- 实现RTSP摄像机进行网页直播和微信直播的技术方案:EasyNVR自动更新方法
- 基于EasyNVR+EasyDSS H5视频直播二次开发实现业务需求:直接使用播放页面
- [置顶] 使用ffmpeg实现RTMP的直播推流功能
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:bootstrap弹窗功能的实现
- Android使用FFMpeg实现推送视频直播流到服务器
- 实现RTSP摄像机进行网页直播和微信直播的技术方案:EasyNVR自动更新方法
- 基于EasyDarwin框架实现EasyNVR H5无插件直播流媒体服务器方案