EasyNVR提供快照预览功能,并且提供向EasyDSS云平台上传快照的功能

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.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的的更多相关文章

  1. EasyNVR无插件直播服务器软件接口调用返回“Unauthorized”最简单的处理方式

    背景需求 对于EasyNVR的受众群体十分的广泛,不仅仅有将EasyNVR作为视频直播平台直接使用的,更多的是使用EasyNVR的对应功能集成到自身系统.对于前者,只需要将软件的使用功能搞清楚即可,对 ...

  2. EasyNVR无插件直播服务器软件览器低延时播放监控摄像头视频(EasyNVR播放FLV视频流)

    背景描述 EasyNVR的使用者应该都是清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可 ...

  3. EasyNVR无插件直播服务器软件使用详情功能 - 录像功能说明

    背景介绍 EasyNVR不仅仅拥有无插件的直播功能,更拥有对于直播录像的存储和日期检索功能: 本篇博文主要用于介绍EasyNVR的录像功能. 之前有博文介绍相关的录像功能,本篇主要为了介绍录像的新功能 ...

  4. EasyNVR无插件直播服务器软件使用详情功能-通道配置Excel

    背景需求 使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过手动的通道配置来进行设备接入的,这样可以做到将设备的和通道对应的接入.但 ...

  5. EasyNVR无插件直播服务器软件如何自己更改web界面(网页的自定修改)

    背景需求 很多用户都在使用了EasyNVR,看到EasyNVR自身带有的界面后有这样的需求,就是需要更改一下web前端的一些样式,当前EasyhNVR为3.0版本,web前端为了增加前端的运行效率和减 ...

  6. EasyNVR无插件直播服务器播放页面的集成----单独的播放器样式

    背景需求: EasyNVR自身拥有独立的客户端体系,安卓和IOS拥有各自独立的APP, 安卓下载地址:https://fir.im/EasyNVR: IOS下载可直接在APPstore搜索EasyNV ...

  7. EasyNVR无插件直播流媒体服务器云端集中管控的EasyNVS云管理平台安装使用文档

    EasyNVS - EasyNVR云端集中管理服务 EasyNVS云管理平台是一套专门用于集中化管理EasyNVR 的解决方案. EasyNVR 采用主动注册的方式接入到 EasyNVS, 再由 Ea ...

  8. 使用EasyNVR无插件流媒体服务器接口和EasyPlayer.js播放器插件实现web网页H5播放无插件

    1.背景需求 很多客户在使用EasyNVR无插件流媒体服务器时,不喜欢产品化的界面,有时可能满足不了日常观看使用的需求.因此软件提供丰富的HTTP接口,供第三方平台调用集成.但是有时客户这边可能没有专 ...

  9. EasyNVR无插件直播服务如何配合EasyBMS使用以及实现流媒体管理功能概述

    本文转自:https://blog.csdn.net/black_3717/article/details/79769195 功能概要: 1.摄像机的无插件直播: 2.摄像机的低延时直播: 3.摄像机 ...

随机推荐

  1. 谁都能听懂的Redux+Redux-Saga超级傻瓜教程

    对不起本文确实有标题党的嫌疑:) 想要理解本文还是要先会用react和es6,如果连react和es6都不知道是什么的话我也没辙:( 如果你选择用react来开发应用,并且你没对各个组件的状态进行应有 ...

  2. python 编程模型

    数据模型(译)   image.png 1 对象(object).类型(type)和值(value) python中所有的数据都是通过对象(object)或者对象之间的关系来表示 每个对象(objec ...

  3. SVN的Status字段含义

    执行SVN up和svn merge等命令出现在首位置的各字母含义如下: “ ” 无修改 “A” 新增 “C” 冲突 “D” 删除 “G” 合并 “I” 忽略 “M” 改变 “R” 替换 “X” 未纳 ...

  4. 【spring boot logback】日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么

    本篇 将针对[日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么]这一个主题进行探索. 这个测试项目是根据[spr ...

  5. git工程迁移(修改提交服务器地址)方法

    git remote set-url [--push] <name> <newurl> [<oldurl>]git remote set-url --add [-- ...

  6. GIS可视化——属性图

    一.简介 SuperMap iClient for JavaScript 提供了UTFGrid图层(属性图),用于客户端属性信息的快速交互. UTFGrid图层从UTFGrid切片数据源读取数据,其本 ...

  7. Linux学习之十五-Linux文件特殊权限和附加权限

    Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...

  8. 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(一)搭建开发环境

    学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html 进入下载页后,可以 ...

  9. 2016.6.20 maven更改repository的位置

    默认位置为${userhome}/.m2/repository: 修改位置: 在setting,xml中更改 这个时候再看eclipse的设置,已经自动更改了.因为它是读取setting.xml中的数 ...

  10. excel导出 jxl.jar包

    导入jxl.jar包, 代码如下: package com.gree; import java.io.IOException; import java.io.OutputStream; import ...