《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 基于加密算法的智慧園區(qū)視頻監(jiān)控上云系統(tǒng)設(shè)計(jì)

基于加密算法的智慧園區(qū)視頻監(jiān)控上云系統(tǒng)設(shè)計(jì)

2023-02-22
來源:電子產(chǎn)品世界

隨著數(shù)字中國的建設(shè),特別是視頻監(jiān)控設(shè)備的國產(chǎn)化和設(shè)備研發(fā)制造成本快速下降,,視頻監(jiān)控設(shè)備快速普及,,并被廣泛應(yīng)用于各類園區(qū),如景區(qū),、產(chǎn)業(yè)園區(qū)、社區(qū)等,。出于安全和成本等原因,,這些監(jiān)控設(shè)備分布在各自獨(dú)立的智能化專網(wǎng),,處于封閉運(yùn)行的狀態(tài)。調(diào)閱實(shí)時(shí)監(jiān)控的方式主要在監(jiān)控指揮中心,,通過現(xiàn)場(chǎng)視頻監(jiān)控平臺(tái)及大屏完成,。近年手機(jī)移動(dòng)應(yīng)用快速普及,催生了遠(yuǎn)程實(shí)時(shí)查看視頻監(jiān)控的需求,,比如景區(qū)大門口實(shí)時(shí)人員狀態(tài),、應(yīng)急處突管理的現(xiàn)場(chǎng)視頻、產(chǎn)線生產(chǎn)的實(shí)時(shí)狀態(tài),、重點(diǎn)實(shí)驗(yàn)室的運(yùn)行情況等多種多樣的需求,。目前已經(jīng)有很多家庭用級(jí)別的網(wǎng)絡(luò)監(jiān)控?cái)z像設(shè)備及系統(tǒng),可以滿足簡單場(chǎng)景下遠(yuǎn)程監(jiān)控的基礎(chǔ)需求,。但是,,受限于成本及攝像機(jī)的性能,無法在園區(qū)內(nèi)大量普及,。

本文引用地址:http://www.eepw.com.cn/article/202302/443512.htm

在園區(qū)部署視頻監(jiān)控設(shè)備上云的系統(tǒng),,即可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的需求,通過園區(qū)本地部署的NVR 設(shè)備獲取前端的實(shí)時(shí)碼流,,經(jīng)轉(zhuǎn)碼,、加密、上云發(fā)布等流程,,完成視頻流上云的過程,,在經(jīng)過應(yīng)用端的下載、解碼,、播放等,,完成園區(qū)視頻監(jiān)控的遠(yuǎn)程實(shí)時(shí)查看。

1   視頻監(jiān)控上云技術(shù)

視頻監(jiān)控上云,,如要確保視頻內(nèi)容安全,,需要本地視頻流經(jīng)過轉(zhuǎn)碼,然后通過加密算法對(duì)視頻內(nèi)容進(jìn)行加密,,然后再上云傳輸,,前端應(yīng)用下載解密后,即可進(jìn)行播放,,完成遠(yuǎn)程監(jiān)控的目的,。

1.1 視頻轉(zhuǎn)碼技術(shù)

FF MPEG是個(gè)開源跨平臺(tái)多媒體數(shù)據(jù)解決方案[1-2],具備強(qiáng)大的編碼,、解碼,、轉(zhuǎn)碼能力, 支持HTTP,、RTSP,、RTMP 等多種協(xié)議,,并且支持不同協(xié)議視頻格式的轉(zhuǎn)碼,比如RTSP 轉(zhuǎn)成RTMP 或HLS 等格式,。

開源RTMP 架構(gòu)SRS 結(jié)合開源編解碼庫FF MPEG可以實(shí)現(xiàn)視頻直播播放[3],,本系統(tǒng)的遠(yuǎn)程視頻監(jiān)控功能類似直播平臺(tái),可以實(shí)現(xiàn)一次轉(zhuǎn)碼分發(fā),,多終端同時(shí)觀看的效果,。

1.2 視頻加解密算法

本系統(tǒng)為了確保視頻監(jiān)控的安全,在編解碼節(jié)點(diǎn)增加了加解密算法,。算法在數(shù)據(jù)塊的第28~40 字節(jié)增加干擾數(shù)據(jù)串,,其余數(shù)據(jù)通過簡單4 個(gè)字節(jié)1 組,同一4 個(gè)字節(jié)的密鑰進(jìn)行異或操作,,實(shí)現(xiàn)視頻數(shù)據(jù)的加解密,。下面就分別就加解密算法進(jìn)行描述。

1)加密算法

public byte[] ByteEncrypt(byte[] videoBytes)

{

byte[ ] encryptedVideoBytes = new byte[(videoBytes.Length)];

b y t e [ ] _ e n c r y p t e d Vi d e o B y t e s = newbyte[(videoBytes.Length) + 13];// 預(yù)留12 個(gè)字節(jié)

// 增加的干擾數(shù)據(jù),,示例

byte[] DisValue =new byte[12] { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc,0xde, 0xff, 0xaa,0xce, 0xbb, 0xdd };

// 初始化標(biāo)兵指向數(shù)據(jù)第一個(gè)元素

int i = 0;

//加密流程

while (i + 4 < videoBytes.Length)

{

// 加密密鑰設(shè)定為 0X4E 0X42 0X49 0X4C(示例),原始數(shù)據(jù)同密鑰進(jìn)行異或操作

encryptedVideoBytes[i + 1] = (byte)(videoBytes[i + 2] ^ 0x4E);

encryptedVideoBytes[i + 2] = (byte)(videoBytes[i + 3] ^ 0x42);

encryptedVideoBytes[i + 3] = (byte)(videoBytes[i + 0] ^ 0x49);

encryptedVideoBytes[i + 0] = (byte)(videoBytes[i + 1] ^ 0x4C);

i += 4; // 處理下后續(xù)四個(gè)字節(jié)

}

/ / 將12 個(gè)字節(jié)的干擾數(shù)據(jù)并入視頻流數(shù)據(jù)塊的

第28 到第40 個(gè)字節(jié)

for (int j = 0; j < 28; j++) _encryptedVideoBytes[j]= (byte)(encryptedVideoBytes[j]);

f o r ( i n t j = 0 ; j < 1 2 ; j + + ) _encryptedVideoBytes[j+28] = (byte)(DisValue[j]);

for (int j = 28; j < (videoAsBytes.Length);

j + + ) _encryptedVideoBytes[ j + 12] = (byte)(encryptedVideoBytes[j]);return _encryptedVideoBytes;// 返回最終處理完的數(shù)據(jù)

}

2)解密算法

直接跳過第28 到第40 個(gè)字節(jié),,其余的數(shù)據(jù)按照四個(gè)字節(jié)一組同密鑰進(jìn)行異或操作復(fù)原數(shù)據(jù),。

public byte[] Byte_Dcrypt(byte[] _videoBytes) {

byte[] DcryptedVideoBytes = new byte[(_

videoBytes.Length)];

int i = 0, k = 0 ;

// 解密流程

while (i + 4 < _videoBytes.Length)

{

// 跳過第28 到第40 個(gè)字節(jié)的數(shù)據(jù),其余數(shù)據(jù)按4個(gè)字節(jié)一組同密鑰進(jìn)行異或操作

if (i < 28 || i >= 40)

{

DcryptedVideoBytes[k] = (byte)(_

videoBytes[i + 3] ^ 0x49);

DcryptedVideoBytes[k + 1] = (byte)(_

videoBytes[i] ^ 0x4C);

DcryptedVideoBytes[k + 2] = (byte)(_

videoBytes[i + 1] ^ 0x4E);

DcryptedVideoBytes[k + 3] = (byte)(_

videoBytes[i + 2] ^ 0x42);

k += 4;

}

i += 4;// 處理后續(xù)4 個(gè)字節(jié)

}

return DcryptedVideoBytes;// 返回解密后的數(shù)據(jù)

}

2   監(jiān)控上云整體方案

整體方案分為視頻上傳及視頻下載兩個(gè)部分,,詳見系統(tǒng)圖1,。視頻上傳部分包括前端NVR 實(shí)時(shí)碼流獲取,視頻格式轉(zhuǎn)碼,,視頻流數(shù)據(jù)加密及加擾,,傳輸上云幾個(gè)模塊;視頻下載及播放部分包括視頻下載,、視頻解碼,、視頻播放幾個(gè)功能模塊,后續(xù)將詳細(xì)介紹,。視頻的加解密模塊給視頻的網(wǎng)絡(luò)傳輸安全增加了一道安全屏障,,確保了信息的安全。

圖1 基于加密的智慧園區(qū)視頻監(jiān)控遠(yuǎn)程監(jiān)控系統(tǒng)架構(gòu)圖

3   系統(tǒng)關(guān)鍵模塊

系統(tǒng)各關(guān)鍵模塊密切配合,,圍繞視頻流數(shù)據(jù)的安全可靠處理加工及傳輸?shù)?,完成園區(qū)視頻監(jiān)控上云及遠(yuǎn)程監(jiān)控的目標(biāo)。下面將分布介紹各個(gè)模塊內(nèi)容,。

3.1 監(jiān)控視頻流獲取

園區(qū)的視頻監(jiān)控設(shè)備都匯集到監(jiān)控指揮中心,,可以通過NVR獲取其實(shí)時(shí)的視頻監(jiān)控流。監(jiān)控?cái)z像機(jī)都支持輸出多個(gè)碼流,,主碼流以及子碼流,,碼流的編碼格式式包括H.264,、H.265 等,可通過RTSP 協(xié)議獲取其視頻流,。系統(tǒng)首先獲取所有視頻監(jiān)控設(shè)備的列表明細(xì),,然后在配置頁面,選取眾多攝像機(jī)中需要上云的設(shè)備,,配置其碼流地址,、編碼格式、賬號(hào)及密碼等信息,。

鑒于視頻流同時(shí)抓取需要消耗大量的計(jì)算資源及網(wǎng)絡(luò)帶寬,,該系統(tǒng)視頻流抓取部分,平時(shí)在“待機(jī)”狀態(tài),,有前端系統(tǒng)請(qǐng)求的時(shí)候,,才會(huì)啟動(dòng)視頻流抓取的模塊,根據(jù)預(yù)先設(shè)定的碼流配置信息,,將前端實(shí)時(shí)碼流通過NVR傳輸?shù)揭曨l轉(zhuǎn)碼平臺(tái),。系統(tǒng)平臺(tái)支撐多路視頻流數(shù)據(jù)同時(shí)抓取。

3.2 視頻轉(zhuǎn)碼

本系統(tǒng)要支持多種播放終端上進(jìn)行遠(yuǎn)程查看,,包括PC網(wǎng)頁,、微信小程序以及移動(dòng)APP等,需選取一個(gè)更加通用的協(xié)議作為傳輸標(biāo)準(zhǔn),,所以選擇了更為通用的Webrtc格式流,。原始的視頻流各位RTSP標(biāo)準(zhǔn),要轉(zhuǎn)換成Webrtc格式,,需要經(jīng)過兩次轉(zhuǎn)換來完成,。在視頻轉(zhuǎn)碼的設(shè)計(jì)部分,由兩個(gè)節(jié)點(diǎn)完成,,首先通過FFMEPG組件在自研任務(wù)調(diào)度組件的支配下,,以規(guī)則將視頻流獲取模塊傳輸來各路的RTSP格式的視頻流,轉(zhuǎn)換成對(duì)應(yīng)RTMP格式的流,,然后將RTMP格式的流通過SRS 組件,,根據(jù)調(diào)度任務(wù)規(guī)則,轉(zhuǎn)換成對(duì)應(yīng)的Webrtc格式的流,。轉(zhuǎn)換流程如圖2所示,。

圖2 視頻轉(zhuǎn)碼流程圖

3.3 視頻加密

為了保護(hù)隱私安全,系統(tǒng)采用本文1.2 節(jié)描述的加密算法,,對(duì)準(zhǔn)備上云傳輸?shù)囊曨l流數(shù)據(jù)包進(jìn)行加密,。采用密鑰為0x424E4C49,以視頻轉(zhuǎn)碼節(jié)段生成的各路webrtc數(shù)據(jù)包為單位進(jìn)行加密,,各數(shù)據(jù)報(bào)內(nèi)以4 個(gè)字節(jié)1 組同加密密鑰按加密算法進(jìn)行加密,。各單位待傳輸數(shù)據(jù)包加密完成后,,在每個(gè)數(shù)據(jù)包的第28 至第40 字節(jié)插入干擾串{{ 0x45, 0X4C, 0x45, 0X4B, 0X54, 0X52,0X4F, 0X4E, 0X49,0X4B, 0X45, 0X52 },從而完成各個(gè)數(shù)據(jù)包的加密工作,,準(zhǔn)備進(jìn)入視頻上云分發(fā)階段,。

3.4 視頻上云

視頻上云模塊主要根據(jù)播放端的請(qǐng)求,將經(jīng)過加密的數(shù)據(jù)包對(duì)應(yīng)傳輸給指定的鏈接,,同時(shí)用多個(gè)線程來維護(hù)鏈接的數(shù)據(jù),,確保經(jīng)過加密的數(shù)據(jù)包準(zhǔn)確有序地上傳。

3.5 視頻監(jiān)控云服務(wù)平臺(tái)

服務(wù)平臺(tái)負(fù)責(zé)響應(yīng)前端播放器的碼流播放請(qǐng)求,,根據(jù)請(qǐng)求碼流來分配播放地址,,這里就分兩種情況:一種是已經(jīng)有別的播放終端請(qǐng)求過統(tǒng)一碼流的播放,則直接將現(xiàn)有播放連接分發(fā)給新的請(qǐng)求終端,;另外一種是全新的播放請(qǐng)求,,則需要向前端請(qǐng)求對(duì)應(yīng)的碼流,建立視頻流獲取,、轉(zhuǎn)碼,、加密的數(shù)據(jù)通路,并將對(duì)應(yīng)的數(shù)據(jù)獲取地址下方給播放器端,。

視頻云平臺(tái)服務(wù)器還負(fù)責(zé)維護(hù)當(dāng)前所有的播放鏈接,,針對(duì)每條播放鏈接進(jìn)行權(quán)重賦值,增加一個(gè)播放請(qǐng)求加1,,減少一個(gè)播放請(qǐng)求則減1。如果在2 min 內(nèi)無持續(xù)的播放請(qǐng)求,,則釋放該條轉(zhuǎn)碼上傳連接,,待下次有需求后重新建立鏈接。

由于視頻建立鏈接有時(shí)間及資源的消耗,,為了前端用戶更好的體驗(yàn),,系統(tǒng)會(huì)根據(jù)前端用戶使用的情況做出是否提前啟動(dòng)轉(zhuǎn)碼鏈路的預(yù)測(cè),提前建立視頻流的轉(zhuǎn)碼上傳鏈路,,待用戶真的產(chǎn)生請(qǐng)求時(shí),,即可以完成秒速響應(yīng)。

視頻云端服務(wù)平臺(tái)的主要作用就是完成播放段與轉(zhuǎn)碼端的匹配,,并建立數(shù)據(jù)交換鏈路,,響應(yīng)終端用戶的需求,同時(shí)達(dá)到資源的優(yōu)化配置,,及時(shí)釋放無用的資源,。

3.6 視頻下載

視頻下載服務(wù)模塊,根據(jù)前端播放器的請(qǐng)求,,從視頻監(jiān)控云服務(wù)器獲取下載鏈接地址,,并建立下載進(jìn)程,,將對(duì)應(yīng)的數(shù)據(jù)下載到指定緩沖區(qū)。

3.7 視頻解碼播放

視頻數(shù)據(jù)已經(jīng)經(jīng)過加密,,如果直接丟給播放器,,則無法進(jìn)行播放,需要對(duì)稱執(zhí)行解密操作,。播放器從對(duì)應(yīng)的緩沖區(qū)獲取經(jīng)過加密的視頻流數(shù)據(jù),,交給解密模塊,解密模塊根據(jù)本文1.2 章節(jié)描述的解密算法,,首先嚴(yán)重干擾字段釋放正確一致,,然后對(duì)其余的數(shù)據(jù)按4 個(gè)字節(jié)一組,采用解密密鑰0x424E4C49 進(jìn)行解密,。解密完成的數(shù)據(jù)直接送給播放器進(jìn)行播放,。從而完成整個(gè)解密播放的流程。

4   系統(tǒng)運(yùn)行效果

系統(tǒng)上線部署后,,轉(zhuǎn)碼,、加解密、播放各模塊無縫配合,,運(yùn)行流暢,。每路視頻僅需要128 kbit/s 的網(wǎng)絡(luò)帶寬,20M的帶寬即可支持200 路園區(qū)本地監(jiān)控視頻同時(shí)遠(yuǎn)程調(diào)取的需求,。圖3 為小程序端遠(yuǎn)程調(diào)閱的運(yùn)行效果,,視頻從請(qǐng)求到播放時(shí)間1.5 s,運(yùn)行流暢,,畫面清晰,。

圖3 小程序園區(qū)監(jiān)控運(yùn)行效果

5   結(jié)束語

基于加密算法的園區(qū)視頻監(jiān)控上云系統(tǒng),給智慧園區(qū)本地視頻監(jiān)控遠(yuǎn)程實(shí)時(shí)調(diào)閱提供了技術(shù)手段,,在保障遠(yuǎn)程視頻監(jiān)控及時(shí)高效的同時(shí),,還給數(shù)據(jù)安全增加了一套屏障。具備良好的商業(yè)價(jià)值和廣泛的推廣意義,,有了這套系統(tǒng),,再配合其他可量化的指標(biāo)預(yù)警系統(tǒng),即可讓管理方有效掌握生成經(jīng)營的狀況,,第一時(shí)間處理各種應(yīng)急事件,,有效促進(jìn)園區(qū)數(shù)值轉(zhuǎn)型升級(jí)。

參考文獻(xiàn):

[1] 吳張順,張珣.基于FFMPEG的視頻編碼存儲(chǔ)研究與實(shí)現(xiàn)[J].杭州電子科技大學(xué)學(xué)報(bào),2006(3) :30-34.

[2] 胡成任,平安,李文莉.基于Android系統(tǒng)的FF MPEG多媒體同步傳輸算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2011,21(10):85-91.

[3] 胡國強(qiáng),周兆永,信朝霞.基于SRS的開源直播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(16):36-43.

(本文來源于《電子產(chǎn)品世界》雜志2023年2月期)



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。