zoukankan      html  css  js  c++  java
  • 视频智能分析/视频上云服务平台EasyCVR如何在FFmpeg中插入SEI信息集成AI智能分析?

    视频上云服务EasyCVR已经开发集成了海康SDK、Ehome协议等私有协议,目前其他的协议也在拓展当中,有兴趣的用户可以看一下我们的Ehome协议开发过程(Ehome协议调用流程介绍)。

    EasyCVR目前正在研发AI智能分析集成功能,将智能分析结果插入视频流成为我们首要解决的问题,我们使用了FFmpeg中插入SEI信息流程。

    生成SEI的方式基本可以归类为一下三种:
    1、对已有码流做filter,插入SEI NAL;
    2、视频编码时生成SEI;
    3、容器层写入时插入SEI。

    一、EasyCVR选择1中的方式,参考FFMepg 中bsf,在不做码流解码的前提下,对已经编码后的比特流做特定的修改、调整. 插入时遵循SPS+PPS+SEI+IDR 的顺序
    Ffmpeg h264_metadata_bsf.c

    以上代码完整解释了SEI规范,其中"H264_SEI_TYPE_USER_DATA_UNREGISTERED"值为5,对应的即是未注册的用户信息。在解析"ffmpeg"工具输入过程中,将"+“号前面的字符串转换成二进制写入uuid,”+"后内容使用字符串写入payload。

    二、码流中随机插入SEI,如下:

    随机插入指的是 不遵循sps+pps+sei+idr 的顺序,根据需要随机插入,保证前端获取信息的实时性,可能的顺序为SEI+P+P+SEI+P+P+P

    加入SEI信息成功后,码流SEI部分如下图所示

    EasyCVR安防视频云服务的主要功能是将本地局域网内连通的RTSP视频源,通过RTMP协议推送到阿里、腾讯等公有云厂商的视频服务中,同时具备本地存储文件的能力,可接入SDK、支持H265视频流编解码、支持电视墙等功能。

  • 相关阅读:
    为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?
    被公司的垃圾XG人事系统吓尿了
    【域控管理】父域的搭建
    【域控管理】域控的必要性
    对.net 程序进行源码混淆
    公司消费一卡通“变法”记
    Oracle研究专题:Oracle系统安装与配置
    数据仓库003
    数据仓库002
    数据仓库001
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/13791334.html
Copyright © 2011-2022 走看看