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视频流编解码、支持电视墙等功能。

  • 相关阅读:
    希望jQuery操作DOM文档,则必须确保DOM载入后开始执行
    Web全栈AngularJS
    Web全栈AngularJS
    Web全栈AngularJS
    KD-Tree
    KD-Tree
    KD-Tree
    KD-Tree
    如何提升自身实力
    如何提升自身实力
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/13791334.html
Copyright © 2011-2022 走看看