專利名稱:一種低帶寬的視頻數(shù)據(jù)傳輸方法和硬盤錄像機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,特別是涉及一種低帶寬的視頻數(shù)據(jù)傳輸方法和硬盤錄 像機(jī)。
背景技術(shù):
現(xiàn)有的安防監(jiān)控系統(tǒng),一般包括DVR(Digital Video Recorder,數(shù)字硬盤錄像機(jī)) 和監(jiān)控客戶端。其中,DVR是一套能夠進(jìn)行圖像數(shù)據(jù)、聲音數(shù)據(jù)存儲(chǔ)處理的計(jì)算機(jī)系統(tǒng),具 有長(zhǎng)時(shí)間錄像、錄音的功能;監(jiān)控客戶端能夠遠(yuǎn)程控制DVR,并通過(guò)DVR實(shí)現(xiàn)遠(yuǎn)程監(jiān)視。在DVR實(shí)時(shí)監(jiān)控并將監(jiān)控得到的視頻數(shù)據(jù)傳回給監(jiān)控客戶端進(jìn)行預(yù)覽時(shí),通常 采用RTP(Real-time Transport Protocol,實(shí)時(shí)傳輸協(xié)議)對(duì)視頻數(shù)據(jù)進(jìn)行封裝,然后 使用 TCP (Transmission Control Protocol,傳輸控制協(xié)議)或者 UDP (User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)進(jìn)行傳輸,所述視頻數(shù)據(jù)包括圖像數(shù)據(jù)和/或聲音數(shù)據(jù)等。使用TCP傳輸能夠保證視頻數(shù)據(jù)傳輸?shù)目煽啃?,但是TCP的擁塞控制機(jī)制不能有 效利用可用帶寬,在網(wǎng)絡(luò)帶寬較低的時(shí)候就不適合。雖然使用UDP傳輸減少了網(wǎng)絡(luò)開銷,能夠適應(yīng)低帶寬,但由于UDP傳輸本身的不可 靠性,使得監(jiān)控客戶端獲得視頻數(shù)據(jù)無(wú)法得到保障,影響預(yù)覽效果。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種低帶寬的視頻數(shù)據(jù)傳輸方法和硬盤錄像機(jī),以提高在低 帶寬網(wǎng)絡(luò)中視頻數(shù)據(jù)傳輸?shù)目煽啃浴1景l(fā)明提供了一種低帶寬的視頻數(shù)據(jù)傳輸方法,所述方法包括通過(guò)UDP向監(jiān)控客戶端發(fā)送實(shí)時(shí)傳輸協(xié)議RTP包,并緩存所述RTP包及所述RTP 包的標(biāo)識(shí),所述RTP包中封裝有視頻數(shù)據(jù);若在所述RTP包發(fā)送后,超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有所述 RTP包標(biāo)識(shí)的實(shí)時(shí)傳輸控制協(xié)議RTCP包,則重發(fā)緩存的所述RTP包。本發(fā)明還提供了一種低帶寬的硬盤錄像機(jī),包括緩存模塊,用于緩存發(fā)送的實(shí)時(shí)傳輸協(xié)議RTP包和所述RTP包的標(biāo)識(shí),所述RTP包 中封裝有視頻數(shù)據(jù);發(fā)送模塊,用于通過(guò)UDP向監(jiān)控客戶端發(fā)送所述RTP包,以及在所述RTP包發(fā)送 后超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的實(shí)時(shí)傳輸控制協(xié)議 RTCP包時(shí),重發(fā)緩存模塊緩存的所述RTP包。本發(fā)明的低帶寬的視頻數(shù)據(jù)傳輸方法和硬盤錄像機(jī),在采用UDP傳輸視頻數(shù)據(jù)的 基礎(chǔ)上,通過(guò)應(yīng)用層能否收到攜帶有RTP包標(biāo)識(shí)的RTCP包對(duì)監(jiān)控客戶端接收所述RTP包是 否成功進(jìn)行確認(rèn),若超時(shí)未接到確認(rèn)信息則對(duì)所述RTP包進(jìn)行重發(fā),提高了在低帶寬網(wǎng)絡(luò) 中視頻數(shù)據(jù)傳輸?shù)目煽啃浴?br>
圖1是本發(fā)明的低帶寬的視頻數(shù)據(jù)傳輸方法的第一實(shí)施例的流程示意圖;圖2是本發(fā)明的低帶寬的視頻數(shù)據(jù)傳輸方法的第二實(shí)施例的流程示意圖;圖3是本發(fā)明的低帶寬的視頻數(shù)據(jù)傳輸方法的第三實(shí)施例的流程示意圖;圖4是步驟S304的流程示意圖;圖5是本發(fā)明的硬盤錄像機(jī)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)的說(shuō)明。實(shí)施例一本實(shí)施例提供了一種低帶寬的視頻數(shù)據(jù)傳輸方法,如圖1所示,包括如下步驟SlOl,通過(guò)UDP向監(jiān)控客戶端發(fā)送RTP包,并緩存所述RTP包及所述RTP包的標(biāo)識(shí), 所述RTP包中封裝有視頻數(shù)據(jù)。所述視頻數(shù)據(jù)包括圖像數(shù)據(jù)和/或聲音數(shù)據(jù)等。DVR向監(jiān)控客戶端發(fā)送RTP包, DVR的服務(wù)器也會(huì)緩存所述RTP包及所述RTP包的標(biāo)識(shí),RTP包及所述RTP包標(biāo)識(shí)在服務(wù)器 中可以以鏈表的形式緩存。DVR發(fā)送RTP包和服務(wù)器緩存所述RTP包及所述RTP包的標(biāo)識(shí) 可以同時(shí)進(jìn)行,也可以先后進(jìn)行。服務(wù)器以RTP包發(fā)送的時(shí)間點(diǎn)作為起點(diǎn)對(duì)緩存的所述RTP 包及所述RTP包標(biāo)識(shí)記錄進(jìn)行計(jì)時(shí)。RTP包標(biāo)識(shí)攜帶在RTP包中,服務(wù)器可以將RTP包以及RTP包解包后的內(nèi)容(其 中包括RTP包標(biāo)識(shí))緩存在鏈表的一個(gè)條目中,根據(jù)RTP包標(biāo)識(shí)可以唯一確定RTP包。RTP 包標(biāo)識(shí)可以為包括數(shù)字、字母和/或符號(hào)等的序列。RTP包標(biāo)識(shí)優(yōu)選為包序,包序以16位二 進(jìn)制數(shù)(0 65535)進(jìn)行標(biāo)識(shí),可以循環(huán)使用,對(duì)于實(shí)時(shí)傳輸,不會(huì)出現(xiàn)服務(wù)器的緩存空間 中包序重復(fù)的情況。所述服務(wù)器可以與DVR集成一體,也可以與DVR外置連接,本發(fā)明對(duì)此 不做限定。S102,若在所述RTP包發(fā)送后,超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有 所述RTP包標(biāo)識(shí)的RTCP (RTP Control Protocol,實(shí)時(shí)傳輸控制協(xié)議)包,則重發(fā)緩存的所 述RTP包。監(jiān)控客戶端在接收到RTP包后,會(huì)向服務(wù)器返回一個(gè)攜帶有所述RTP包的標(biāo)識(shí)的 RTCP包,用于告知DVR已經(jīng)成功接收所述RTP包。若DVR在某一 RTP包發(fā)送后超過(guò)預(yù)設(shè)時(shí) 間沒(méi)有收到攜帶有所述RTP包標(biāo)識(shí)的RTCP包,則認(rèn)為該RTP包超時(shí),對(duì)緩存的RTP包進(jìn)行重發(fā)。當(dāng)緩存空間足夠大,可以對(duì)所有RTP包和RTP包標(biāo)識(shí)進(jìn)行緩存,并對(duì)在預(yù)設(shè)時(shí)間內(nèi) 接收到RTP包標(biāo)識(shí)的緩存RTP包的記錄做一個(gè)標(biāo)記,以與尚未收到RTP包標(biāo)識(shí)的記錄進(jìn)行 區(qū)分。通常,考慮到視頻數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性特點(diǎn)和網(wǎng)絡(luò)帶寬的實(shí)際情況,服務(wù)器上分配的緩 存空間有限,因此優(yōu)選的,還包括若在所述RTP包發(fā)送后的預(yù)設(shè)時(shí)間內(nèi),收到監(jiān)控客戶端 返回的攜帶有所述RTP包標(biāo)識(shí)的RTCP包,則刪除緩存的所述RTP包標(biāo)識(shí)及其對(duì)應(yīng)的RTP包。當(dāng)確認(rèn)緩存的某個(gè)RTP包已被監(jiān)控客戶端成功接收后,就可以刪除該緩存的RTP 包及所述RTP包的標(biāo)識(shí),釋放所述RTP包占用的緩存空間。
則如圖2所示,所述低帶寬的視頻數(shù)據(jù)傳輸方法包括如下步驟S201,通過(guò)UDP向監(jiān)控客戶端發(fā)送RTP包,并緩存所述RTP包及所述RTP包的標(biāo)識(shí), 所述RTP包中封裝有視頻數(shù)據(jù);S202,判斷是否收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的RTCP包;若在所述RTP包發(fā)送后超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到所述RTCP包,則執(zhí)行S203 重發(fā)緩 存的所述RTP包;若在所述RTP包發(fā)送后預(yù)設(shè)時(shí)間內(nèi)收到所述RTCP包,則執(zhí)行步驟S204 刪除緩存的所述RTP包標(biāo)識(shí)及其對(duì)應(yīng)的RTP包。優(yōu)選的,攜帶有RTP 包標(biāo)識(shí)的 RTCP 包為 APP (Application Specific Functions, 特殊應(yīng)用功能)包。APP包原先是應(yīng)用程序自定義使用的,本發(fā)明中將其作為確認(rèn)接收RTP 成功的交互消息使用。當(dāng)然,也可以在監(jiān)控客戶端返回DVR的RTCP包中新定義一種交互消息,其可以攜 帶監(jiān)控客戶端接收到的RTP包的標(biāo)識(shí),但是需要對(duì)傳輸協(xié)議做一些調(diào)整。由于TCP的擁塞控制機(jī)制不能有效利用可用帶寬,對(duì)于低帶寬傳輸視頻數(shù)據(jù)并不 適用。而本實(shí)施例充分利用了 UDP網(wǎng)絡(luò)開銷小的特點(diǎn),通過(guò)應(yīng)用層能否收到攜帶RTP包標(biāo) 識(shí)的RTCP包對(duì)監(jiān)控客戶端接收所述RTP包是否成功進(jìn)行確認(rèn),RTCP包大小約幾十個(gè)字節(jié), 對(duì)低帶寬網(wǎng)絡(luò)的開銷很小,因此,在低帶寬網(wǎng)絡(luò)中可以保證視頻數(shù)據(jù)傳輸?shù)目煽啃?,并有?利用可用帶寬。本實(shí)施例的低帶寬的視頻數(shù)據(jù)傳輸方法,在采用UDP傳輸視頻數(shù)據(jù)的基礎(chǔ)上,通 過(guò)應(yīng)用層能否收到攜帶有RTP包標(biāo)識(shí)的RTCP包對(duì)監(jiān)控客戶端接收所述RTP包是否成功進(jìn) 行確認(rèn),若超時(shí)未接到確認(rèn)信息則對(duì)所述RTP包進(jìn)行重發(fā),提高了在低帶寬網(wǎng)絡(luò)中視頻數(shù) 據(jù)傳輸?shù)目煽啃?。而且,攜帶RTP包包序的RTCP包大小約幾十個(gè)字節(jié),相比于TCP繁瑣的 確認(rèn)交互消息,對(duì)低帶寬網(wǎng)絡(luò)的開銷很小。實(shí)施例二本實(shí)施例提供了一種低帶寬的視頻數(shù)據(jù)傳輸方法,如圖3所示,包括如下步驟S301,通過(guò)UDP向監(jiān)控客戶端發(fā)送RTP包,并緩存所述RTP包及所述RTP包的標(biāo)識(shí), 所述RTP包中封裝有視頻數(shù)據(jù);S302,若在所述RTP包發(fā)送后,超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有 所述RTP包標(biāo)識(shí)的實(shí)時(shí)傳輸控制協(xié)議RTCP包,則重發(fā)緩存的所述RTP包;S303,若在所述RTP包發(fā)送后的預(yù)設(shè)時(shí)間內(nèi),收到監(jiān)控客戶端返回的攜帶有所述 RTP包標(biāo)識(shí)的RTCP包,則刪除緩存的所述RTP包標(biāo)識(shí)及其對(duì)應(yīng)的RTP包。S304,根據(jù)網(wǎng)絡(luò)帶寬調(diào)整視頻數(shù)據(jù)的傳輸碼率。由于網(wǎng)絡(luò)帶寬是通過(guò)丟包、網(wǎng)絡(luò)延時(shí)等現(xiàn)象反映出來(lái),因此,如圖4所示,步驟 S304可以包括S3041 當(dāng)出現(xiàn)丟包時(shí),則進(jìn)入S3043 降低傳輸碼率。所謂丟包,指的是服務(wù)器上緩存的RTP包達(dá)到滿負(fù)荷,當(dāng)后續(xù)發(fā)送的RTP包也要被 緩存到服務(wù)器中時(shí),即使前面的RTP包還未接收到確認(rèn)的RTCP包而刪除,但由于緩存空間 已滿,服務(wù)器會(huì)將排在前面的RTP包丟掉,將后面的RTP包放入緩存空間。出現(xiàn)丟包,則意味著網(wǎng)絡(luò)帶寬不適應(yīng)當(dāng)前DVR的傳輸碼率,需要降低傳輸碼率,減 小網(wǎng)絡(luò)負(fù)擔(dān)。
6
當(dāng)未出現(xiàn)丟包時(shí),S3042,統(tǒng)計(jì)所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)的整體變化趨 勢(shì),并獲取網(wǎng)絡(luò)延時(shí)平均值;所述預(yù)設(shè)個(gè)數(shù)可以為100、200或其他數(shù)目,用戶可以自行設(shè)定。若所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為增大、或網(wǎng)絡(luò)延時(shí)平 均值大于預(yù)設(shè)上限值,則S3043 降低傳輸碼率;若所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為減小、或網(wǎng)絡(luò)延時(shí)平 均值小于預(yù)設(shè)下限值,則S3044 提高傳輸碼率。其中,降低傳輸碼率的策略可以有兩種一是降到盡可能低,即降到能滿足視頻預(yù) 覽的最小值;二是根據(jù)延時(shí)加權(quán),確定傳輸碼率的降低幅度。提高傳輸碼率,可以是根據(jù)延 時(shí)加權(quán),確定傳輸碼率的提升幅度,按照提升幅度逐漸增加,遵循快降慢升的原則,保障網(wǎng) 絡(luò)的暢通。上述統(tǒng)計(jì)預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)的整體變化趨勢(shì),以預(yù)設(shè)個(gè)數(shù)的RTP包中 的某個(gè)RTP包A為例,具體操作過(guò)程可以如下獲取RTP包A之前的連續(xù)100個(gè)RTP包的平均延時(shí)ave_delay_A,有超時(shí)重發(fā)的 RTP包不參與統(tǒng)計(jì),因此平均延時(shí)ave_delay_A是小于等于100個(gè)RTP包的平均延時(shí)。RTP 包A之前的連續(xù)100個(gè)RTP包的延時(shí)可以采用包含100個(gè)數(shù)據(jù)項(xiàng)的delay數(shù)組來(lái)記錄。將平均延時(shí)aVe_delay_A分別與第一權(quán)重因子Fl和第二權(quán)重因子F2相乘得到 兩個(gè)乘積 Prol_A = FlXave_delay_A 和 Pro2_A = F2 X ave_delay_A,其中,第一權(quán)重因子 Fl大于第二權(quán)重因子F2,由此,Prol_A和Pro2_A將判斷數(shù)值區(qū)間分為三段(0,Pro2_A)、 [Pro2_A,Prol_A]和(Prol_A,+①)。之后,判斷RTP包A的網(wǎng)絡(luò)延時(shí)cur_delay_A屬于上 述三個(gè)區(qū)間的哪個(gè)區(qū)間段。對(duì)于預(yù)設(shè)個(gè)數(shù)RTP包中的其他RTP包,可以參照上面的流程進(jìn)行類推處理,最終統(tǒng) 計(jì)出預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)的整體變化趨勢(shì)。a、若其中RTP包的cur_delay大于Prol的次數(shù)超過(guò)設(shè)定閾值,則判定預(yù)設(shè)個(gè)數(shù)的 RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為增大;b、若RTP包的cur_delay小于Pro2的次數(shù)超過(guò)所述設(shè)定閾值,則判定預(yù)設(shè)個(gè)數(shù)的 RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為減小;C、其他情況,判定預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)比較平穩(wěn)。對(duì)于C,進(jìn)一步包括如下步驟Cl,更新delay數(shù)據(jù)并計(jì)算網(wǎng)絡(luò)延時(shí)平均值;更新delay數(shù)據(jù),即將步驟S3042中的所述RTP包加入存有其前面100個(gè)RTP包 的delay數(shù)組,將最前面的延時(shí)數(shù)據(jù)移出delay數(shù)組。所述網(wǎng)絡(luò)延時(shí)平均值是根據(jù)更新后 的delay數(shù)據(jù)計(jì)算得出。c2,若網(wǎng)絡(luò)延時(shí)平均值大于預(yù)設(shè)上限值;則降低傳輸碼率;c3,若網(wǎng)絡(luò)延時(shí)平均值小于預(yù)設(shè)下限值,則提高傳輸碼率;c4,若網(wǎng)絡(luò)延時(shí)平均值小于等于預(yù)設(shè)上限值且大于等于預(yù)設(shè)下限值,不調(diào)整碼率。通過(guò)DVR實(shí)時(shí)檢測(cè)網(wǎng)絡(luò)帶寬,調(diào)整傳輸碼率,能夠合理的利用網(wǎng)絡(luò)帶寬,保證監(jiān)控 客戶端預(yù)覽視頻的圖像聲音質(zhì)量。本實(shí)施例的低帶寬的視頻數(shù)據(jù)傳輸方法,在采用UDP傳輸視頻數(shù)據(jù)的基礎(chǔ)上,通過(guò)應(yīng)用層能否收到攜帶有RTP包標(biāo)識(shí)的RTCP包對(duì)監(jiān)控客戶端接收所述RTP包是否成功進(jìn) 行確認(rèn),若超時(shí)未接到確認(rèn)信息則對(duì)所述RTP包進(jìn)行重發(fā),提高了在低帶寬網(wǎng)絡(luò)中視頻數(shù) 據(jù)傳輸?shù)目煽啃?。而且,攜帶RTP包標(biāo)識(shí)的RTCP包對(duì)低帶寬網(wǎng)絡(luò)的開銷很小。通過(guò)實(shí)時(shí)檢 測(cè)網(wǎng)絡(luò)帶寬,調(diào)整傳輸碼率,能夠合理的利用網(wǎng)絡(luò)帶寬,保證監(jiān)控客戶端預(yù)覽視頻的圖像聲
音質(zhì)量。實(shí)施例三本實(shí)施例提供了一種低帶寬的硬盤錄像機(jī),如圖5所示,所述硬盤錄像機(jī)包括緩 存模塊10和發(fā)送模塊20。緩存模塊10用于緩存發(fā)送的RTP包和所述RTP包的標(biāo)識(shí),所述RTP包中封裝有視 頻數(shù)據(jù);發(fā)送模塊20用于通過(guò)UDP向監(jiān)控客戶端發(fā)送所述RTP包,以及在所述RTP包發(fā)送 后超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的RTCP包時(shí),重發(fā)緩存 模塊緩存的所述RTP包。所述硬盤錄像機(jī)還可以包括刪除模塊30,用于當(dāng)所述RTP包發(fā)送后的預(yù)設(shè)時(shí)間 內(nèi),收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的RTCP包時(shí),刪除緩存的所述RTP包標(biāo) 識(shí)及其對(duì)應(yīng)的RTP包。優(yōu)選的,所述硬盤錄像機(jī)還包括碼率調(diào)整模塊40,用于根據(jù)網(wǎng)絡(luò)帶寬調(diào)整視頻數(shù) 據(jù)的傳輸碼率。所述碼率調(diào)整模塊40具體包括調(diào)整單元,用于當(dāng)出現(xiàn)丟包時(shí),降低傳輸碼率。進(jìn)一步的,所述硬盤錄像機(jī)還可以包括統(tǒng)計(jì)模塊50,用于當(dāng)未出現(xiàn)丟包時(shí),統(tǒng)計(jì)預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)的整體變 化趨勢(shì);獲取模塊60,用于獲取網(wǎng)絡(luò)延時(shí)平均值;則所述調(diào)整單元還可以用于當(dāng)所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為增大、或網(wǎng)絡(luò)延時(shí)平 均值大于預(yù)設(shè)上限值時(shí),降低傳輸碼率;當(dāng)所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為減小、或網(wǎng)絡(luò)延時(shí)平 均值小于預(yù)設(shè)下限值時(shí),提高傳輸碼率。本實(shí)施例的硬盤錄像機(jī),在采用UDP傳輸視頻數(shù)據(jù)的基礎(chǔ)上,通過(guò)應(yīng)用層能否收 到攜帶有RTP包標(biāo)識(shí)的RTCP包對(duì)監(jiān)控客戶端接收所述RTP包是否成功進(jìn)行確認(rèn),若超時(shí)未 接到確認(rèn)信息則對(duì)所述RTP包進(jìn)行重發(fā),提高了在低帶寬網(wǎng)絡(luò)中視頻數(shù)據(jù)傳輸?shù)目煽啃浴?而且,攜帶RTP包標(biāo)識(shí)的RTCP包對(duì)低帶寬網(wǎng)絡(luò)的開銷很小。通過(guò)實(shí)時(shí)檢測(cè)網(wǎng)絡(luò)帶寬,調(diào)整 傳輸碼率,能夠合理的利用網(wǎng)絡(luò)帶寬,保證監(jiān)控客戶端預(yù)覽視頻的圖像聲音質(zhì)量。由于硬盤錄像機(jī)的實(shí)施例與方法實(shí)施例的相似內(nèi)容較多,因此描述的比較簡(jiǎn)略, 相關(guān)之處請(qǐng)參見方法實(shí)施例部分。需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí) 體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存 在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備
所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不排
除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍 內(nèi)。
權(quán)利要求
一種低帶寬的視頻數(shù)據(jù)傳輸方法,其特征在于,所述方法包括通過(guò)UDP向監(jiān)控客戶端發(fā)送實(shí)時(shí)傳輸協(xié)議RTP包,并緩存所述RTP包及所述RTP包的標(biāo)識(shí),所述RTP包中封裝有視頻數(shù)據(jù);若在所述RTP包發(fā)送后,超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的實(shí)時(shí)傳輸控制協(xié)議RTCP包,則重發(fā)緩存的所述RTP包。
2.如權(quán)利要求1所述的方法,其特征在于,還包括若在所述RTP包發(fā)送后的預(yù)設(shè)時(shí)間內(nèi),收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí) 的RTCP包,則刪除緩存的所述RTP包標(biāo)識(shí)及其對(duì)應(yīng)的RTP包。
3.如權(quán)利要求1或2所述的方法,其特征在于,還包括根據(jù)網(wǎng)絡(luò)帶寬調(diào)整視頻數(shù)據(jù)的 傳輸碼率。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)網(wǎng)絡(luò)帶寬調(diào)整視頻數(shù)據(jù)的傳輸碼 率包括當(dāng)出現(xiàn)丟包時(shí),降低傳輸碼率。
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)網(wǎng)絡(luò)帶寬調(diào)整視頻數(shù)據(jù)的傳輸碼 率還包括當(dāng)未出現(xiàn)丟包時(shí),統(tǒng)計(jì)預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)的整體變化趨勢(shì),并獲取網(wǎng)絡(luò)延 時(shí)平均值;若所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為增大、或網(wǎng)絡(luò)延時(shí)平均值 大于預(yù)設(shè)上限值,則降低傳輸碼率;若所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為減小、或網(wǎng)絡(luò)延時(shí)平均值 小于預(yù)設(shè)下限值,則提高傳輸碼率。
6.如權(quán)利要求1或2所述的方法,其特征在于,所述RTCP包為特殊應(yīng)用功能APP包。
7.一種低帶寬的硬盤錄像機(jī),其特征在于,包括緩存模塊,用于緩存發(fā)送的實(shí)時(shí)傳輸協(xié)議RTP包和所述RTP包的標(biāo)識(shí),所述RTP包中封 裝有視頻數(shù)據(jù);發(fā)送模塊,用于通過(guò)UDP向監(jiān)控客戶端發(fā)送所述RTP包,以及在所述RTP包發(fā)送后超過(guò) 預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的實(shí)時(shí)傳輸控制協(xié)議RTCP包 時(shí),重發(fā)緩存模塊緩存的所述RTP包。
8.如權(quán)利要求7所述的硬盤錄像機(jī),其特征在于,還包括刪除模塊,用于當(dāng)所述RTP包 發(fā)送后的預(yù)設(shè)時(shí)間內(nèi),收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的RTCP包時(shí),刪除緩 存的所述RTP包標(biāo)識(shí)及其對(duì)應(yīng)的RTP包。
9.如權(quán)利要求7或8所述的硬盤錄像機(jī),其特征在于,還包括碼率調(diào)整模塊,用于根據(jù) 網(wǎng)絡(luò)帶寬調(diào)整視頻數(shù)據(jù)的傳輸碼率。
10.如權(quán)利要求9所述的硬盤錄像機(jī),其特征在于,所述碼率調(diào)整模塊包括調(diào)整單元, 用于當(dāng)出現(xiàn)丟包時(shí),降低傳輸碼率。
11.如權(quán)利要求10所述的硬盤錄像機(jī),其特征在于,所述硬盤錄像機(jī)還包括統(tǒng)計(jì)模塊,用于當(dāng)未出現(xiàn)丟包時(shí),統(tǒng)計(jì)預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)的整體變化趨勢(shì);獲取模塊,用于獲取網(wǎng)絡(luò)延時(shí)平均值;則所述調(diào)整單元還用于當(dāng)所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為增大、或網(wǎng)絡(luò)延時(shí)平均值大于預(yù)設(shè)上限值時(shí),降低傳輸碼率; 當(dāng)所述預(yù)設(shè)個(gè)數(shù)的RTP包的網(wǎng)絡(luò)延時(shí)發(fā)生波動(dòng)且整體趨勢(shì)為減小、或網(wǎng)絡(luò)延時(shí)平均值 小于預(yù)設(shè)下限值時(shí),提高傳輸碼率。
全文摘要
本發(fā)明公開了一種低帶寬的視頻數(shù)據(jù)傳輸方法和硬盤錄像機(jī),其中,所述方法包括通過(guò)UDP向監(jiān)控客戶端發(fā)送實(shí)時(shí)傳輸協(xié)議RTP包,并緩存所述RTP包及所述RTP包的標(biāo)識(shí),所述RTP包中封裝有視頻數(shù)據(jù);若在所述RTP包發(fā)送后,超過(guò)預(yù)設(shè)時(shí)間沒(méi)有收到監(jiān)控客戶端返回的攜帶有所述RTP包標(biāo)識(shí)的實(shí)時(shí)傳輸控制協(xié)議RTCP包,則重發(fā)緩存的所述RTP包。在采用UDP傳輸視頻數(shù)據(jù)的基礎(chǔ)上,通過(guò)應(yīng)用層能否收到攜帶有RTP包標(biāo)識(shí)的RTCP包對(duì)監(jiān)控客戶端接收所述RTP包是否成功進(jìn)行確認(rèn),若超時(shí)未接到確認(rèn)信息則對(duì)所述RTP包進(jìn)行重發(fā),提高了在低帶寬網(wǎng)絡(luò)中視頻數(shù)據(jù)傳輸?shù)目煽啃浴?br>
文檔編號(hào)H04N7/24GK101888544SQ20101021603
公開日2010年11月17日 申請(qǐng)日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者孫承華, 孟忠偉, 胡揚(yáng)忠, 鄔偉琪, 陳軍科 申請(qǐng)人:杭州海康威視數(shù)字技術(shù)股份有限公司