1. 程式人生 > 實用技巧 >視訊智慧分析/視訊上雲服務平臺EasyCVR如何在FFmpeg中插入SEI資訊整合AI智慧分析?

視訊智慧分析/視訊上雲服務平臺EasyCVR如何在FFmpeg中插入SEI資訊整合AI智慧分析?

視訊上雲服務EasyCVR已經開發集成了海康SDK、Ehome協議等私有協議,目前其他的協議也在拓展當中,有興趣的使用者可以看一下我們的Ehome協議開發過程(Ehome協議呼叫流程介紹)。

EasyCVR.png

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

70.png

71.png

以上程式碼完整解釋了SEI規範,其中"H264_SEI_TYPE_USER_DATA_UNREGISTERED"值為5,對應的即是未註冊的使用者資訊。在解析"ffmpeg"工具輸入過程中,將"+“號前面的字串轉換成二進位制寫入uuid,”+"後內容使用字串寫入payload。

二、碼流中隨機插入SEI,如下:

72.png

隨機插入指的是 不遵循sps+pps+sei+idr 的順序,根據需要隨機插入,保證前端獲取資訊的實時性,可能的順序為SEI+P+P+SEI+P+P+P

加入SEI資訊成功後,碼流SEI部分如下圖所示

73.png

EasyCVR安防視訊雲服務的主要功能是將本地區域網內連通的RTSP視訊源,通過RTMP協議推送到阿里、騰訊等公有云廠商的視訊服務中,同時具備本地儲存檔案的能力,可接入SDK、支援H265視訊流編解碼、支援電視牆等功能。

EasyCVR1.png