本發(fā)明涉及通信領域,具體涉及一種物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)及方法。
背景技術:
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,視頻、音頻等多媒體通信技術有著巨大的需求。物聯(lián)網(wǎng)被視為世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮,其支持遠程視頻通信的功能顯得更加迫切。視頻傳感器和流媒體信息傳輸正是物聯(lián)網(wǎng)的一個重要屬性。在網(wǎng)絡上,視頻、音頻等多媒體信息傳輸有兩種方式,Http或Ftp下載和流式傳輸。下載傳輸必須等全部內(nèi)容下載完成后,才能在本地播放;而流式傳輸,視頻服務器向客戶請求端連續(xù)實時地傳送多媒體信息,用戶不必等到整個文件全部下載完畢,只需經(jīng)過幾秒或十幾秒的啟動延時即可進行觀看。
技術實現(xiàn)要素:
為了克服上述現(xiàn)有技術中的不足,本發(fā)明的目的在于,提供一種物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng),包括:視頻采集層、物聯(lián)網(wǎng)關層、網(wǎng)絡層和應用層;
視頻采集層包括設置在各個監(jiān)控區(qū)域的攝像頭;應用層包括:具有瀏覽器的終端;物聯(lián)網(wǎng)關層包括:網(wǎng)絡穿透子系統(tǒng)、攝像頭控制子系統(tǒng)和Web服務器;所述物聯(lián)網(wǎng)關層用于實現(xiàn)視頻訪問控制功能,通過在物聯(lián)網(wǎng)關上構建基于Web的視頻流媒體Web服務器,達到視頻圖像的采集、壓縮、傳輸、解壓和瀏覽的目的,使客戶端通過Web服務器訪問攝像頭;網(wǎng)絡層用于使視頻采集層、物聯(lián)網(wǎng)關層和應用層之間數(shù)據(jù)傳輸;
Web服務器包括:攝像頭數(shù)據(jù)庫;
攝像頭數(shù)據(jù)庫用于儲存攝像頭信息和錄制參數(shù)信息;攝像頭信息包括:攝像頭編號,攝像頭名稱,IP地址,端口號,用戶名,密碼,運行狀態(tài),視頻清晰度信息,視頻聲音信息;
錄制參數(shù)信息包括:定時ID,攝像頭編號,錄制開始時間,錄制時間間隔,錄制持續(xù)時間,錄制定時狀態(tài)。
優(yōu)選地,Web服務器還包括:攝像頭信息查詢模塊;
攝像頭信息查詢模塊用于使用戶通過終端的瀏覽器調取攝像頭信息,并獲取攝像頭攝取的視頻信息;攝像頭信息查詢模塊采用格式為:
{"cameras":[{"nums":[num]},{"NO":"[NO]","name":"[name]"},…]},調取攝像頭信息。
優(yōu)選地,終端瀏覽器包括:視頻截圖執(zhí)行模塊;
Web服務器還包括:視頻截圖模塊、數(shù)據(jù)庫;
視頻截圖執(zhí)行模塊用于使用戶通過終端瀏覽器向Web服務器發(fā)出對攝像頭攝取視頻圖像的截圖指令;
所述視頻截圖模塊用于接收視頻截圖執(zhí)行模塊發(fā)出的截圖指令,并執(zhí)行抓取圖像信息;還用于實時抓取攝像頭攝取的圖像信息,并將圖像信息保存到數(shù)據(jù)庫內(nèi),當用戶通過請求訪問數(shù)據(jù)庫的圖像信息時,Web服務器根據(jù)請求訪問的圖像信息和查詢地址對應的圖像,調取圖像信息,并且,視頻截圖模塊具有定時截圖和上傳圖片信息到數(shù)據(jù)服務器的功能。
優(yōu)選地,攝像頭控制子系統(tǒng)包括:云臺控制模塊;
終端瀏覽器還包括:攝像頭控制模塊;
所述攝像頭控制模塊用于使用戶向云臺控制模塊發(fā)送攝像頭動作指令,控制攝像頭水平旋轉,垂直轉動和改變焦距;
所述云臺控制模塊采用ONVIF協(xié)議,以及采用SOAP協(xié)議使攝像頭控制子系統(tǒng)與終端的數(shù)據(jù)交互,接收攝像頭動作指令,執(zhí)行控制攝像頭水平旋轉,垂直轉動和改變焦距。
優(yōu)選地,Web服務器還包括:視頻格式轉換模塊;
所述視頻格式轉換模塊用于將攝像頭攝取的視頻文件轉換為mp4格式的視頻文件。
優(yōu)選地,Web服務器還包括:攝像頭增刪改查模塊;
攝像頭增刪改查模塊用于在Web服務器上增加或刪除監(jiān)控區(qū)域內(nèi)的攝像頭。
一種物聯(lián)網(wǎng)視頻監(jiān)控方法,方法包括,
用戶通過終端的瀏覽器登錄Web服務器,并通過輸入用戶名,密碼,攝像頭編號,攝像頭名稱,IP地址,端口號找到需要查找的攝像頭;
進入視頻觀看頁面后,向Web服務器請求開啟對所述攝像頭攝取的視頻進行轉碼;
服務器在收到請求后,查詢所述攝像頭狀態(tài)是否已經(jīng)開啟,且是否在預設的時間內(nèi)進行將視頻信息進行轉碼;
如果所述攝像頭已經(jīng)開啟且在預設的時間內(nèi)進行將視頻信息進行轉碼時,則返回Success信息;
如果沒有所述攝像頭未開啟,則開啟所述攝像頭,運行攝像頭轉碼程序,查詢在預設的時間內(nèi)是否返回轉碼信息;
如果在預設的時間沒有正常返回轉碼信息,則返回error信息;
如果正常返回轉碼信息,則開啟監(jiān)聽線程并返回Success信息;
在監(jiān)聽線程中每隔100條返回信息查詢一下攝像頭攝取信息是否超時,如果未超時則繼續(xù)監(jiān)聽,如果已經(jīng)超時則關閉轉碼程序,修改所述攝像機狀態(tài)信息為初始值,并結束程序。
優(yōu)選地,用戶通過終端的瀏覽器登錄Web服務器,發(fā)送增添攝像頭請求信息;
Web服務器接收到增添攝像頭請求信息,解析出增添配置界面?zhèn)鱽淼臄z像頭參數(shù),并返回Success的應答;攝像頭參數(shù)包括:攝像頭編號,攝像頭名稱,IP地址,端口號,用戶名,密碼,運行狀態(tài),視頻清晰度信息,視頻聲音信息;
Web服務器將增添攝像頭的信息保存至數(shù)據(jù)庫中,構建啟動FFMpeg視頻和音頻推流器的命令文件,包括linux下的shell命令、進入和調用FFMpeg庫命令、配置Rtsp命令流等,并將這些文件保存到本地;
當用戶通過終端的瀏覽器登錄Web服務器刪除攝像頭時,直接刪除啟動FFMpeg命令信息以及刪除數(shù)據(jù)庫中保存的配置信息。
優(yōu)選地,用戶通過終端的瀏覽器登錄物聯(lián)網(wǎng)關層,向攝像頭控制子系統(tǒng)發(fā)送攝像頭動作指令,position_pantilt_x為水平方向調節(jié)控制指令,position_pantilt_y為豎直方向調節(jié)控制指令,zoom為變焦調節(jié)控制指令;
終端的瀏覽器通過物聯(lián)網(wǎng)關層的device_uri接口,調用攝像頭控制指令,獲取待調用攝像頭的地址ptz_uri以及視頻服務地址media_uri;ptz_uri是攝像頭控制子系統(tǒng)提供攝像頭操作的服務入口地址,media uri是Web服務器提供視頻服務入口地址;
攝像頭控制子系統(tǒng)根據(jù)調用攝像頭控制指令,構造請求攝像頭的動作指令數(shù)據(jù)包以及視頻數(shù)據(jù)包,動作指令數(shù)據(jù)包包括橫向移動量、縱向移動量、放大縮小值;并將動作指令數(shù)據(jù)包以及視頻數(shù)據(jù)包發(fā)送至云臺控制,實現(xiàn)對攝像頭的動作控制。
從以上技術方案可以看出,本發(fā)明具有以下優(yōu)點:
實現(xiàn)了物聯(lián)網(wǎng)多媒體視頻信息移動訪問和控制。本系統(tǒng)擴展了原有視頻系統(tǒng)訪問控制范圍;移動端無需下載客戶端,通過瀏覽器就可以直接訪問;同時,方便二次應用開發(fā),解除訪問平臺限制,服務端升級更新,保證系統(tǒng)安全,達到實時更新目的。
附圖說明
為了更清楚地說明本發(fā)明的技術方案,下面將對描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)的整體示意圖;
圖2為物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)框架圖;
圖3為數(shù)據(jù)流及云臺控制示意圖;
圖4為攝像頭增減示意圖;
圖5為物聯(lián)網(wǎng)視頻監(jiān)控方法流程圖;
圖6為攝像頭控制方式流程圖。
具體實施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將運用具體的實施例及附圖,對本發(fā)明保護的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部的實施例?;诒緦@械膶嵤├?,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本專利保護的范圍。
本實施例提供一種物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng),如圖1、圖2、圖3、圖4所示,包括:視頻采集層3、物聯(lián)網(wǎng)關層1、網(wǎng)絡層2和應用層4;
視頻采集層3包括設置在各個監(jiān)控區(qū)域的攝像頭8;應用層4包括:具有瀏覽器11的終端10;物聯(lián)網(wǎng)關層1包括:網(wǎng)絡穿透子系統(tǒng)6、攝像頭控制子系統(tǒng)7和Web服務器5;所述物聯(lián)網(wǎng)關層1用于實現(xiàn)視頻訪問控制功能,通過在物聯(lián)網(wǎng)關上構建基于Web的視頻流媒體Web服務器5,達到視頻圖像的采集、壓縮、傳輸、解壓和瀏覽的目的,使客戶端通過Web服務器5訪問攝像頭8;網(wǎng)絡層2用于使視頻采集層3、物聯(lián)網(wǎng)關層1和應用層4之間數(shù)據(jù)傳輸;
Web服務器5包括:攝像頭數(shù)據(jù)庫;攝像頭數(shù)據(jù)庫用于儲存攝像頭信息和錄制參數(shù)信息;攝像頭信息包括:攝像頭編號,攝像頭名稱,IP地址,端口號,用戶名,密碼,運行狀態(tài),視頻清晰度信息,視頻聲音信息;錄制參數(shù)信息包括:定時ID,攝像頭編號,錄制開始時間,錄制時間間隔,錄制持續(xù)時間,錄制定時狀態(tài)。
終端可以為智能手機,PC機,一體機等等。
本實施例中,Web服務器5還包括:攝像頭信息查詢模塊;攝像頭信息查詢模塊為了便于用戶通過Web服務器5查詢攝像頭信息。具體的,用戶通過終端的瀏覽器調取攝像頭信息,并獲取攝像頭攝取的視頻信息;攝像頭信息查詢模塊采用格式為:
{"cameras":[{"nums":[num]},{"NO":"[NO]","name":"[name]"},…]},調取攝像頭信息。例如:{"cameras":[{"nums":1},{"NO":"2","name":"陽臺"}]}。使用:data.cameras[1].name等價于陽臺。
本實施例中,終端瀏覽器11包括:視頻截圖執(zhí)行模塊;Web服務器5還包括:視頻截圖模塊、數(shù)據(jù)庫;視頻截圖執(zhí)行模塊用于使用戶通過終端瀏覽器向Web服務器發(fā)出對攝像頭攝取視頻圖像的截圖指令;視頻截圖模塊用于接收視頻截圖執(zhí)行模塊發(fā)出的截圖指令,并執(zhí)行抓取圖像信息;還用于實時抓取攝像頭攝取的圖像信息,并將圖像信息保存到數(shù)據(jù)庫內(nèi),當用戶通過請求訪問數(shù)據(jù)庫的圖像信息時,Web服務器根據(jù)請求訪問的圖像信息和查詢地址對應的圖像,調取圖像信息,并且,視頻截圖模塊具有定時截圖和上傳圖片信息到數(shù)據(jù)服務器的功能。數(shù)據(jù)服務器設置在物聯(lián)網(wǎng)關層。所述截圖功能可以實時抓取攝像頭信息,并將圖片信息保存到本地物聯(lián)網(wǎng)關數(shù)據(jù)庫上。當用戶通過請求訪問圖片時,Web嵌入式服務器子系統(tǒng)根據(jù)添加的視頻ID和地址查詢對應的圖片。并且,該物聯(lián)網(wǎng)關具有定時截圖和上傳圖片信息到數(shù)據(jù)服務器的功能,例如:方便根據(jù)圖片進行病蟲害分析等。
本實施例中,攝像頭控制子系統(tǒng)7包括:云臺控制模塊;終端瀏覽器11還包括:攝像頭控制模塊;所述攝像頭控制模塊用于使用戶向云臺控制模塊發(fā)送攝像頭動作指令,控制攝像頭水平旋轉,垂直轉動和改變焦距;所述云臺控制模塊采用ONVIF協(xié)議,以及采用SOAP協(xié)議使攝像頭控制子系統(tǒng)與終端的數(shù)據(jù)交互,接收攝像頭動作指令,執(zhí)行控制攝像頭水平旋轉,垂直轉動和改變焦距。
所述云臺控制采用ONVIF協(xié)議控制,ONVIF協(xié)議采用的網(wǎng)絡視頻框架協(xié)議,使不同廠商所生產(chǎn)的網(wǎng)絡視頻產(chǎn)品(包括攝錄前端、錄像設備等)完全互通,實現(xiàn)不同廠商設備控制。控制部分采用Web Services的形式,使服務端與客戶端的數(shù)據(jù)交互采用SOAP協(xié)議在Web上傳輸數(shù)據(jù)。攝像頭的運動方式必須與三種類型的空間坐標系保持一致,即不同的運動類型對應著不同的空間坐標系。
本實施例中,Web服務器5還包括:視頻格式轉換模塊;所述視頻格式轉換模塊用于將攝像頭攝取的視頻文件轉換為mp4格式的視頻文件。攝像頭監(jiān)控模式:Web服務器同時提供了攝像頭的觀看功能。由于攝像頭視頻不能在瀏覽器中直接觀看,同時瀏覽器不支持直接播放Rtsp格式的視頻,因此要進行相應的視頻轉碼。用戶首先通過瀏覽器向服務器請求觀看視頻的請求,網(wǎng)關服務器接到觀看視頻的請求后運行腳本命令通過FFMpeg將rtsp格式的攝像頭視頻流轉換為m3u8格式,并推流到Nginx服務器上。然后就可以通過Html5的video標簽訪問Nginx服務器上m3u8格式的攝像頭視頻。
本實施例中,Web服務器5還包括:攝像頭增刪改查模塊;攝像頭增刪改查模塊用于在Web服務器上增加或刪除監(jiān)控區(qū)域內(nèi)的攝像頭。
本發(fā)明還提供一種物聯(lián)網(wǎng)視頻監(jiān)控方法,如圖5所示,方法包括,
用戶通過終端的瀏覽器登錄Web服務器,并通過輸入用戶名,密碼,攝像頭編號,攝像頭名稱,IP地址,端口號找到需要查找的攝像頭;
進入視頻觀看頁面后,向Web服務器請求開啟對所述攝像頭攝取的視頻進行轉碼;
服務器在收到請求后,查詢所述攝像頭狀態(tài)是否已經(jīng)開啟,且是否在預設的時間內(nèi)進行將視頻信息進行轉碼;
如果所述攝像頭已經(jīng)開啟且在預設的時間內(nèi)進行將視頻信息進行轉碼時,則返回Success信息;
如果沒有所述攝像頭未開啟,則開啟所述攝像頭,運行攝像頭轉碼程序,查詢在預設的時間內(nèi)是否返回轉碼信息;
如果在預設的時間沒有正常返回轉碼信息,則返回error信息;
如果正常返回轉碼信息,則開啟監(jiān)聽線程并返回Success信息;
在監(jiān)聽線程中每隔100條返回信息查詢一下攝像頭攝取信息是否超時,如果未超時則繼續(xù)監(jiān)聽,如果已經(jīng)超時則關閉轉碼程序,修改所述攝像機狀態(tài)信息為初始值,并結束程序。
具體的,
S1:用戶通過終端的瀏覽器登錄Web服務器,并通過輸入用戶名,密碼,攝像頭編號,攝像頭名稱,IP地址,端口號找到需要查找的攝像頭;
S2:進入視頻觀看頁面后,向Web服務器請求開啟對所述攝像頭攝取的視頻進行轉碼;
S3:服務器在收到請求后,查詢所述攝像頭狀態(tài)是否已經(jīng)開啟;
S4:是否在預設的時間內(nèi)進行將視頻信息進行轉碼;
S5:如果所述攝像頭已經(jīng)開啟且在預設的時間內(nèi)進行將視頻信息進行轉碼時,則返回Success信息;
S6:在監(jiān)聽線程中每隔100條返回信息查詢一下攝像頭攝取信息是否超時,如果未超時則繼續(xù)監(jiān)聽,如果已經(jīng)超時則關閉轉碼程序,修改所述攝像機狀態(tài)信息為初始值,并結束程序。
S7:如果沒有所述攝像頭未開啟,則開啟所述攝像頭,運行攝像頭轉碼程序,查詢在預設的時間內(nèi)是否返回轉碼信息;
S8:如果在預設的時間沒有正常返回轉碼信息,則返回error信息;
S9:如果正常返回轉碼信息,則開啟監(jiān)聽線程并返回Success信息,并且在監(jiān)聽線程中每隔100條返回信息查詢一下攝像頭攝取信息是否超時,如果未超時則繼續(xù)監(jiān)聽,如果已經(jīng)超時則關閉轉碼程序,修改所述攝像機狀態(tài)信息為初始值,并結束程序。
方法還包括,用戶通過終端的瀏覽器登錄Web服務器,發(fā)送增添攝像頭請求信息;
Web服務器接收到增添攝像頭請求信息,解析出增添配置界面?zhèn)鱽淼臄z像頭參數(shù),并返回Success的應答;攝像頭參數(shù)包括:攝像頭編號,攝像頭名稱,IP地址,端口號,用戶名,密碼,運行狀態(tài),視頻清晰度信息,視頻聲音信息;
Web服務器將增添攝像頭的信息保存至數(shù)據(jù)庫中,構建啟動FFMpeg視頻和音頻推流器的命令文件,包括linux下的shell命令、進入和調用FFMpeg庫命令、配置Rtsp命令流等,并將這些文件保存到本地;
當用戶通過終端的瀏覽器登錄Web服務器刪除攝像頭時,直接刪除啟動FFMpeg命令信息以及刪除數(shù)據(jù)庫中保存的配置信息。
這樣實現(xiàn)了對視頻采集層中攝像頭增加或刪除的管理,并能夠對攝像頭增加或刪除進行實時跟蹤管理。
方法還包括,如圖6所示,本方法為使用戶通過終端的瀏覽器登錄物聯(lián)網(wǎng)關層,控制攝像頭動作,使用戶在瀏覽器上完成對攝像頭的控制,達到拍攝要求。
S21:用戶通過終端的瀏覽器登錄物聯(lián)網(wǎng)關層,向攝像頭控制子系統(tǒng)發(fā)送攝像頭動作指令,position_pantilt_x為水平方向調節(jié)控制指令,position_pantilt_y為豎直方向調節(jié)控制指令,zoom為變焦調節(jié)控制指令;
S22:終端的瀏覽器通過物聯(lián)網(wǎng)關層的device_uri接口,調用攝像頭控制指令,獲取待調用攝像頭的地址ptz_uri以及視頻服務地址media_uri;ptz_uri是攝像頭控制子系統(tǒng)提供攝像頭操作的服務入口地址,media uri是Web服務器提供視頻服務入口地址;
S23:攝像頭控制子系統(tǒng)根據(jù)調用攝像頭控制指令,構造請求攝像頭的動作指令數(shù)據(jù)包以及視頻數(shù)據(jù)包,動作指令數(shù)據(jù)包包括橫向移動量、縱向移動量、放大縮小值;并將動作指令數(shù)據(jù)包以及視頻數(shù)據(jù)包發(fā)送至云臺控制,實現(xiàn)對攝像頭的動作控制。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參考即可。
對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。