zoukankan      html  css  js  c++  java
  • TSINGSEE青犀视频优化EasyNVR快照保存机制实现过程

    TSINGSEE青犀视频的快照功能我们为大家介绍过很多次,在近几年中,我们也对快照进行了几次大大小小的优化和修改,比如EasyDSS,在最近的一次优化中,我们对定时快照数据的取出进行了简化,实现直播中直接截图生成快照。同样的,在EasyNVR中我们也优化了快照的保存机制。

    目前EasyNVR的快照保存机制是在定时回调里把视频流里的I帧转换为图片保存,需要改为在定时回调里保存I帧,图片在前端访问的时候把保存的I帧转为图片,并在拉取到视频流时修改推流机制。

    实现步骤:

    1.StreamClient.Snap中设置标志为IsSnap=true开启快照

    2.在拉取到视频流时判断是否开启快照并且是I帧:C.int(avFrame.u32VFrameType) == 1 && client.IsSnap

    3.保存I帧

    // 1. 非按需一直推流,保存I帧

    // 2. 按需推流,保存I帧

    // 2.1 按需推流在touch时间内推流,保存I帧

    // 2.2 按需推流不在touch时间内不推流,保存I帧

    snapPtrPath := filepath.Join(utils.DataDir(), "snapPtr", fmt.Sprintf("channel_%d.264", client.channelID))

    err := ioutil.WriteFile(snapPtrPath, C.GoBytes(unsafe.Pointer(data), C.int(frameInfo.length)), 0644)

    4.保存成功后关闭快照标志位,IsSnap=false

    5.在前端访问通道数据时把保存的I帧文件转换为图片保存

    除了EasyNVR外,TSINGSEE青犀视频其他智能分析平台EasyCVR、EasyGBS等也可以获取录像的快照。如果大家有疑问,欢迎联系我们。更多视频相关解决方案,欢迎访问TSINGSEE青犀视频官方网站。

  • 相关阅读:
    xps插入图片
    xps文件的基本操作
    大家注意:升级 win8.1 火狐浏览器 谷歌浏览器 搜狗五笔输入法 都不能用啦
    CF4C_Registration system 题解
    CF1B_Spreadsheets 题解
    CSP-J/S 初赛知识点整理
    Nodejs在centos下的安装
    sqlserver2012 表分区
    adb unknown host service 这个问题的解决,转载
    char和nchar,varchar和nvarchar的区别(转载)
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/15348583.html
Copyright © 2011-2022 走看看