亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng)的制作方法

文檔序號:10691120閱讀:1465來源:國知局
一種基于海康設備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng),本發(fā)明的核心為:(1)一個DVR/NVR設備可連接多個視頻采集設備,連接采用DVR/NVR支持的協(xié)議如rtsp或onvif等;(2)一個服務器端可連接多個DVR/NVR設備,連接采用rtsp、tcp、onvif協(xié)議等;(3)一個服務器端可被多個客戶端訪問,一個客戶端可訪問多個服務器端,服務器端和客戶端采用tcp通信協(xié)議;(4)客戶端通過服務器和DVR/NVR云控視頻采集設備;(5)服務器端和客戶端各自采用雙線程方法進行異步數(shù)據(jù)發(fā)送與接收,并采用雙向環(huán)形鏈表進行數(shù)據(jù)緩沖以便實現(xiàn)收發(fā)實時控制;(6)通過簡單拋棄過時歷史視頻數(shù)據(jù)以保證網(wǎng)速、視頻采集設備視頻流、播放速度相匹配問題從而保證實時性能。
【專利說明】
一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng)
技術領域
[0001]本發(fā)明涉及實時流媒體視頻轉(zhuǎn)發(fā)與控制,具體是一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng),屬于視頻監(jiān)控與流媒體轉(zhuǎn)發(fā)系統(tǒng)應用軟件領域。
【背景技術】
[0002]流媒體是指在網(wǎng)絡上以流式傳輸方式傳送的視頻數(shù)據(jù),傳輸?shù)囊曨l數(shù)據(jù)采用編碼壓縮以便減少傳輸?shù)臄?shù)據(jù)量,目前編碼采用以H.264編碼標準為主進行壓縮,用戶通過解碼設備解碼壓縮的數(shù)據(jù)流即可瀏覽視頻。
[0003]實時流式傳輸是流媒體中的一種,主要是要保證傳輸?shù)牧髅襟w數(shù)據(jù)與網(wǎng)絡傳輸性能匹配,使用戶體驗實時性能為主旨,更強調(diào)實時性。實時流式傳輸需要專用的流媒體服務器端與傳輸協(xié)議,專用的流媒體服務器有QuickTime Streaming Server、Windows MediaServer等,但這些服務器的系統(tǒng)設置、管理和功能都非常復雜;專用的傳輸協(xié)議有RTSP(Realtime Streaming Protocol)??MMS(Microsoft Media Server)等。
[0004]流媒體實時傳輸與預覽的實現(xiàn)需要緩存技術,網(wǎng)絡傳輸以包傳輸為基礎進行斷續(xù)傳輸,其中TCP協(xié)議可保證包的順序可靠傳輸,對于連續(xù)的流媒體視頻數(shù)據(jù)流,簡單采用TCP協(xié)議即可保證其順序性。由于網(wǎng)絡是動態(tài)變化的,而采集得到的視頻流數(shù)據(jù)是連續(xù)的均速獲取的,必須保證二者的速度匹配已達到實時預覽效果。用戶云控視頻采集設備時,也需要實時反饋云控后的視頻圖像即要求云控的實時性能,這些需要在服務器端和客戶單采用緩存技術實現(xiàn)。
[0005]??礑VR/NVR設備是普遍應用于視頻監(jiān)控領域的硬件設備,能夠提升視頻處理技術和視頻分析技術,同時提供了二次開發(fā)SDK接口。但??刀伍_發(fā)SDK不包含流媒體轉(zhuǎn)發(fā)功能。本發(fā)明利用??礑VR/NVR及其SDK接口,提出一種實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng),其中服務器端與客戶端采用TCP協(xié)議通訊,形成一套完整的、輕量級的流媒體轉(zhuǎn)發(fā)系統(tǒng)架構(gòu)。
[0006]本發(fā)明公開的是一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng),系統(tǒng)由??礑VR/NVR硬件設備、視頻采集設備、服務器端和客戶端組成,利用??礑VR/NVR二次開發(fā)SDK接口及網(wǎng)絡可靠的TCP傳輸協(xié)議構(gòu)建各硬件設備間的連接通訊,主要框架為:(I) 一個DVR/NVR設備可連接多個視頻采集設備,連接采用DVR/NVR支持的協(xié)議如rtsp或onvif等;
(2)一個服務器端可連接多個DVR/NVR設備,連接采用rtsp、tcp、onvif協(xié)議等;(3) —個服務器端可被多個客戶端訪問,一個客戶端可訪問多個服務器端,服務器端和客戶端采用tcp通信協(xié)議;(4)客戶端通過服務器和DVR/NVR云控視頻采集設備;(5)服務器端和客戶端各自采用雙線程方法進行異步數(shù)據(jù)發(fā)送與接收,并采用雙向環(huán)形鏈表進行數(shù)據(jù)緩沖以便實現(xiàn)收發(fā)實時控制;(6)通過簡單拋棄過時歷史視頻數(shù)據(jù)以保證網(wǎng)速、視頻采集設備視頻流、播放速度相匹配問題從而保證實時性能。

【發(fā)明內(nèi)容】

[0007]本發(fā)明的目的是實現(xiàn)一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng),該系統(tǒng)包括客戶端和服務器端兩個獨立的軟件。服務器端軟件連接??礑VR/NVR設備獲取從視頻采集設備接入到DVR/NVR設備上的實時視頻流,并轉(zhuǎn)發(fā)給客戶端實時預覽;客戶端與服務器端通過TCP協(xié)議通訊,由服務器端實時云控連接到DVR/NVR上的視頻采集設備。
[0008]具體來說,本發(fā)明的方法包括下列內(nèi)容:
[0009]A.系統(tǒng)由多種不同類型硬件組成,各種硬件間可連接到局域網(wǎng)或者Internet網(wǎng)絡,具體如下:
[0010]Al.視頻采集設備,如網(wǎng)絡攝像機、網(wǎng)絡球機、槍球一體機、智能交通攝像機等,視頻采集設備是連續(xù)采集現(xiàn)場影像構(gòu)成視頻流數(shù)據(jù);
[0011 ] A2.??礑VR/NVR設備,包括??蹈鞣N型號的編解碼設備,該設備連接視頻采集設備,編碼壓縮視頻流;
[0012]所述的編解碼設備包括但不限于:DVR,NVR,HDVR,編碼器,解碼器;
[0013]所述的編碼壓縮視頻流包括但不限于H.264編碼標準;
[0014]A3.服務器端軟件,安裝運行在服務器計算機上,連接訪問DVR/NVR設備,獲取DVR/NVR設備上編碼壓縮后的視頻流,并根據(jù)客戶端需要轉(zhuǎn)發(fā)該視頻流;
[0015]A4.客戶端軟件,安裝運行在客戶端計算機上,連接訪問服務器端軟件,請求實時視頻、接收實時視頻流并播放實時視頻、發(fā)出云臺控制命令到服務器,控制視頻采集設備的旋轉(zhuǎn)與縮放;
[0016]B.客戶端請求實時視頻并預覽播放實時視頻,具體實現(xiàn)步驟如下:
[0017]B1.客戶端登錄服務器端,通過在客戶端軟件輸入用戶名、密碼和服務器IP地址,通過TCP協(xié)議發(fā)送信息給服務器端軟件;
[0018]B2.服務器端接收到客戶端登錄信息后,驗證用戶名和密碼,如果正確登錄,則通過TCP協(xié)議返回該客戶端有權限訪問的所有硬件設備列表,包括但不限于視頻采集設備、海康DVR/NVR設備;
[0019]B3.客戶端選擇要查看的視頻采集設備,通過TCP協(xié)議向服務器端請求實時視頻;
[0020]C.客戶端云控視頻采集設備,具體實現(xiàn)步驟是:
[0021 ] Cl.客戶端軟件正確登錄并顯示實時視頻;
[0022]C2.客戶端軟件通過TCP協(xié)議發(fā)送云控命令給服務器端軟件,云控命令包括但不限于操作視頻采集設備分別向8個方向(左、右、上、下,左上、右上、左下、右下)的轉(zhuǎn)動、縮放;
[0023]C3.服務器端發(fā)布云控命令給海康DVR/NVR設備,通過海康DVR/NVR設備云控視頻采集設備;
[0024]D.服務器端從DVR/NVR上獲取視頻視頻流并轉(zhuǎn)發(fā)給客戶端,具體實施步驟如下:
[0025]Dl.客戶端請求實時視頻,服務器端軟件檢查客戶端權限;如果客戶端無權限則返回不可訪問提示;如果客戶端有權限,則增加客戶端信息到該路視頻要轉(zhuǎn)發(fā)的客戶端列表中;
[0026]D2.如果客戶端有權限訪問實時視頻,服務器端軟件檢查該實時視頻流是否正在獲取狀態(tài)(可能有其他客戶端正在實時瀏覽該路實時視頻);如果服務器端沒有正在獲取該路視頻流,則服務器向??礑VR/NVR設備發(fā)送獲取該路實時視頻流請求;
[0027]D3.服務器端軟件轉(zhuǎn)發(fā)實時視頻流,遍歷該路視頻要轉(zhuǎn)發(fā)的客戶端,把獲取的壓縮后的視頻流轉(zhuǎn)發(fā)給客戶端;
[0028]D4.當客戶端停止實時視頻播放時,向服務器端發(fā)送停止視頻請求,服務器端軟件會從相應視頻通道的客戶端列表中刪除該客戶端;如果相應視頻通道客戶端列表空,則月艮務器端軟件向??礑VR/NVR設備發(fā)送停止視頻流的請求;
[0029]E.服務器端實現(xiàn)設備管理、用戶管理及日志管理;服務器端軟件使用數(shù)據(jù)庫管理軟件記錄這些信息,具體內(nèi)容如下:
[0030]El.DVR/NVR設備管理,服務器端首先需要對要操作的所有??礑VR/NVR設備做增加、刪除、修改,并列出服務器端能夠管理的所有??礑VR/NVR設備管理列表;
[0031]E2.視頻采集設備管理,服務器端需要對所有要操作的視頻采集設備做增加、刪除、修改,并列出服務器端能夠管理的所有視頻采集設備列表;
[0032]E3.用戶管理,服務器端需要對所有用戶做增加、刪除、修改,并列出所有客戶列表;
[0033]E4.日志管理,記錄客戶端的操作內(nèi)容;日志內(nèi)容包括但不限于客戶端登錄/退出、客戶端請求/停止視頻、客戶端云控視頻采集設備;
[0034]Ε5.所用數(shù)據(jù)庫管理軟件包括但不限于Access、Sql Server;
[0035]F.客戶端和服務器端實現(xiàn)系統(tǒng)實時性,具體實現(xiàn)步驟如下:
[0036]Fl.客戶端實時性通過緩沖區(qū)和雙線程實現(xiàn),具體實現(xiàn)步驟如下:
[0037]Fl.1客戶端軟件在運行開始啟動主線程同時,啟動子線程CT;
[0038]Fl.2客戶端軟件采用雙向環(huán)形鏈表CA,記錄從服務器端轉(zhuǎn)發(fā)過來的多路視頻流數(shù)據(jù)包,所有通道的視頻流數(shù)據(jù)包都在存入一個鏈表CA中,通過通道標志NodeID識別視頻流數(shù)據(jù)包歸屬哪路通道;
[0039]Fl.3客戶端子線程CT只用于播放實時視頻;
[0040]Fl.4子線程和主線程共用實時視頻流數(shù)據(jù)包鏈表,兩個線程通過線程鎖實現(xiàn)數(shù)據(jù)共孚;
[0041 ] Fl.5統(tǒng)計鏈表CA的視頻流包數(shù)量num;
[0042]Fl.6子線程播放視頻流的速度小于主線程接收視頻流速度時,num數(shù)值很大,當num大于給定閾值(如1000)時,貝Ij正向遍歷鏈表CA,直接丟棄鏈表CA中正向位于第η包(如η=100)到鏈表尾的未播放視頻流數(shù)據(jù)包;
[0043]F2.服務器端實時性通過緩沖區(qū)和和雙線程實現(xiàn),具體實現(xiàn)步驟如下:
[0044]F2.1服務器端軟件在運行開始啟動主線程同時,啟動子線程ST;
[0045]F2.2服務器軟件采用雙向環(huán)形鏈表SA記錄從??礑VR/NVR獲取的多路視頻流數(shù)據(jù)包,所有通道的視頻流數(shù)據(jù)包都在一個鏈表SA中,通過通道標志NodeID識別視頻流數(shù)據(jù)包歸屬哪路通道;
[0046]F2.3服務器端子線程ST只用于轉(zhuǎn)發(fā)視頻流數(shù)據(jù)包給客戶端;
[0047]F2.4子線程和主線程共用實時視頻流數(shù)據(jù)包鏈表,兩個線程通過線程鎖實現(xiàn)數(shù)據(jù)共孚;
[0048]F2.5統(tǒng)計鏈表SA的視頻流包數(shù)量num ;
[0049]F2.6子線程轉(zhuǎn)發(fā)實時視頻流數(shù)據(jù)包速度小于從??礑VR/NVR獲取視頻流的速度時,num值很大,當num大于給定閾值(如1000)時,則逆向遍歷鏈表SA,刪除鏈表SA中倒數(shù)第η包(如η = 100)到鏈表頭的所有未轉(zhuǎn)發(fā)視頻流數(shù)據(jù)包;
[0050]本發(fā)明公開一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法及系統(tǒng),系統(tǒng)由??礑VR/NVR硬件設備、視頻采集設備、服務器端軟件和客戶端軟件組成,利用??礑VR/NVR 二次開發(fā)SDK接口及網(wǎng)絡可靠的TCP傳輸協(xié)議構(gòu)建各設備間的連接通訊;一個服務器端可轉(zhuǎn)發(fā)給多個有同樣實時視頻請求的客戶端,可減輕??礑VR/NVR的視頻轉(zhuǎn)發(fā)壓力;服務器端和客戶端拋棄與網(wǎng)速/播放速度不匹配的歷史視頻數(shù)據(jù)包,可極大地改善用戶實時性體驗,本系統(tǒng)具有良好的應用前景和市場價值。
【附圖說明】
[0051]圖1:本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)圖;
[0052]圖2:本發(fā)明實施例的系統(tǒng)時序圖;
[0053]圖3:本發(fā)明實施例的系統(tǒng)流程圖。
【具體實施方式】
[0054]下面結(jié)合附圖,通過闡述一套已經(jīng)安裝運行的系統(tǒng),作為實施實例對本發(fā)明作進一步描述。
[0055]本發(fā)明實施例系統(tǒng)結(jié)構(gòu)圖如圖1所示,實施實例由I臺服務器,3個客戶端計算機、5個球機、I個??礑VR/NVR設備組成;系統(tǒng)時序圖如圖2所示;系統(tǒng)流程圖如圖3所示,系統(tǒng)的具體操作過程:I)設備連接:服務器端、客戶端、DVR/NVR設備、視頻采集設備通過局域網(wǎng)或Internet網(wǎng)連接;2)服務器端設置用戶管理、DVR/NVR設備管理、視頻采集設備管理;3)客戶端登錄服務器端,服務器端返回客戶端有權限訪問的視頻采集設備列表;4)客戶端選擇視頻采集設備,發(fā)送實時視頻請求給服務器端,服務器端轉(zhuǎn)發(fā)實時視頻流;5)客戶端發(fā)送云控命令給服務器端,服務器端通過DVR/NVR設備云控視頻采集設備。
[0056]具體實施步驟如下:
[0057]1.設備連接:服務器端、客戶端、DVR/NVR設備、視頻采集設備通過局域網(wǎng)或Internet網(wǎng)連接,系統(tǒng)包括I臺服務器,3個客戶端計算機、和5個球機、I個??礑VR/NVR設備,各個部分的設備都有獨立的IP地址,并通過局域網(wǎng)連接;具體包括如下:
[0058]1.1??礜VR設備,型號DSA-7300,其IP為 192.168.69.231,端口 8000 ;
[0059]1.2系統(tǒng)球機部分是5個獨立的球機,分別連接到??礑VR/NVR設備的不同通道上,其連接的通道分別為1-5通道,其IP地址分別為192.168.69.1、192.168.69.2、192.168.69.3、192.168.69.4、192.168.69.5,端口都用8000端P ;
[0060]1.3系統(tǒng)的服務器端包括一臺計算機系統(tǒng),操作系統(tǒng)為Windows Server 2008R2,上面運行服務器端軟件,其IP地址是192.168.69.230,端口 41934和41935分別用于與客戶端簡短信息通訊和轉(zhuǎn)發(fā)視頻流,服務器端需要用到的數(shù)據(jù)庫采用Microsoft Access 2007;
[0061]1.4.系統(tǒng)的客戶端包括若干臺普通的臺式計算機或者筆記本,上面運行著客戶端軟件;
[0062]2.服務器端設置用戶管理、DVR/NVR設備管理、視頻采集設備管理,具體內(nèi)容如下:
[0063]2.1添加DVR/NVR設備,并可做刪除更改,設備名稱NVRl;
[0064]2.2添加視頻采集設備,并可做刪除更改,5個設備名稱分別為如^1_如^5;
[0065]2.3添加用戶,并可做刪除更改,用戶名稱為admin;
[0066]2.4添加用戶對視頻采集設備的權限管理,并可做刪除更改,用戶admin對視頻采集設備testl_test5分別具有全部權限;
[0067]3.客戶端登錄服務器端,服務器端返回客戶端有權限訪問的視頻采集設備列表,具體步驟如下:
[0068]3.1客戶端通過輸入用戶名admin、密碼和服務器IP( 192.168.69.230)登錄到服務器端;
[0069]3.2服務器端驗證用戶登錄,返回客戶端admin有權限訪問的視頻采集設備列表testl_test5;
[0070]4.客戶端選擇視頻采集設備,發(fā)送實時視頻請求給服務器端,服務器端轉(zhuǎn)發(fā)實時視頻流,具體步驟如下:
[0071]4.1客戶端可選擇一個多個采樣設備,逐個發(fā)送視頻請求命令給服務器;
[0072]4.2服務器端檢查當前請求的視頻是否正在獲取中,即是否有其他客戶端正在實時播放該路視頻;
[0073]4.3如果服務器端檢查當前頻道視頻為非實時獲取狀態(tài),則向NVR設備發(fā)送該路視頻的獲取請求;
[0074]4.4服務器端調(diào)用海康sdk的回調(diào)函數(shù)會得到NVR設備轉(zhuǎn)發(fā)的經(jīng)過編碼壓縮的視頻流數(shù)據(jù)包;
[0075]4.4服務器端把該包加入到服務器鏈表SA中;
[0076]4.5服務器端子線程ST轉(zhuǎn)發(fā)鏈表SA中的視頻數(shù)據(jù)包給服務器端;
[0077]5.客戶端發(fā)送云控命令給服務器端,服務器端通過NVR設備云控視頻采集設備,具體實現(xiàn)如下:
[0078]5.1客戶端播放某個視頻采集設備的實時視頻;
[0079]5.2客戶端發(fā)送播放視頻視頻的云控命令給服務器端;
[0080]5.3服務器端接收客戶端云控命令,檢查用戶是否有權限操作,以及多用戶控制時的優(yōu)先級狀態(tài)確定執(zhí)行哪個客戶端的云控命令;
[0081]5.4服務器端向NVR設備發(fā)送云控命令,通過NVR設備云控視頻采集設備;
[0082]最后需要注意的是,公布實施例的目的在于幫助進一步理解本發(fā)明,本領域的技術人員可以理解:在不脫離本發(fā)明及所附的權利要求的精神和范圍內(nèi),各種替換和修改都是可能的。因此,本發(fā)明不應局限于實施例所公開的內(nèi)容,本發(fā)明要求保護的范圍以權利要求書界定的范圍為準。
【主權項】
1.一種基于海康設備的實時流媒體多路轉(zhuǎn)發(fā)系統(tǒng),該系統(tǒng)由多種不同類型硬件組成,各種硬件間可連接到局域網(wǎng)或者Internet網(wǎng)絡,具體如下: Al.視頻采集設備,如網(wǎng)絡攝像機、網(wǎng)絡球機、槍球一體機、智能交通攝像機等,視頻采集設備是連續(xù)采集現(xiàn)場影像構(gòu)成視頻流數(shù)據(jù); A2.??礑VR/NVR設備,包括海康各種型號的編解碼設備,該設備連接視頻采集設備,編碼壓縮視頻流;所述的編解碼設備包括但不限于:DVR,NVR,HDVR,編碼器,解碼器;所述的編碼壓縮視頻流包括但不限于H.264編碼標準; A3.服務器端軟件,安裝運行在服務器計算機上,提供連接訪問DVR/NVR設備,獲取DVR/NVR設備上編碼壓縮后的視頻流,并根據(jù)客戶端需要轉(zhuǎn)發(fā)該視頻流; A4.客戶端軟件,安裝運行在客戶端計算機上,提供連接訪問服務器端軟件,請求實時視頻、接收實時視頻流并播放實時視頻、發(fā)布云臺控制命令,控制視頻采集設備的旋轉(zhuǎn)與縮放。2.—種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法,其特征在于,采用權利要求1所述的控制系統(tǒng),具體步驟如下: B.客戶端請求實時視頻并預覽播放實時視頻,具體實現(xiàn)步驟如下: B1.客戶端登錄服務器端,通過在客戶端軟件輸入用戶名、密碼和服務器IP地址,通過TCP協(xié)議發(fā)送信息給服務器端軟件; B2.服務器端接收到客戶端登錄信息后,驗證用戶名和密碼,如果正確登錄,則通過TCP協(xié)議返回該客戶端有權限訪問的所有硬件設備列表,包括但不限于視頻采集設備、??礑VR/NVR 設備; B3.客戶端選擇視頻采集設備,通過TCP協(xié)議向服務器端請求實時視頻; C.客戶端云控視頻采集設備,具體實現(xiàn)步驟是: Cl.客戶端軟件正確登錄并顯示實時視頻; C2.客戶端軟件通過TCP協(xié)議發(fā)送云控命令給服務器端軟件,云控命令包括但不限于操作視頻采集設備分別向8個方向的轉(zhuǎn)動、縮放; C3.服務器端發(fā)布云控命令給??礑VR/NVR設備,通過??礑VR/NVR設備云控視頻采集設備; D.服務器端從DVR/NVR上獲取視頻視頻流并轉(zhuǎn)發(fā)給客戶端,具體實施步驟如下: Dl.客戶端請求實時視頻,服務器端軟件檢查客戶端權限;如果客戶端無權限則返回不可訪問提示;如果客戶端有權限,則增加客戶端信息到該路視頻要轉(zhuǎn)發(fā)的客戶端列表中; D2.如果客戶端有權限訪問實時視頻,服務器端軟件檢查該實時視頻流是否正在獲取狀態(tài);如果服務器端沒有正在獲取該路視頻流,則服務器向??礑VR/NVR設備發(fā)送獲取該路實時視頻流請求; D3.服務器端軟件轉(zhuǎn)發(fā)實時視頻流,遍歷該路視頻要轉(zhuǎn)發(fā)的客戶端,把獲取的壓縮后的視頻流轉(zhuǎn)發(fā)給客戶端; D4.當客戶端停止實時視頻播放時,向服務器端發(fā)送停止視頻請求,服務器端軟件會從相應視頻通道的客戶端列表中刪除該客戶端;如果相應視頻通道客戶端列表空,則服務器端軟件向??礑VR/NVR設備發(fā)送停止視頻流請求; E.服務器端實現(xiàn)設備管理、用戶管理及日志管理;服務器端軟件使用數(shù)據(jù)庫管理軟件記錄這些信息,具體內(nèi)容如下: El.DVR/NVR設備管理,服務器端首先需要對要操作的所有??礑VR/NVR設備做增加、刪除、修改,并列出服務器端能夠管理的所有海康DVR/NVR設備管理列表; E2.視頻采集設備管理,服務器端需要對所有要操作的視頻采集設備做增加、刪除、修改,并列出服務器端能夠管理的所有視頻采集設備列表; E3.用戶管理,服務器端需要對所有用戶做增加、刪除、修改,并列出所有客戶列表; E4.日志管理,記錄客戶端的操作內(nèi)容,日志內(nèi)容包括但不限于客戶端登錄/退出、客戶端請求/停止視頻、客戶端云控視頻采集設備; E5.所用數(shù)據(jù)庫管理軟件包括但不限于Access、Sql Server;: F.客戶端和服務器端實現(xiàn)系統(tǒng)實時性,具體實現(xiàn)步驟如下 Fl.客戶端實時性通過緩沖區(qū)和雙線程實現(xiàn); F2.服務器端實時性通過緩沖區(qū)和和雙線程實現(xiàn)。3.如權利要求2所述的基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法,其特征在于,F(xiàn)l步驟中,客戶端實時性通過緩沖區(qū)和雙線程實現(xiàn),具體實現(xiàn)步驟如下: Fl.1客戶端軟件在運行開始啟動主線程同時,啟動子線程CT; Fl.2客戶端軟件采用雙向環(huán)形鏈表CA記錄從服務器端轉(zhuǎn)發(fā)過來的多路視頻流數(shù)據(jù)包,所有通道的視頻流數(shù)據(jù)包都在一個鏈表CA中,通過通道標志NodeID識別視頻流數(shù)據(jù)包歸屬哪路通道; Fl.3客戶端子線程CT只用于播放實時視頻; Fl.4子線程和主線程共用實時視頻流數(shù)據(jù)包鏈表,兩個線程通過線程鎖實現(xiàn)數(shù)據(jù)共 Fl.5統(tǒng)計鏈表CA的視頻流包數(shù)量num; Fl.6子線程播放視頻流速度小于主線程接收視頻流速度時,num數(shù)值很大,當num大于給定閾值,則正向遍歷鏈表CA,直接丟棄鏈表CA中正向位于第η包到鏈表尾的未播放視頻流數(shù)據(jù)包。4.如權利要求2所述的一種基于??翟O備的實時流媒體多路轉(zhuǎn)發(fā)方法,其特征在于,F(xiàn)2步驟中,服務器端實時性通過緩沖區(qū)和和雙線程實現(xiàn),具體實現(xiàn)步驟如下: F2.1服務器端軟件在運行開始啟動主線程同時,啟動子線程ST; F2.2服務器軟件采用雙向環(huán)形鏈表SA記錄從??礑VR/NVR獲取的多路視頻流數(shù)據(jù)包,所有通道的視頻流數(shù)據(jù)包都在一個鏈表SA中,通過通道標志NodeID識別視頻流數(shù)據(jù)包歸屬哪路通道; F2.3服務器端子線程ST只用于轉(zhuǎn)發(fā)視頻流數(shù)據(jù)包給客戶端; F2.4子線程和主線程共用實時視頻流數(shù)據(jù)包鏈表,兩個線程通過線程鎖實現(xiàn)數(shù)據(jù)共 F2.5統(tǒng)計鏈表SA的視頻流包數(shù)量num; F2.6子線程轉(zhuǎn)發(fā)實時視頻流速度小于從海康DVR/NVR獲取的視頻流速度時,num值很大,當num大于給定閾值,則逆向遍歷鏈表SA,刪除鏈表SA中倒數(shù)第η包到鏈表頭的所有未轉(zhuǎn)發(fā)視頻流數(shù)據(jù)包。
【文檔編號】H04N7/18GK106060076SQ201610540067
【公開日】2016年10月26日
【申請日】2016年7月11日
【發(fā)明人】劉迎, 趙霞, 張珣, 陳晨, 趙夢瑤, 管文華
【申請人】北京工商大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1