智能视频分析系统EasyNVR+EasyAIFilter实现自定义视频AI智能分析,EasyAIFilter代码的使用方法介绍
背景需求
随着雪亮工程、明厨亮灶、手机看店、智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网、微信直播,我们知道摄像头直播的春天了。将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP、HTTP-FLV、HLS等流格式再分发给用户端进行直播,不管身处何地都可以通过移动通讯设备查看监控设备,这些功能是EasyNVR互联网直播系统研发和设计的初衷和基础功能。另外EasyNVR增值功能是可通过接口二次集成在自己的原有的web业务系统实现网页、H5无插件实时直播。
EasyAIFilter代码的使用方法介绍
很在之前的方案中我们提到了EasyNVR+EasyAIFilter是如何实现自定义视频AI智能分析的,大概描述的整个自定义视频智能分析EasyAIFilter的大体过程,今天我们来具体讲解一下EasyAIFilter代码的使用方法。
从上面的图中我们可以看到,EasyAIFilter其实就是可以看做是一个简单直接的过滤功能,可以自定义任何过滤的动作,或者说哪怕是简单的一次memcpy过程,也算是一种过滤,那么通常情况下我们在自定义视频AI智能分析的过滤时,我们参考EasyAIFilter官方代码示例需要注意以下过程:
- 修改easynvr.ini 中的参数 ai_filter设置为1,默认此参数为0,这样就启用了AI分析的功能;ai_filter=1 如果没有此参数,可以在[base_config]根节点下直接增加此选项;
- 把编译生成的libEasyAIFilter.so或者libEasyAIFilter.dll放到可执行文件EasyNVR可执行文件的同级目录下
- FreeSerif.ttf字体放到可执行文件EasyNVR的同级目录下
- 查看NVR增加的摄像机,看画面左上角添加了EasyNVR AI+ 字样
按照上述过程,结合EasyNVR服务,即可完成整套的EasyAIFilter视频AI智能分析的过滤过程,那么EasyAIFilter中无论是通过ffmpeg软转码,还是用NVIDIA的GPU转码,都可以随用户需求自定义了!
EasyAIFilter代码仓库地址:https://github.com/EasyNVR/EasyAIFilter
关于EasyNVR
EasyNVR是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。