利用云上托管服務(wù)和AI構(gòu)建安防視頻云存

來源: AWS
作者:李摯、徐高偉、陳海云、李智勤
時(shí)間:2021-07-20
17721
傳統(tǒng)視頻數(shù)據(jù)因?yàn)槿狈υ獢?shù)據(jù)索引,因此在無法確定精確的事件發(fā)生時(shí)間時(shí),無法快速有效的定位視頻信息,需要大量人力對(duì)存量視頻信息進(jìn)行檢索。由此引入巨大的人力成本,并需要更多時(shí)間完成視頻檢索。

安防視頻云存業(yè)務(wù)特點(diǎn)與面臨挑戰(zhàn)

傳統(tǒng)視頻數(shù)據(jù)因?yàn)槿狈υ獢?shù)據(jù)索引,因此在無法確定精確的事件發(fā)生時(shí)間時(shí),無法快速有效的定位視頻信息,需要大量人力對(duì)存量視頻信息進(jìn)行檢索。由此引入巨大的人力成本,并需要更多時(shí)間完成視頻檢索。

此外,傳統(tǒng)安防視頻具有以下特點(diǎn):

·使用RTMP/RTSP協(xié)議實(shí)現(xiàn)視頻流收流。

·需要海量、可靠的視頻存儲(chǔ)。

·僅在有事件發(fā)生,并需要了解現(xiàn)實(shí)情況時(shí)才進(jìn)行回看。

·回看框架需要確保7*24可用,在需要時(shí)可以快速訪問從而實(shí)現(xiàn)回看功能。

以上特點(diǎn)意味著:

·需要在云端或本地部署額外的軟/硬件資源,實(shí)現(xiàn)視頻流接收,引入額外成本。

·傳統(tǒng)的本地視頻存儲(chǔ)受限于單一副本,存在單點(diǎn)故障導(dǎo)致的視頻丟失風(fēng)險(xiǎn)。固定的本地存儲(chǔ)容量,使得增加攝像頭數(shù)量時(shí)需要配套考慮存儲(chǔ)設(shè)施容量規(guī)劃和部署方案,使得項(xiàng)目周期變長,項(xiàng)目規(guī)劃更加復(fù)雜。

·回看框架訪問頻率不高,但7*24可用意味著即使沒有回看需求的時(shí)間段內(nèi),仍然需要支付對(duì)應(yīng)的系統(tǒng)運(yùn)行成本。

針對(duì)以上困難和特點(diǎn),我們針對(duì)IPC視頻云存成本優(yōu)化場(chǎng)景,開發(fā)了可以植入到IPC內(nèi)部的視頻切片云存SDK,并利用亞馬遜云科技提供的云上托管服務(wù)構(gòu)建視頻檢索、回看平臺(tái),從而降低回看平臺(tái)基礎(chǔ)運(yùn)行成本,實(shí)現(xiàn)回看成本與累積回看時(shí)長相關(guān),在不使用回看平臺(tái)時(shí),幾乎無需支付平臺(tái)運(yùn)行成本,而當(dāng)有人訪問時(shí)又可以快速提供服務(wù)。

解決方案架構(gòu)與主要功能模塊

系統(tǒng)架構(gòu)圖:

use-cloud-hosting-services-and-ai-to-build-security-video-cloud-storage1.png

主要功能模塊:

·IPC C SDK

植入到IPC內(nèi)部的SDK,用于實(shí)現(xiàn)視頻分片和封裝,將可以直接回看的視頻分片存儲(chǔ)到S3存儲(chǔ)桶中。并通過IAM權(quán)限管理,實(shí)現(xiàn)IPC上傳權(quán)限的管理,從而確保各IPC視頻上傳權(quán)限相互獨(dú)立。

利用SDK直接將視頻上傳至S3存儲(chǔ)桶,從而擺脫本地或云端視頻流轉(zhuǎn)存所需的資源,實(shí)現(xiàn)云存成本與存儲(chǔ)視頻累計(jì)時(shí)長相關(guān)。

·S3視頻存儲(chǔ)桶

用于存儲(chǔ)IPC視頻分片信息,支持使用S3對(duì)象標(biāo)簽和生命周期管理功能,實(shí)現(xiàn)視頻分片保存周期管理和視頻存儲(chǔ)成本優(yōu)化。

同時(shí),利用S3每個(gè)前綴提供3500 PUT和5500 GET請(qǐng)求的性能,利用前綴命名規(guī)則,實(shí)現(xiàn)云存空間性能自動(dòng)擴(kuò)展,從而實(shí)現(xiàn)使用統(tǒng)一的框架支持從幾個(gè)到數(shù)以百萬計(jì)的IPC設(shè)備。

·對(duì)視頻抽幀并調(diào)用AI接口和DynamoDB元數(shù)據(jù)存儲(chǔ)

針對(duì)傳統(tǒng)IPC視頻存儲(chǔ)難以檢索的情況,引入云上AI服務(wù),實(shí)現(xiàn)智能視頻分析,并根據(jù)視頻內(nèi)容,生成相應(yīng)元數(shù)據(jù)信息,并保存在DynamoDB之中。用戶可以選擇使用DynamoDB中信息,對(duì)視頻內(nèi)容進(jìn)行檢索,從而快速定位到所需的視頻片段和對(duì)應(yīng)時(shí)間,進(jìn)而有效提升視頻檢索效率,縮短視頻檢索所需時(shí)間。

·AI服務(wù)

亞馬遜云科技提供了豐富的AI服務(wù)可以用于視頻分析與檢索。目前支持的主要AI服務(wù)可以參考以下解決方案:

https://www.amazonaws.cn/solutions/ipc-ai-saas-solution/

由于AI服務(wù)部分內(nèi)容較多,限于篇幅,該解決方案另行刊文作詳細(xì)介紹。敬請(qǐng)期待。

·無服務(wù)器架構(gòu)構(gòu)建回放平臺(tái)

為了切實(shí)降低回看平臺(tái)運(yùn)行成本,特別是沒有回看請(qǐng)求時(shí)的成本,本解決方案采用了云原生的無服務(wù)器架構(gòu)。具有無用戶使用時(shí),成本極低,收到請(qǐng)求時(shí)支持秒級(jí)快速啟動(dòng),自動(dòng)擴(kuò)展,統(tǒng)一系統(tǒng)架構(gòu)支持幾個(gè)到數(shù)以百萬計(jì)的用戶同時(shí)訪問。

IPC-C-SDK

用戶可以從Github下載SDK代碼并編譯到自己的IPC之中:

https://github.com/aws-samples/ipc-h264-hls-c-sdk/

IPC-C-SDK內(nèi)部工作邏輯如下:

use-cloud-hosting-services-and-ai-to-build-security-video-cloud-storage2.png

IPC-C-SDK從IPC內(nèi)部視頻、音頻編碼器獲得視頻、音頻流,并通過增加TS、PAT、PMT、PES頭,形成TS格式音視頻流,并存儲(chǔ)于IPC SoC內(nèi)存緩存區(qū)中。

當(dāng)內(nèi)存緩存區(qū)中的音視頻流達(dá)到一定閾值后,IPC-C-SDK會(huì)自動(dòng)通過內(nèi)置S3客戶端,將視頻內(nèi)容以對(duì)象形式推送到S3存儲(chǔ)桶中。

得益于IPC-C-SDK,視頻分片得以直接存儲(chǔ)到S3中,而無需其他音視頻碼流處理設(shè)備或資源。從而使得成本得以有效降低到僅需要S3存儲(chǔ)和API調(diào)用成本的程度。實(shí)現(xiàn)了成本的最優(yōu)化。

IPC-C-SDK使用亞馬遜云科技IAM進(jìn)行權(quán)限管理。支持AK+SK和AK+SK+Token的身份驗(yàn)證模式。實(shí)際生產(chǎn)環(huán)境中,推薦使用Amazon IoT進(jìn)行設(shè)備管理,配合IoT Credential Provider服務(wù),實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備證書換臨時(shí)IAM身份信息。該方案提供最佳的云上數(shù)據(jù)安全性,支持按照設(shè)備證書ID管理設(shè)備權(quán)限,從而確保IPC云存視頻的安全性。其參考架構(gòu)如下:

use-cloud-hosting-services-and-ai-to-build-security-video-cloud-storage3.png

用戶可以參考以下文檔:

https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html

S3視頻存儲(chǔ)桶

S3視頻存儲(chǔ)桶提供高達(dá)99.999999999%的數(shù)據(jù)持久性。意味著如果以3秒分片保存到S3,每10000年才會(huì)丟失一個(gè)3秒的視頻分片。從而確保存儲(chǔ)視頻的安全性。

此外,在視頻云存時(shí),推薦使用以下格式進(jìn)行存儲(chǔ):

S3://{桶名稱}/{設(shè)備證書ID}/{年}/{月}/{日}/{時(shí)}/{分}/{秒}.ts

該格式可以提供以下優(yōu)勢(shì):

·確保數(shù)據(jù)存儲(chǔ)和訪問安全

利用設(shè)備證書ID作為第一級(jí)前綴,實(shí)現(xiàn)各個(gè)IPC設(shè)備之間的權(quán)限相互獨(dú)立與隔離。即每個(gè)攝像頭均只能訪問自己證書ID前綴之下的視頻分片。通過IAM角色配置,更加可以實(shí)現(xiàn)限制IPC設(shè)備僅能夠進(jìn)行上傳操作,而無法下載視頻分片,從而確保視頻云存安全性。

·性能自動(dòng)擴(kuò)展

由于各個(gè)IPC分別屬于不同的前綴之下,亞馬遜云科技為每個(gè)S3前綴提供每秒3500 PUT和5500 GET請(qǐng)求的性能,因此當(dāng)IPC攝像頭數(shù)量增加時(shí),S3將自動(dòng)優(yōu)化并提供對(duì)應(yīng)性能的處理能力。從而實(shí)現(xiàn)使用統(tǒng)一架構(gòu)支持從幾個(gè)到數(shù)以百萬計(jì)IPC設(shè)備的能力。

視頻抽幀并調(diào)用AI接口將結(jié)果存儲(chǔ)到DynamoDB中

當(dāng)視頻分片上傳到S3存儲(chǔ)桶中后,用戶可以選擇使用AI技術(shù)對(duì)視頻內(nèi)容進(jìn)行分析。例如:檢測(cè)視頻中出現(xiàn)的人臉和相應(yīng)位置,并將結(jié)果保存到DynamoDB中,供后續(xù)查詢使用。

視頻數(shù)據(jù)在上傳到S3后,會(huì)觸發(fā)S3事件通知。通過云端Lambda函數(shù),可以實(shí)現(xiàn)抽取視頻關(guān)鍵幀,并轉(zhuǎn)換為JPEG格式,發(fā)送給AI接口進(jìn)行分析。

AI分析的結(jié)果會(huì)以JSON格式,返回給Lambda函數(shù),Lambda函數(shù)將分析結(jié)果信息存儲(chǔ)到DynamoDB數(shù)據(jù)庫中,供回看平臺(tái)檢索使用。

無服務(wù)器架構(gòu)構(gòu)建視頻回看平臺(tái)

得益于以TS格式保存的視頻分片,云存視頻分片可以實(shí)現(xiàn)任意時(shí)間段內(nèi)分片連接成整體視頻進(jìn)行回看。因此無需在云端進(jìn)行二次轉(zhuǎn)碼操作。從而降低系統(tǒng)成本。

無服務(wù)器的視頻回看平臺(tái)使用開源Video.js框架,提供兩種回看模式:

·近實(shí)時(shí)回看(延遲6-20秒,取決于網(wǎng)絡(luò)和客戶端配置情況)

在近實(shí)時(shí)回看模式下,客戶端通過API Gateway HTTP API請(qǐng)求m3u8播放列表,Lambda函數(shù)檢查S3桶中存儲(chǔ)的分片,并將2分鐘之內(nèi),最后上傳的3個(gè)視頻分片返回給客戶端。通過滾動(dòng)更新m3u8返回分片清單,實(shí)現(xiàn)近實(shí)時(shí)的查看視頻內(nèi)容。

·指定時(shí)間段回看

客戶端通過API Gateway HTTP API請(qǐng)求m3u8播放列表,并提供回看時(shí)間段的開始、截止時(shí)間。Lambda函數(shù)檢查S3桶中存儲(chǔ)的分片,并將指定時(shí)間段內(nèi)的視頻分片按照順序添加到m3u8播放列表中返回給客戶端,從而實(shí)現(xiàn)制定時(shí)間段的視頻回看功能。

指定時(shí)間段回看支持通過檢索DynamoDB中存儲(chǔ)的視頻元數(shù)據(jù),獲取所需回看的時(shí)間段范圍,將結(jié)果返回給客戶端進(jìn)行回看。

您可以通過以下鏈接在亞馬遜云科技的環(huán)境中一鍵部署回看框架??蚣苤械幕乜磻?yīng)用帶有示例視頻供您參考。

https://console.aws.amazon.com/cloudformation/home?#/stacks/create/template?stackName=IPC-H264-HLS&templateURL=https://aws-gcr-solutions.s3.amazonaws.com/ipc-c-sdk/v1.0.0/ipc-h264-hls-c-sdk.template

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于AWS,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家