《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 基于加密算法的智慧園區視頻監控上云系統設計

基于加密算法的智慧園區視頻監控上云系統設計

2023-02-22
來源:電子產品世界

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

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

在園區部署視頻監控設備上云的系統,即可以實現遠程監控的需求,通過園區本地部署的NVR 設備獲取前端的實時碼流,經轉碼、加密、上云發布等流程,完成視頻流上云的過程,在經過應用端的下載、解碼、播放等,完成園區視頻監控的遠程實時查看。

1   視頻監控上云技術

視頻監控上云,如要確保視頻內容安全,需要本地視頻流經過轉碼,然后通過加密算法對視頻內容進行加密,然后再上云傳輸,前端應用下載解密后,即可進行播放,完成遠程監控的目的。

1.1 視頻轉碼技術

FF MPEG是個開源跨平臺多媒體數據解決方案[1-2],具備強大的編碼、解碼、轉碼能力, 支持HTTP、RTSP、RTMP 等多種協議,并且支持不同協議視頻格式的轉碼,比如RTSP 轉成RTMP 或HLS 等格式。

開源RTMP 架構SRS 結合開源編解碼庫FF MPEG可以實現視頻直播播放[3],本系統的遠程視頻監控功能類似直播平臺,可以實現一次轉碼分發,多終端同時觀看的效果。

1.2 視頻加解密算法

本系統為了確保視頻監控的安全,在編解碼節點增加了加解密算法。算法在數據塊的第28~40 字節增加干擾數據串,其余數據通過簡單4 個字節1 組,同一4 個字節的密鑰進行異或操作,實現視頻數據的加解密。下面就分別就加解密算法進行描述。

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];// 預留12 個字節

// 增加的干擾數據,示例

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

// 初始化標兵指向數據第一個元素

int i = 0;

//加密流程

while (i + 4 < videoBytes.Length)

{

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

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; // 處理下后續四個字節

}

/ / 將12 個字節的干擾數據并入視頻流數據塊的

第28 到第40 個字節

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;// 返回最終處理完的數據

}

2)解密算法

直接跳過第28 到第40 個字節,其余的數據按照四個字節一組同密鑰進行異或操作復原數據。

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

byte[] DcryptedVideoBytes = new byte[(_

videoBytes.Length)];

int i = 0, k = 0 ;

// 解密流程

while (i + 4 < _videoBytes.Length)

{

// 跳過第28 到第40 個字節的數據,其余數據按4個字節一組同密鑰進行異或操作

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;// 處理后續4 個字節

}

return DcryptedVideoBytes;// 返回解密后的數據

}

2   監控上云整體方案

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

圖1 基于加密的智慧園區視頻監控遠程監控系統架構圖

3   系統關鍵模塊

系統各關鍵模塊密切配合,圍繞視頻流數據的安全可靠處理加工及傳輸等,完成園區視頻監控上云及遠程監控的目標。下面將分布介紹各個模塊內容。

3.1 監控視頻流獲取

園區的視頻監控設備都匯集到監控指揮中心,可以通過NVR獲取其實時的視頻監控流。監控攝像機都支持輸出多個碼流,主碼流以及子碼流,碼流的編碼格式式包括H.264、H.265 等,可通過RTSP 協議獲取其視頻流。系統首先獲取所有視頻監控設備的列表明細,然后在配置頁面,選取眾多攝像機中需要上云的設備,配置其碼流地址、編碼格式、賬號及密碼等信息。

鑒于視頻流同時抓取需要消耗大量的計算資源及網絡帶寬,該系統視頻流抓取部分,平時在“待機”狀態,有前端系統請求的時候,才會啟動視頻流抓取的模塊,根據預先設定的碼流配置信息,將前端實時碼流通過NVR傳輸到視頻轉碼平臺。系統平臺支撐多路視頻流數據同時抓取。

3.2 視頻轉碼

本系統要支持多種播放終端上進行遠程查看,包括PC網頁、微信小程序以及移動APP等,需選取一個更加通用的協議作為傳輸標準,所以選擇了更為通用的Webrtc格式流。原始的視頻流各位RTSP標準,要轉換成Webrtc格式,需要經過兩次轉換來完成。在視頻轉碼的設計部分,由兩個節點完成,首先通過FFMEPG組件在自研任務調度組件的支配下,以規則將視頻流獲取模塊傳輸來各路的RTSP格式的視頻流,轉換成對應RTMP格式的流,然后將RTMP格式的流通過SRS 組件,根據調度任務規則,轉換成對應的Webrtc格式的流。轉換流程如圖2所示。

圖2 視頻轉碼流程圖

3.3 視頻加密

為了保護隱私安全,系統采用本文1.2 節描述的加密算法,對準備上云傳輸的視頻流數據包進行加密。采用密鑰為0x424E4C49,以視頻轉碼節段生成的各路webrtc數據包為單位進行加密,各數據報內以4 個字節1 組同加密密鑰按加密算法進行加密。各單位待傳輸數據包加密完成后,在每個數據包的第28 至第40 字節插入干擾串{{ 0x45, 0X4C, 0x45, 0X4B, 0X54, 0X52,0X4F, 0X4E, 0X49,0X4B, 0X45, 0X52 },從而完成各個數據包的加密工作,準備進入視頻上云分發階段。

3.4 視頻上云

視頻上云模塊主要根據播放端的請求,將經過加密的數據包對應傳輸給指定的鏈接,同時用多個線程來維護鏈接的數據,確保經過加密的數據包準確有序地上傳。

3.5 視頻監控云服務平臺

服務平臺負責響應前端播放器的碼流播放請求,根據請求碼流來分配播放地址,這里就分兩種情況:一種是已經有別的播放終端請求過統一碼流的播放,則直接將現有播放連接分發給新的請求終端;另外一種是全新的播放請求,則需要向前端請求對應的碼流,建立視頻流獲取、轉碼、加密的數據通路,并將對應的數據獲取地址下方給播放器端。

視頻云平臺服務器還負責維護當前所有的播放鏈接,針對每條播放鏈接進行權重賦值,增加一個播放請求加1,減少一個播放請求則減1。如果在2 min 內無持續的播放請求,則釋放該條轉碼上傳連接,待下次有需求后重新建立鏈接。

由于視頻建立鏈接有時間及資源的消耗,為了前端用戶更好的體驗,系統會根據前端用戶使用的情況做出是否提前啟動轉碼鏈路的預測,提前建立視頻流的轉碼上傳鏈路,待用戶真的產生請求時,即可以完成秒速響應。

視頻云端服務平臺的主要作用就是完成播放段與轉碼端的匹配,并建立數據交換鏈路,響應終端用戶的需求,同時達到資源的優化配置,及時釋放無用的資源。

3.6 視頻下載

視頻下載服務模塊,根據前端播放器的請求,從視頻監控云服務器獲取下載鏈接地址,并建立下載進程,將對應的數據下載到指定緩沖區。

3.7 視頻解碼播放

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

4   系統運行效果

系統上線部署后,轉碼、加解密、播放各模塊無縫配合,運行流暢。每路視頻僅需要128 kbit/s 的網絡帶寬,20M的帶寬即可支持200 路園區本地監控視頻同時遠程調取的需求。圖3 為小程序端遠程調閱的運行效果,視頻從請求到播放時間1.5 s,運行流暢,畫面清晰。

圖3 小程序園區監控運行效果

5   結束語

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

參考文獻:

[1] 吳張順,張珣.基于FFMPEG的視頻編碼存儲研究與實現[J].杭州電子科技大學學報,2006(3) :30-34.

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

[3] 胡國強,周兆永,信朝霞.基于SRS的開源直播系統的設計與實現[J].現代電子技術,2016,39(16):36-43.

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



更多信息可以來這里獲取==>>電子技術應用-AET<<

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 春意影院午夜爽爽爽免费 | 精品国产无限资源免费观看 | 国产九九免费视频网站 | 欧美日韩国| 欧美视频亚洲 | 国产成人一区二区在线不卡 | 日韩大片免费观看 | 久 在线播放 | 国产黄色片视频 | 中文字幕在线乱人伦 | 国产综合成人观看在线 | 欧美成视频无需播放器 | 国产精品高清一区二区三区 | 免费看黄网站在线 | 欧美中文字幕一区 | 国产第一亚洲 | 日韩欧美亚洲 | 最新日本中文字幕 | 国产一区在线免费观看 | 国产精品天天看 | 丝袜美女在线观看 | 欧美黄色片在线播放 | 福利在线网站 | 欧美在线视频免费看 | 日本免费观看95视频网站 | xh98hx国产在线视频 | 免费成人一级片 | 亚洲国产一成人久久精品 | 成年性视频bbixx | 国产日韩高清一区二区三区 | 中国videos18高清hd | 日本三级做a全过程在线观看 | 五月婷婷在线视频观看 | 欧美日韩国产中文字幕 | 男女一级毛片免费播放 | 97色女| 日韩欧美综合在线 | 欧美精品二区 | 国产免费一区二区 | 欧美经典成人在观看线视频 | 一级黄色大毛片 |