本發(fā)明涉及視頻監(jiān)控
技術(shù)領(lǐng)域:
,特別涉及一種碼流傳輸方法、裝置及網(wǎng)絡(luò)攝像頭(英文:ipcamera;簡稱:ipc)。
背景技術(shù):
:視頻監(jiān)控系統(tǒng)是安保系統(tǒng)中重要組成部分,能夠?qū)崿F(xiàn)對多個區(qū)域的實時監(jiān)控。視頻監(jiān)控系統(tǒng)中通常包含多臺ipc以及通過互聯(lián)網(wǎng)協(xié)議(英文:internetprotocol;簡稱:ip)網(wǎng)絡(luò)與ipc相連的監(jiān)控平臺。ipc負責(zé)采集視頻數(shù)據(jù),并對采集到的視頻數(shù)據(jù)進行編碼得到視頻流數(shù)據(jù)包,最終通過ip網(wǎng)絡(luò)將視頻流數(shù)據(jù)包傳輸至監(jiān)控平臺。監(jiān)控平臺對接收到的視頻流數(shù)據(jù)包進行解碼得到視頻數(shù)據(jù),并進一步對視頻數(shù)據(jù)進行解析播放,從而實現(xiàn)監(jiān)控平臺側(cè)的實時監(jiān)控。同時,監(jiān)控平臺還負責(zé)管理ipc,并對視頻流解碼得到的視頻數(shù)據(jù)進行存儲,方便后續(xù)調(diào)取查看。當(dāng)ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動或帶寬不足時,視頻流在傳輸過程中會出現(xiàn)丟包,導(dǎo)致監(jiān)控平臺側(cè)播放的畫面出現(xiàn)花屏或馬賽克現(xiàn)象,影響視頻監(jiān)控的質(zhì)量。技術(shù)實現(xiàn)要素:為了解決當(dāng)ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動或帶寬不足時,視頻流在傳輸過程中會出現(xiàn)丟包,導(dǎo)致監(jiān)控平臺側(cè)播放的畫面出現(xiàn)花屏或馬賽克現(xiàn)象,影響視頻監(jiān)控的質(zhì)量的問題,本發(fā)明實施例提供了一種碼流傳輸方法、裝置及網(wǎng)絡(luò)攝像頭。所述技術(shù)方案如下:第一方面,提供了一種碼流傳輸方法,該方法包括:向監(jiān)控平臺傳輸實時傳輸協(xié)議(英文:real-timetransportprotocol;簡稱:rtp)碼流;接收所述監(jiān)控平臺發(fā)送的第一實時傳輸控制協(xié)議(英文:real-timetransportcontrolprotocol;簡稱:rtcp)反饋,所述rtcp反饋用于指示所述rtp碼流 的傳輸質(zhì)量;根據(jù)所述第一rtcp反饋調(diào)整所述rtp碼流的冗余率和視頻碼率,所述冗余率用于指示所述rtp碼流中冗余數(shù)據(jù)包所占的比例,所述冗余數(shù)據(jù)包根據(jù)所述rtp碼流中的視頻流數(shù)據(jù)包生成,所述視頻碼率用于指示單位時間內(nèi)傳輸?shù)乃鲆曨l流數(shù)據(jù)包的數(shù)據(jù)量。視頻監(jiān)控系統(tǒng)中的ipc在向監(jiān)控平臺傳輸rtp碼流的同時,根據(jù)監(jiān)控平臺反饋的rtp碼流的傳輸質(zhì)量,實時調(diào)整后續(xù)rtp碼流中的視頻流數(shù)據(jù)包和冗余數(shù)據(jù)包,使得在ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動時,監(jiān)控平臺能夠根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)丟失的視頻流數(shù)據(jù)包,避免因傳輸丟包出現(xiàn)視頻花屏或馬賽克現(xiàn)象,保證了視頻監(jiān)控系統(tǒng)的視頻監(jiān)控質(zhì)量。結(jié)合第一方面,在第一方面的第一種可能的實施方式中,所述根據(jù)所述rtcp反饋調(diào)整所述rtp碼流的冗余率和視頻碼率,包括:若所述第一rtcp反饋指示存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則提高所述冗余率并降低所述視頻碼率;或者,若所述第一rtcp反饋指示不存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則降低所述冗余率并提高所述視頻碼率。當(dāng)rtcp反饋指示監(jiān)控平臺中存在根據(jù)冗余數(shù)據(jù)包恢復(fù)的視頻數(shù)據(jù)包時,表明在當(dāng)前ip網(wǎng)絡(luò)狀況下存在丟包,為了保證視頻監(jiān)控的效果,ipc即增加rtp碼流中包含的冗余數(shù)據(jù)包并減少rtp碼流中包含的視頻流數(shù)據(jù)包,從而增強rtp碼流的抗丟包能力;相似的,當(dāng)rtcp反饋指示監(jiān)控平臺中不存在根據(jù)冗余數(shù)據(jù)包恢復(fù)的視頻數(shù)據(jù)包時,表明在當(dāng)前ip網(wǎng)絡(luò)狀況下不存在丟包,ipc即提高rtp碼流的視頻碼率,從而提高視頻監(jiān)控的效果。結(jié)合第一方面或第一方面的第一種可能的實施方式,在第一方面的第二種可能的實施方式中,所述ipc預(yù)設(shè)有至少兩級抗丟包等級,所述抗丟包等級與所述rtp碼流的抗丟包能力呈正比,且所述抗丟包等級與所述冗余率呈正比。ipc中預(yù)先設(shè)置多級抗丟包等級,ipc只需要調(diào)節(jié)rtp碼流中冗余數(shù)據(jù)包的抗丟包等級即可實現(xiàn)對rtp碼流的冗余率的調(diào)節(jié),提高了ipc調(diào)節(jié)rtp碼流的效率。結(jié)合第一方面的第二種可能的實施方式,在第一方面的第三種可能的實施方式中,所述若所述第一rtcp反饋指示存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻 流數(shù)據(jù)包,則提高所述冗余率并降低所述視頻碼率,包括:若所述第一rtcp反饋指示存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且當(dāng)前抗丟包等級不是最高等級,則將所述抗丟包等級提高預(yù)定等級并降低所述視頻碼率;若所述第一rtcp反饋指示存在通過所述冗余數(shù)據(jù)包恢復(fù)視頻流數(shù)據(jù)包且當(dāng)前抗丟包等級是最高等級,則保持當(dāng)前抗丟包等級和當(dāng)前視頻碼率。在當(dāng)前抗丟包等級不是最高等級時,ipc進一步提高后續(xù)rtp碼流的冗余率并降低其視頻碼率,使得監(jiān)控平臺能夠根據(jù)rtp碼流中冗余數(shù)據(jù)包進行視頻流數(shù)據(jù)包的恢復(fù),保證了在ip網(wǎng)絡(luò)波動的情況下視頻監(jiān)控的效果;在當(dāng)前抗丟包等級達到最高等級時,ipc保持rtp碼流的最高抗丟包等級,避免因丟包引起的畫面花屏現(xiàn)象。結(jié)合第一方面的第二種可能的實施方式,在第一方面的第四種可能的實施方式中,所述若所述第一rtcp反饋指示不存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則降低所述冗余率并提高所述視頻碼率,包括:若所述第一rtcp反饋指示不存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且所述rtp碼流中包含所述冗余數(shù)據(jù)包,則將所述抗丟包等級降低預(yù)定等級并提高所述視頻碼率;若所述第一rtcp反饋指示不存在通過所述冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且所述rtp碼流中不包含所述冗余數(shù)據(jù)包,則保持當(dāng)前視頻碼率。當(dāng)rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,且當(dāng)前抗丟包等級不是最高級時,ipc降低后續(xù)rtp碼流的抗丟高等級,從而提高rtp碼流的視頻碼率,進一步提高ip網(wǎng)絡(luò)穩(wěn)定狀態(tài)下監(jiān)控視頻的質(zhì)量。結(jié)合第一方面的第二種可能的實施方式、第一方面的第三種可能的實施方式或第一方面的第四種可能的實施,在第一方面的第五種可能的實施方式中,所述根據(jù)所述rtcp反饋調(diào)整所述rtp碼流的冗余率和視頻碼率之后,所述方法還包括:若在預(yù)定時長內(nèi),所述rtp碼流的所述視頻碼率小于預(yù)定碼率閾值且所述rtp碼流中不包含所述冗余數(shù)據(jù)包,則將所述rtp碼流的帶寬上調(diào)預(yù)設(shè)帶寬數(shù)值;在上調(diào)帶寬后的rtp碼流中加入最高抗丟包等級的所述冗余數(shù)據(jù)包,并降 低所述視頻碼率。當(dāng)rtp碼流中僅包含視頻流數(shù)據(jù)包,且rtp碼流的視頻碼率長時間低于預(yù)定碼率時,表明ip網(wǎng)絡(luò)帶寬未得到充分利用。為了進一步提升視頻監(jiān)控的效果,ipc提高rtp碼流的帶寬,并向增加帶寬后的rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包,在提高ip網(wǎng)絡(luò)帶寬使用率的同時,保證了rtp碼流的抗丟包能力。結(jié)合第一方面的第二種可能的實施方式、第一方面的第三種可能的實施方式或第一方面的第四種可能的實施,在第一方面的第六種可能的實施方式中,所述rtp碼流中僅包含所述視頻流數(shù)據(jù)包,且所述rtcp反饋指示傳輸過程中發(fā)生丟包,所述接收所述監(jiān)控平臺發(fā)送的實時傳輸控制協(xié)議第一rtcp反饋之后,所述方法還包括:將所述rtp碼流的帶寬下調(diào)預(yù)定比例;向所述監(jiān)控平臺傳輸下調(diào)帶寬后的rtp碼流并接收所述監(jiān)控平臺后續(xù)發(fā)送的第二rtcp反饋。當(dāng)ipc傳輸?shù)膔tp碼流中僅包含視頻流數(shù)據(jù)包且rtcp反饋指示rtp碼流在傳輸過程中發(fā)生丟包時,由于監(jiān)控平臺無法進行視頻流數(shù)據(jù)包的恢復(fù),因此ipc降低后續(xù)rtp碼流的帶寬,避免rtp碼流在傳輸過程中發(fā)生丟包。結(jié)合第一方面的第六種可能的實施方式,在第一方面的第七種可能的實施方式中,所述向所述監(jiān)控平臺傳輸下調(diào)帶寬后的rtp碼流并接收所述監(jiān)控平臺后續(xù)發(fā)送的第二rtcp反饋之后,所述方法還包括:若所述第二rtcp反饋指示傳輸過程中未發(fā)生丟包,則在所述rtp碼流中加入最高抗丟包等級的所述冗余數(shù)據(jù)包;接收所述監(jiān)控平臺后續(xù)發(fā)送的第三rtcp反饋;若所述第三rtcp反饋指示傳輸時延未增加,則執(zhí)行根據(jù)所述第三rtcp反饋調(diào)整所述rtp碼流的冗余率和視頻碼率的步驟。當(dāng)rtp碼流中包含冗余數(shù)據(jù)包時,ipc根據(jù)監(jiān)控平臺反饋的傳輸時延確定rtp碼流的帶寬是否適當(dāng),當(dāng)傳輸時延未增加時,確定rtp碼流的帶寬適當(dāng),并對rtp碼流的冗余率和視頻碼率進行調(diào)節(jié);當(dāng)傳輸時延增加時,表明網(wǎng)絡(luò)中出現(xiàn)擁塞,ipc即降低rtp碼流的帶寬,避免網(wǎng)絡(luò)擁塞對rtp碼流傳輸所造成 的影響。結(jié)合第一方面、第一方面的第一種可能的實施方式、第一方面的第二種可能的實施方式、第一方面的第三種可能的實施方式、第一方面的第四種可能的實施方式、第一方面的第五種可能的實施方式、第一方面的第六種可能的實施方式或第一方面的第七種可能的實施方式,在第一方面的第八種可能的實施方式中,所述冗余數(shù)據(jù)包使用保留協(xié)議類型進行標(biāo)識,所述保留協(xié)議類型指h.264協(xié)議和h.265協(xié)議未使用的協(xié)議類型。由于ipc傳輸?shù)膔tp碼流中可能包含冗余數(shù)據(jù)包,當(dāng)監(jiān)控平臺未配置冗余數(shù)據(jù)包識別和恢復(fù)能力時,會導(dǎo)致視頻解碼異常。為了提高ipc與不同監(jiān)控平臺之間的兼容性,ipc使用保留協(xié)議類型對rtp碼流中的冗余數(shù)據(jù)包進行標(biāo)識,當(dāng)未配置冗余數(shù)據(jù)包識別和恢復(fù)能力的監(jiān)控平臺接收到包含冗余數(shù)據(jù)包的rtp碼流時,即根據(jù)h.264協(xié)議或h.265協(xié)議直接對冗余數(shù)據(jù)包進行丟棄,保證后續(xù)正常視頻解碼。第二方面,提供了一種碼流傳輸裝置,所述裝置包括至少一個單元,該至少一個單元用于實現(xiàn)上述第一方面或第一方面的可能的實施方式中所提供的碼流傳輸方法。第三方面,提供了一種ipc,所述ipc包括:處理器、分別與所述處理器相連的存儲器和網(wǎng)絡(luò)接口,其中,所述存儲器用于存儲一個或者一個以上的指令,所述指令被配置成由所述處理器執(zhí)行;所述處理器通過執(zhí)行所述存儲器中的指令來實現(xiàn)第一方面或第一方面的可能的實施方式中所提供的碼流傳輸方法。附圖說明為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1示出了本發(fā)明實施例提供的實施環(huán)境的示意圖;圖2示出了本發(fā)明一個示例性實施例提供的碼流傳輸方法的方法流程圖;圖3a示出了本發(fā)明另一個示例性實施例提供的碼流傳輸方法的方法流程圖;圖3b示出了本發(fā)明再一個示例性實施例提供的碼流傳輸方法的方法流程圖;圖4示出了本發(fā)明一個示例性實施例提供的碼流傳輸裝置的框圖;圖5示出了本發(fā)明另一個示例性實施例提供的碼流傳輸裝置的框圖;圖6示出了本發(fā)明實施例提供的ipc600的結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。請參考圖1,其示出了本發(fā)明實施例提供的實施環(huán)境的示意圖。該實施環(huán)境中包括至少一個ipc110以及監(jiān)控平臺120。ipc110是具有攝像以及網(wǎng)絡(luò)傳輸功能的電子設(shè)備。ipc110通過攝像組件采集視頻數(shù)據(jù),并將采集到的視頻數(shù)據(jù)進行編碼后發(fā)送至監(jiān)控平臺120。通常情況下,ipc110對視頻數(shù)據(jù)進行編碼后,還需要對編碼后的視頻數(shù)據(jù)進行rtp分片和打包,并最終以數(shù)據(jù)包的形式向監(jiān)控平臺120傳輸視頻數(shù)據(jù)。本發(fā)明各個實施例提供的碼流傳輸方法即應(yīng)用于ipc110中。ipc110與監(jiān)控平臺通過有線或無線網(wǎng)絡(luò)與監(jiān)控平臺120相連。監(jiān)控平臺120可以是一臺服務(wù)器或由多臺服務(wù)器組成的服務(wù)器集群。監(jiān)控平臺120通過與各個ipc110之間的網(wǎng)絡(luò)接收ipc110傳輸?shù)臄?shù)據(jù)包,并對接收到的數(shù)據(jù)包進行rtp組包和視頻解碼,從而得到相應(yīng)的視頻數(shù)據(jù)。為了方便進行實時監(jiān)控,監(jiān)控平臺120中還可以包含監(jiān)控設(shè)備(比如顯示器),經(jīng)過視頻解碼的視頻數(shù)據(jù)即通過監(jiān)控設(shè)備進行顯示。由于網(wǎng)絡(luò)波動等原因,ipc110向監(jiān)控平臺120傳輸視頻數(shù)據(jù)包時會出現(xiàn)帶寬不足的現(xiàn)象,導(dǎo)致視頻數(shù)據(jù)包在傳輸過程中出現(xiàn)丟包的現(xiàn)象,最終表現(xiàn)為監(jiān)控平臺120處顯示的畫面出現(xiàn)花屏或馬賽克,嚴(yán)重影響視頻監(jiān)控的效果。請參考圖2,其示出了本發(fā)明一個示例性實施例提供的碼流傳輸方法的方法流程圖。本實施例以該碼流傳輸方法應(yīng)用在圖1中的ipc110為例進行說明,該方法包括:步驟201,向監(jiān)控平臺傳輸rtp碼流。該視頻流數(shù)據(jù)包根據(jù)ipc采集的視頻數(shù)據(jù)生成。并且,為了提高rtp碼流的抗丟包能力,在包含視頻流數(shù)據(jù)包的同時,該rtp碼流中還可以包含根據(jù)視頻流數(shù)據(jù)包生成的冗余數(shù)據(jù)包。步驟202,接收監(jiān)控平臺發(fā)送的第一rtcp反饋,第一rtcp反饋用于指示rtp碼流的傳輸質(zhì)量。其中,該第一rtcp反饋可以指示rtp碼流在傳輸中是否發(fā)生丟包,也可以指示rtp碼流的傳輸時延是否增加,還可以指示監(jiān)控平臺是否根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)視頻流數(shù)據(jù)包。比如,當(dāng)向監(jiān)控平臺傳輸?shù)膔tp碼流中僅包含視頻流數(shù)據(jù)包時,該第一rtcp反饋可以指示rtp碼流(即視頻流數(shù)據(jù)包)在傳輸中是否發(fā)生丟包;當(dāng)向監(jiān)控平臺傳輸?shù)膔tp碼流中既包含視頻流數(shù)據(jù)包,又包含根據(jù)視頻流數(shù)據(jù)包生成的冗余數(shù)據(jù)包時,該第一rtcp反饋可以指示rtp碼流的傳輸時延是否增加,還可以指示監(jiān)控平臺是否根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)視頻流數(shù)據(jù)包。步驟203,根據(jù)第一rtcp反饋調(diào)整rtp碼流的冗余率和視頻碼率,冗余率用于指示冗余數(shù)據(jù)包在rtp碼流中所占的比例,冗余數(shù)據(jù)包根據(jù)視頻流數(shù)據(jù)包生成并用于恢復(fù)傳輸過程中丟失的視頻流數(shù)據(jù)包,視頻碼率用于指示單位時間內(nèi)傳輸?shù)囊曨l流數(shù)據(jù)包的數(shù)據(jù)量。需要說明的是,下述各個實施例中,調(diào)整rtp碼流的冗余率和視頻碼率均可以在保持rtp碼流占用帶寬不變的前提下進行。當(dāng)?shù)谝籸tcp反饋指示rtp碼流的傳輸質(zhì)量較差時,表示當(dāng)前的網(wǎng)絡(luò)帶寬無法滿足rtp碼流的正常傳輸,為了保證視頻監(jiān)控的質(zhì)量,在保持rtp碼流占用帶寬不變的前提下,ipc可以調(diào)整rtp碼流中的冗余數(shù)據(jù)包所占用的帶寬以及視頻流數(shù)據(jù)包所占用的帶寬。當(dāng)rtp碼流中的視頻流數(shù)據(jù)包在傳輸過程中發(fā)生丟包時,監(jiān)控平臺可以根據(jù)冗余數(shù)據(jù)包對丟失的視頻流數(shù)據(jù)包進行恢復(fù),避免因視頻流數(shù)據(jù)包丟失導(dǎo)致監(jiān)控畫面出現(xiàn)花屏等現(xiàn)象。其中,ipc中預(yù)設(shè)有至少兩級抗丟包等級,該抗丟包等級與rtp碼流的抗丟包能力呈正比,且抗丟包等級與冗余率呈正比,即rtp碼流對應(yīng)的抗丟包等級越高,表明該rtp碼流的冗余率越高,且該rtp碼流的抗丟包能力越強。相應(yīng)的,ipc可以根據(jù)接收到的第一rtcp反饋,通過上調(diào)或下調(diào)rtp碼流的抗 丟包等級的方式,調(diào)整rtp碼流的冗余率。綜上所述,本實施例提供的碼流傳輸方法,ipc通過在向監(jiān)控平臺傳輸rtp碼流的同時,根據(jù)監(jiān)控平臺反饋的rtp碼流的傳輸質(zhì)量,實時調(diào)整后續(xù)rtp碼流中的視頻流數(shù)據(jù)包和冗余數(shù)據(jù)包,使得在ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動時,監(jiān)控平臺能夠根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)丟失的視頻流數(shù)據(jù)包,避免因傳輸丟包導(dǎo)致監(jiān)控畫面出現(xiàn)花屏或馬賽克現(xiàn)象,保證了視頻監(jiān)控系統(tǒng)的視頻監(jiān)控質(zhì)量。請參考圖3a,其示出了本發(fā)明另一個示例性實施例提供的碼流傳輸方法的方法流程圖。本實施例以該碼流傳輸方法應(yīng)用在圖1中的ipc110為例進行說明,該方法包括:步驟301,向監(jiān)控平臺傳輸rtp碼流。在初始階段,ipc根據(jù)預(yù)設(shè)帶寬向監(jiān)控平臺傳輸僅包含視頻流數(shù)據(jù)包rtp碼流。比如,用戶預(yù)設(shè)的視頻碼率為1024kbps(對應(yīng)帶寬即為1m),ipc即以1m帶寬向監(jiān)控平臺傳輸僅包含視頻流數(shù)據(jù)包的rtp碼流。步驟302,接收監(jiān)控平臺發(fā)送的第一rtcp反饋。監(jiān)控平臺接收到ipc傳輸?shù)膔tp碼流后,對該rtp碼流中的視頻流數(shù)據(jù)包進行rtp組包和視頻解碼,并根據(jù)rtp碼流的傳輸質(zhì)量周期性的向ipc發(fā)送第一rtcp反饋。其中,該第一rtcp反饋可用于指示rtp碼流在傳輸過程中是否發(fā)生丟包。步驟303,檢測該第一rtcp反饋是否指示傳輸過程中發(fā)生丟包。當(dāng)網(wǎng)絡(luò)出現(xiàn)波動時,ipc按照預(yù)設(shè)視頻碼率向監(jiān)控平臺傳輸rtp碼流時會發(fā)生丟包,同時,由于該第一rtp碼流中僅包含視頻流數(shù)據(jù)包,監(jiān)控平臺無法對丟失的視頻流數(shù)據(jù)包進行恢復(fù),導(dǎo)致監(jiān)控平臺側(cè)出現(xiàn)視頻畫面花屏等現(xiàn)象。為了避免因網(wǎng)絡(luò)波動導(dǎo)致的視頻監(jiān)控質(zhì)量下降,ipc檢測第一rtcp反饋是否指示rtp碼流在傳輸過程中發(fā)生丟包,若rtp碼流在傳輸過程中發(fā)生丟包,ipc則下調(diào)rtp碼流的帶寬,直至rtcp反饋指示傳輸過程中不再發(fā)生丟包。步驟304,若第一rtcp反饋指示傳輸過程中發(fā)生丟包,則將該rtp碼流的帶寬下調(diào)預(yù)定比例。當(dāng)?shù)谝籸tcp反饋指示rtp碼流在傳輸過程中發(fā)生丟包時,ipc即按照預(yù)定比例下調(diào)視頻碼率,由于該rtp碼流中僅包含視頻流數(shù)據(jù)包,因此下調(diào)視頻 碼率即下調(diào)rtp碼流的帶寬。比如,ipc以1m帶寬向監(jiān)控平臺傳輸rtp碼流時,監(jiān)控平臺指示傳輸過程中出現(xiàn)丟包,ipc即將rtp碼流的帶寬下調(diào)為1*0.9=0.9m。需要說明的是,本實施例并不對帶寬下調(diào)的比例進行限定。步驟305,向監(jiān)控平臺傳輸下調(diào)帶寬后的rtp碼流并接收監(jiān)控平臺后續(xù)發(fā)送的第二rtcp反饋。ipc根據(jù)下調(diào)后的帶寬,向監(jiān)控平臺傳輸rtp碼流,并接收監(jiān)控平臺周期性返回的rtcp反饋。通過上述步驟301至步驟305,ipc根據(jù)監(jiān)控平臺發(fā)送的rtcp反饋對rtp碼流的帶寬進行粗粒度調(diào)節(jié),直至rtcp反饋指示傳輸過程中不再發(fā)生丟包,使得rtp碼流的帶寬符合當(dāng)前的網(wǎng)絡(luò)狀況,避免因傳輸丟包導(dǎo)致的視頻花屏,優(yōu)先保障視頻監(jiān)控的流暢度和穩(wěn)定性。步驟306,若第二rtcp反饋指示傳輸過程中未發(fā)生丟包,則在rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包。ipc預(yù)先設(shè)置有多級抗丟包等級,該抗丟包等級與rtp碼流的抗丟包能力呈正比,且抗丟包等級與冗余率(rtp碼流中冗余數(shù)據(jù)包所占用帶寬占rtp碼流所占用帶寬的比例)呈正比。即rtp碼流對應(yīng)的抗丟包等級越高,表明該rtp碼流的冗余率越高,相應(yīng)的該rtp碼流的抗丟包能力越強。其中,抗丟包等級、抗丟包能力以及冗余率之間的對應(yīng)關(guān)系可以示意性如表一所示。表一抗丟包等級抗丟包率冗余率520%50%416%45%312%40%28%33%14%25%其中,抗丟包率越高表示抗丟包能力越強,冗余率越高表示rtp碼流中冗余數(shù)據(jù)包占用帶寬的比例越高。當(dāng)網(wǎng)絡(luò)狀況發(fā)生波動時,為了實現(xiàn)對網(wǎng)絡(luò)狀況的主動探測并進一步提高rtp碼流的抗丟包能力,當(dāng)?shù)诙tcp反饋指示傳輸過程中未發(fā)生丟包時,在rtp碼流占用帶寬保持不變的情況下,ipc降低視頻流數(shù)據(jù)包所占用的帶寬,并在rtp碼流中加入根據(jù)視頻流數(shù)據(jù)包生成的冗余數(shù)據(jù)包,使得監(jiān)控平臺能夠根據(jù) 冗余數(shù)據(jù)包恢復(fù)丟失的視頻流數(shù)據(jù)包。作為一種可能的實施方式,當(dāng)?shù)诙tcp反饋指示傳輸過程中未發(fā)生丟包時,ipc即下調(diào)rtp碼流中視頻流數(shù)據(jù)包占用的帶寬,并利用節(jié)省下的帶寬在rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包(即將rtp碼流的冗余率調(diào)整至最高抗丟包等級對應(yīng)的冗余率)。其中,該冗余數(shù)據(jù)包根據(jù)rtp碼流中的視頻流數(shù)據(jù)包生成,比如,冗余數(shù)據(jù)包可以由兩個視頻流數(shù)據(jù)包按位異或后得到,當(dāng)某個視頻流數(shù)據(jù)包丟失時,監(jiān)控平臺即可通過該冗余數(shù)據(jù)包和另一視頻流數(shù)據(jù)包反向異或回復(fù)丟失的視頻流數(shù)據(jù)包。本實施例并不對冗余數(shù)據(jù)包生成的方式進行限定。比如,當(dāng)ipc以0.9m帶寬向監(jiān)控平臺傳輸rtp碼流時未發(fā)生丟包,且最高抗丟包等級對應(yīng)的冗余率為50%,ipc即將rtp碼流中視頻流數(shù)據(jù)包占用的帶寬下調(diào)為0.9*(1-50%)=0.45m,并利用節(jié)省下的0.45m帶寬加入抗丟包等級為5的冗余數(shù)據(jù)包(冗余率為50%)。步驟307,接收監(jiān)控平臺后續(xù)發(fā)送的第三rtcp反饋。ipc向監(jiān)控平臺發(fā)送添加冗余數(shù)據(jù)包后的rtp碼流,并接收監(jiān)控平臺后續(xù)發(fā)送的第三rtcp反饋。步驟308,檢測第三rtcp反饋是否指示傳輸時延增加。由于rtp碼流中包含冗余數(shù)據(jù)包,監(jiān)控平臺接收到rtp碼流后,可以獲取冗余數(shù)據(jù)包的冗余包頭信息,并根據(jù)該冗余包頭信息中攜帶的發(fā)送時間以及接收到rtp碼流的接收時間計算傳輸rtp碼流的傳輸時延。若檢測到傳輸時延增加,則表明網(wǎng)絡(luò)出現(xiàn)擁塞,當(dāng)前rtp碼流占用的帶寬不合適,為了避免傳輸出現(xiàn)丟包,ipc需要進一步下調(diào)rtp碼流占用的帶寬;若檢測到傳輸時延未增加,則表明網(wǎng)絡(luò)狀況良好,當(dāng)前rtp碼流占用的帶寬合適,ipc可以進一步根據(jù)rtcp反饋調(diào)節(jié)rtp碼流的冗余率和視頻碼率,從而達到rtp碼流的細粒度調(diào)節(jié)。步驟309,若第三rtcp反饋指示傳輸時延增加,則將該rtp碼流的帶寬下調(diào)預(yù)定比例。當(dāng)?shù)谌齬tcp反饋指示傳輸時延增加時,與上述步驟304相似的,ipc將rtp碼流占用的帶寬下調(diào)預(yù)定比例,避免因占用帶寬過大導(dǎo)致的傳輸丟包。需要說明的是,ipc在下調(diào)rtp碼流所占帶寬時,該rtp碼流的冗余率保持不變,并且,由于rtp碼流占用的帶寬下調(diào),該rtp碼流的視頻碼率也相應(yīng)降低。比如,當(dāng)前rtp碼流所占的帶寬為2m,且rtp碼流的冗余率為50%,視頻碼率為1024kbps,當(dāng)?shù)诙tcp反饋指示傳輸時延增加時,ipc將rtp碼流占用的帶寬下調(diào)10%,此時,rtp碼流所占的帶寬為2m*0.9=1.8m,冗余率保持50%,而rtp碼流的視頻碼率降低至1024kbps*0.9=922kbps。步驟310,若第三rtcp反饋指示傳輸時延未增加,則根據(jù)第三rtcp反饋調(diào)整rtp碼流的冗余率和視頻碼率。由于rtp碼流中不僅包含視頻流數(shù)據(jù)包,還包含冗余數(shù)據(jù)包,因此,當(dāng)rtp碼流在傳輸過程中丟失部分視頻流數(shù)據(jù)包時,監(jiān)控平臺可以根據(jù)接收到的視頻流數(shù)據(jù)包以及冗余數(shù)據(jù)包對丟失的視頻流數(shù)據(jù)包進行恢復(fù),并向ipc發(fā)送攜帶有視頻流數(shù)據(jù)包恢復(fù)情況的第三rtcp反饋。ipc接收到第三rtcp反饋后,即根據(jù)第三rtcp反饋所指示的視頻流數(shù)據(jù)包恢復(fù)情況對后續(xù)rtp碼流的冗余率和視頻碼率進行細粒度調(diào)節(jié)。作為一種可能的實施方式,若第三rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則表明網(wǎng)絡(luò)中存在丟包,為了保證視頻監(jiān)控的穩(wěn)定性,ipc進一步提高rtp碼流的冗余率并降低視頻碼率;若第三rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則表明網(wǎng)絡(luò)中不存在丟包,為了提高視頻監(jiān)控的顯示效果,ipc則降低rtp碼流的冗余率并提高視頻碼率。比如,ipc向rtp碼流中添加了抗丟包等級為5級的冗余數(shù)據(jù)包,且監(jiān)控平臺反饋不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,ipc則將后續(xù)rtp碼流的抗丟包等級下調(diào)為4級,并提高視頻碼率。如此循環(huán),當(dāng)網(wǎng)絡(luò)狀況穩(wěn)定時,rtp碼流中的冗余數(shù)據(jù)包將被去除,rtp碼流的視頻碼率即為rtp碼流所占帶寬。經(jīng)過上述步驟310,ipc通過在rtp碼流中的添加冗余數(shù)據(jù)包來探測網(wǎng)絡(luò)狀況,保證了rtp碼流傳輸?shù)姆€(wěn)定性;同時,ipc根據(jù)探測到的網(wǎng)絡(luò)狀況對rtp碼流的冗余率和視頻碼率進行調(diào)節(jié),并最終在網(wǎng)絡(luò)狀況穩(wěn)定時去除rtp碼流中的冗余數(shù)據(jù)包,提高了視頻監(jiān)控的監(jiān)控效果。步驟311,若在預(yù)定時長內(nèi),rtp碼流的視頻碼率小于預(yù)定碼率閾值且rtp碼流中不包含冗余數(shù)據(jù)包,則將rtp碼流的帶寬上調(diào)預(yù)設(shè)帶寬數(shù)值。由于在上述步驟304中,rtp碼流所占的帶寬被下調(diào),小于用戶預(yù)設(shè)帶寬(視頻碼率降低),視頻監(jiān)控雖然穩(wěn)定但是視頻顯示效果卻低于預(yù)期。為了提高 視頻監(jiān)控的顯示效果,當(dāng)rtp碼流中不包含冗余數(shù)據(jù)包,且rtp碼流的視頻碼率低于預(yù)定碼率時,ipc在當(dāng)前rtp碼流所占帶寬的基礎(chǔ)上,上調(diào)預(yù)設(shè)帶寬。需要說明的是,上調(diào)后rtp碼流所占的帶寬應(yīng)不大于預(yù)定碼率閾值。需要說明的是,ipc將rtp碼流的帶寬上調(diào)預(yù)設(shè)帶寬數(shù)值可以指在當(dāng)前rtp碼流所占帶寬的基礎(chǔ)上增加預(yù)定帶寬值,比如,ipc在0.8m帶寬的基礎(chǔ)上增加0.1m帶寬,即將rtp碼流所占帶寬提升至0.9m;ipc將rtp碼流的帶寬上調(diào)預(yù)設(shè)帶寬數(shù)值也可以指指在當(dāng)前rtp碼流所占帶寬的基礎(chǔ)上上調(diào)預(yù)定比例,比如,ipc在0.8m帶寬的基礎(chǔ)上上調(diào)10%的帶寬,即將rtp碼流所占帶寬提升至0.88m,本發(fā)明實施例并不對上調(diào)rtp碼流所占帶寬的方式進行限定。步驟312,在上調(diào)帶寬后的rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包。為了保證在上調(diào)帶寬的同時,rtp碼流具有較好的抗丟包能力,ipc降低rtp碼流中視頻流數(shù)據(jù)包所占帶寬,并利用節(jié)省的帶寬加入最高抗丟包等級的冗余數(shù)據(jù)包,即在上調(diào)帶寬后的rtp碼流中加入最高冗余率的冗余數(shù)據(jù)包。在rtp碼流中加入冗余數(shù)據(jù)包后,ipc重復(fù)執(zhí)行上述步驟307至步驟310,根據(jù)rtcp反饋調(diào)節(jié)rtp碼流的冗余率和視頻碼率,最終在網(wǎng)絡(luò)狀況穩(wěn)定時,去除rtp碼流中的冗余數(shù)據(jù)包,使得rtp碼流的視頻碼率達到預(yù)設(shè)碼率閾值,達到較好的視頻顯示效果。綜上所述,本實施例提供的碼流傳輸方法,ipc通過在向監(jiān)控平臺傳輸rtp碼流的同時,根據(jù)監(jiān)控平臺反饋的rtp碼流的傳輸質(zhì)量,實時調(diào)整后續(xù)rtp碼流中的視頻流數(shù)據(jù)包和冗余數(shù)據(jù)包,使得在ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動時,監(jiān)控平臺能夠根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)丟失的視頻流數(shù)據(jù)包,避免因傳輸丟包導(dǎo)致監(jiān)控畫面出現(xiàn)花屏或馬賽克現(xiàn)象,保證了視頻監(jiān)控系統(tǒng)的視頻監(jiān)控質(zhì)量。本實施例中,ipc中預(yù)先設(shè)置多級抗丟包等級,ipc只需要調(diào)節(jié)rtp碼流中冗余數(shù)據(jù)包的抗丟包等級即可實現(xiàn)對rtp碼流的冗余率的調(diào)節(jié),提高了ipc調(diào)節(jié)rtp碼流的效率。本實施例中,當(dāng)rtp碼流中僅包含視頻流數(shù)據(jù)包,且rtp碼流的視頻碼率長時間低于預(yù)定碼率時,表明ip網(wǎng)絡(luò)帶寬未得到充分利用。為了進一步提升視頻監(jiān)控的效果,ipc提高rtp碼流的帶寬,并向增加帶寬后的rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包,在提高ip網(wǎng)絡(luò)帶寬使用率的同時,保證了rtp碼流的抗丟包能力。本實施例中,當(dāng)ipc傳輸?shù)膔tp碼流中僅包含視頻流數(shù)據(jù)包且rtcp反饋指示rtp碼流在傳輸過程中發(fā)生丟包時,由于監(jiān)控平臺無法進行視頻流數(shù)據(jù)包的恢復(fù),因此ipc降低后續(xù)rtp碼流的帶寬,避免rtp碼流在傳輸過程中發(fā)生丟包,實現(xiàn)對rtp碼流的粗粒度調(diào)節(jié)。本實施例中,當(dāng)rtp碼流中包含冗余數(shù)據(jù)包時,ipc根據(jù)監(jiān)控平臺反饋的傳輸時延確定rtp碼流的帶寬是否適當(dāng),當(dāng)傳輸時延未增加時,確定rtp碼流的帶寬適當(dāng),并對rtp碼流的冗余率和視頻碼率進行調(diào)節(jié);當(dāng)傳輸時延增加時,表明網(wǎng)絡(luò)中出現(xiàn)擁塞,ipc即降低rtp碼流的帶寬,避免網(wǎng)絡(luò)擁塞對rtp碼流傳輸所造成的影響。在圖3a所示碼流傳輸方法的基礎(chǔ)上,如圖3b所示,ipc根據(jù)rtcp反饋對rtp碼流的冗余率和視頻碼率進行細粒度調(diào)節(jié)時,上述步驟310可以進一步包括如下步驟。步驟310a,若第三rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則提高冗余率并降低視頻碼率。當(dāng)rtp碼流在傳輸過程中丟失部分視頻流數(shù)據(jù)包時,監(jiān)控平臺可以根據(jù)接收到的視頻流數(shù)據(jù)包以及冗余數(shù)據(jù)包對丟失的視頻流數(shù)據(jù)包進行恢復(fù),并向ipc發(fā)送攜帶有視頻流數(shù)據(jù)包恢復(fù)情況的第三rtcp反饋。當(dāng)ipc接收到的第三rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,表明當(dāng)前網(wǎng)絡(luò)中存在丟包。為了優(yōu)先保證視頻監(jiān)控的穩(wěn)定性,ipc提高后續(xù)rtp碼流的冗余率,并相應(yīng)降低rtp碼流的視頻碼率,從而提高rtp碼流的抗丟包能力。具體的,本步驟還可以包括如下步驟。步驟310aa,若第三rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且當(dāng)前抗丟包等級不是最高等級,則將抗丟包等級提高預(yù)定等級并降低視頻碼率。由于ipc預(yù)先設(shè)置了多級抗丟包等級,因此,當(dāng)?shù)谌齬tcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,ipc獲取當(dāng)前rtp碼流的抗丟包等級,并在當(dāng)前抗丟包等級不是最高級時,提高rtp碼流的抗丟包等級,由于rtp碼流所占帶寬未變化,因此在提高rtp碼流的冗余率的同時,需要相應(yīng)降低rtp碼流的視頻碼流。比如,rtp碼流所占帶寬為0.9m,且抗丟包等級為3級(冗余率為40%,視頻碼率為553kbps),當(dāng)?shù)谌齬tcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,ipc即將rtp碼流的抗丟包等級上調(diào)為4級(冗余率為45%),并將視頻碼率下調(diào)為507kbps。步驟310ab,若第三rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)視頻流數(shù)據(jù)包且當(dāng)前抗丟包等級是最高等級,則保持當(dāng)前抗丟包等級和當(dāng)前視頻碼率。若rtp碼流當(dāng)前的抗丟包等級已經(jīng)為最高級時,ipc保持當(dāng)前抗丟包等級和當(dāng)前視頻碼率,繼續(xù)向監(jiān)控平臺傳輸rtp碼流。步驟310b,若第三rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包,則降低冗余率并提高視頻碼率。當(dāng)?shù)谌齬tcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,表明網(wǎng)絡(luò)中存在丟包,ipc可以降低rtp碼流的冗余率,并提高其視頻碼率,從而達到更好的視頻顯示效果。具體的,本步驟還可以包括如下步驟。步驟310ba,若第三rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且rtp碼流中包含冗余數(shù)據(jù)包,則將抗丟包等級降低預(yù)定等級并提高視頻碼率。由于ipc預(yù)先設(shè)置了多級抗丟包等級,因此,當(dāng)?shù)谌齬tcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,ipc獲取當(dāng)前rtp碼流的抗丟包等級,并下調(diào)該抗丟包等級,由于rtp碼流所占帶寬未變化,因此在降低rtp碼流的冗余率的同時,需要相應(yīng)提高rtp碼流的視頻碼流。比如,rtp碼流所占帶寬為0.9m,且抗丟包等級為5級(冗余率為50%,視頻碼率為461kbps),當(dāng)?shù)谌齬tcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,ipc即將rtp碼流的抗丟包等級下調(diào)為4級(冗余率為45%),并將視頻碼率上調(diào)為507kbps。步驟310bb,若第三rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且rtp碼流中不包含冗余數(shù)據(jù)包,則保持當(dāng)前視頻碼率。若當(dāng)前rtp碼流中已不包含冗余包,ipc即保持當(dāng)前視頻碼率向監(jiān)控平臺傳輸rtp碼流(此時該rtp碼流中僅包含視頻流數(shù)據(jù)包)。需要說明的是,由于ipc與監(jiān)控平臺可能出自不同廠商,當(dāng)監(jiān)控平臺未配 置冗余數(shù)據(jù)包識別和恢復(fù)能力時,會導(dǎo)致視頻解碼異常。為了提高ipc與不同監(jiān)控平臺之間的兼容性,ipc使用保留協(xié)議類型對rtp碼流中的冗余數(shù)據(jù)包進行標(biāo)識,當(dāng)未配置冗余數(shù)據(jù)包識別和恢復(fù)能力的監(jiān)控平臺接收到包含冗余數(shù)據(jù)包的rtp碼流時,即根據(jù)h.264協(xié)議或h.265協(xié)議直接對冗余數(shù)據(jù)包進行丟棄,保證后續(xù)正常視頻解碼。比如,對于h.264協(xié)議來說,協(xié)議類型0-21被占用,協(xié)議類型22-255未被使用,ipc即可使用22-255協(xié)議類型對冗余數(shù)據(jù)包進行標(biāo)識;又比如,對于h.265協(xié)議來說,協(xié)議類型3、4、5、17、22、132被占用,ipc即可使用剩余的協(xié)議類型對冗余數(shù)據(jù)包進行標(biāo)識。請參考圖4,其示出了本發(fā)明一個示例性實施例提供的碼流傳輸裝置的框圖。該碼流傳輸裝置可以通過軟件、硬件或者兩者的結(jié)合實現(xiàn)成為圖1所示ipc110的全部或者一部分。該碼流傳輸裝置可以包括:傳輸單元410、接收單元420和調(diào)整單元430。傳輸單元410,用于向監(jiān)控平臺傳輸rtp碼流;接收單元420,用于接收監(jiān)控平臺發(fā)送的第一rtcp反饋,第一rtcp反饋用于指示rtp碼流的傳輸質(zhì)量;調(diào)整單元430,用于根據(jù)第一rtcp反饋調(diào)整rtp碼流的冗余率和視頻碼率,冗余率用于指示rtp碼流中冗余數(shù)據(jù)包所占的比例,冗余數(shù)據(jù)包根據(jù)rtp碼流中的視頻流數(shù)據(jù)包生成,視頻碼率用于指示單位時間內(nèi)傳輸?shù)囊曨l流數(shù)據(jù)包的數(shù)據(jù)量。綜上所述,本實施例提供的碼流傳輸裝置,ipc通過在向監(jiān)控平臺傳輸rtp碼流的同時,根據(jù)監(jiān)控平臺反饋的rtp碼流的傳輸質(zhì)量,實時調(diào)整后續(xù)rtp碼流中的視頻流數(shù)據(jù)包和冗余數(shù)據(jù)包,使得在ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動時,監(jiān)控平臺能夠根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)丟失的視頻流數(shù)據(jù)包,避免因傳輸丟包導(dǎo)致監(jiān)控畫面出現(xiàn)花屏或馬賽克現(xiàn)象,保證了視頻監(jiān)控系統(tǒng)的視頻監(jiān)控質(zhì)量。在基于圖4所示的碼流傳輸裝置的基礎(chǔ)上,請參考圖5,其示出了本發(fā)明另一個示例性實施例提供的碼流傳輸裝置的框圖。該碼流傳輸裝置可以通過軟件、硬件或者兩者的結(jié)合實現(xiàn)成為圖1所示ipc110的全部或者一部分。該碼流傳輸裝置可以包括:傳輸單元510、接收單元520和調(diào)整單元530。傳輸單元510,用于向監(jiān)控平臺傳輸rtp碼流;接收單元520,用于接收監(jiān)控平臺發(fā)送的第一rtcp反饋,第一rtcp反饋用于指示rtp碼流的傳輸質(zhì)量;調(diào)整單元530,用于根據(jù)第一rtcp反饋調(diào)整rtp碼流的冗余率和視頻碼率,冗余率用于指示rtp碼流中冗余數(shù)據(jù)包所占的比例,冗余數(shù)據(jù)包根據(jù)rtp碼流中的視頻流數(shù)據(jù)包生成,視頻碼率用于指示單位時間內(nèi)傳輸?shù)囊曨l流數(shù)據(jù)包的數(shù)據(jù)量。在一種可能的實施方式中,調(diào)整單元530,用于在第一rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,提高冗余率并降低視頻碼率;或者,調(diào)整單元530,用于在第一rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包時,降低冗余率并提高視頻碼率。在一種可能的實施方式中,ipc預(yù)設(shè)有至少兩級抗丟包等級,抗丟包等級與rtp碼流的抗丟包能力呈正比,且抗丟包等級與冗余率呈正比。在一種可能的實施方式中,調(diào)整單元530,用于:若第一rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且當(dāng)前抗丟包等級不是最高等級,則將抗丟包等級提高預(yù)定等級并降低視頻碼率;若第一rtcp反饋指示存在通過冗余數(shù)據(jù)包恢復(fù)視頻流數(shù)據(jù)包且當(dāng)前抗丟包等級是最高等級,則保持當(dāng)前抗丟包等級和當(dāng)前視頻碼率。在一種可能的實施方式中,調(diào)整單元530,用于:若第一rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且rtp碼流中包含冗余數(shù)據(jù)包,則將抗丟包等級降低預(yù)定等級并提高視頻碼率;若第一rtcp反饋指示不存在通過冗余數(shù)據(jù)包恢復(fù)的視頻流數(shù)據(jù)包且rtp碼流中不包含冗余數(shù)據(jù)包,則保持當(dāng)前視頻碼率。在一種可能的實施方式中,該裝置還包括:第一帶寬調(diào)節(jié)單元540,用于若在預(yù)定時長內(nèi),rtp碼流的視頻碼率小于預(yù)定碼率閾值且rtp碼流中不包含冗余數(shù)據(jù)包,則將rtp碼流的帶寬上調(diào)預(yù)設(shè)帶寬數(shù)值;第一帶寬調(diào)節(jié)單元540,還用于在上調(diào)帶寬后的rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包,并降低視頻碼率。在一種可能的實施方式中,rtp碼流中僅包含視頻流數(shù)據(jù)包,且第一rtcp 反饋指示傳輸過程中發(fā)生丟包,該裝置還包括:第二帶寬調(diào)節(jié)單元550,用于將rtp碼流的帶寬下調(diào)預(yù)定比例;第二帶寬調(diào)節(jié)單元550,還用于向監(jiān)控平臺傳輸下調(diào)帶寬后的rtp碼流并接收監(jiān)控平臺后續(xù)發(fā)送的第二rtcp反饋。在一種可能的實施方式中,該裝置還包括:添加單元560,用于在第二rtcp反饋指示傳輸過程中未發(fā)生丟包時,在rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包;接收單元520,用于接收所述監(jiān)控平臺后續(xù)發(fā)送的第三rtcp反饋;調(diào)整單元530還用于,在第三rtcp反饋指示傳輸時延未增加時,根據(jù)第三rtcp反饋調(diào)整rtp碼流的冗余率和視頻碼率。在一種可能的實施方式中,冗余數(shù)據(jù)包使用保留協(xié)議類型進行標(biāo)識,保留協(xié)議類型指h.264協(xié)議和h.265協(xié)議未使用的協(xié)議類型。綜上所述,本實施例提供的碼流傳輸裝置,ipc通過在向監(jiān)控平臺傳輸rtp碼流的同時,根據(jù)監(jiān)控平臺反饋的rtp碼流的傳輸質(zhì)量,實時調(diào)整后續(xù)rtp碼流中的視頻流數(shù)據(jù)包和冗余數(shù)據(jù)包,使得在ip網(wǎng)絡(luò)出現(xiàn)網(wǎng)絡(luò)波動時,監(jiān)控平臺能夠根據(jù)rtp碼流中的冗余數(shù)據(jù)包恢復(fù)丟失的視頻流數(shù)據(jù)包,避免因傳輸丟包導(dǎo)致監(jiān)控畫面出現(xiàn)花屏或馬賽克現(xiàn)象,保證了視頻監(jiān)控系統(tǒng)的視頻監(jiān)控質(zhì)量。本實施例中,ipc中預(yù)先設(shè)置多級抗丟包等級,ipc只需要調(diào)節(jié)rtp碼流中冗余數(shù)據(jù)包的抗丟包等級即可實現(xiàn)對rtp碼流的冗余率的調(diào)節(jié),提高了ipc調(diào)節(jié)rtp碼流的效率。本實施例中,當(dāng)rtp碼流中僅包含視頻流數(shù)據(jù)包,且rtp碼流的視頻碼率長時間低于預(yù)定碼率時,表明ip網(wǎng)絡(luò)帶寬未得到充分利用。為了進一步提升視頻監(jiān)控的效果,ipc提高rtp碼流的帶寬,并向增加帶寬后的rtp碼流中加入最高抗丟包等級的冗余數(shù)據(jù)包,在提高ip網(wǎng)絡(luò)帶寬使用率的同時,保證了rtp碼流的抗丟包能力。本實施例中,當(dāng)ipc傳輸?shù)膔tp碼流中僅包含視頻流數(shù)據(jù)包且rtcp反饋指示rtp碼流在傳輸過程中發(fā)生丟包時,由于監(jiān)控平臺無法進行視頻流數(shù)據(jù)包的恢復(fù),因此ipc降低后續(xù)rtp碼流的帶寬,避免rtp碼流在傳輸過程中發(fā)生丟包,實現(xiàn)對rtp碼流的粗粒度調(diào)節(jié)。本實施例中,當(dāng)rtp碼流中包含冗余數(shù)據(jù)包時,ipc根據(jù)監(jiān)控平臺反饋的傳輸時延確定rtp碼流的帶寬是否適當(dāng),當(dāng)傳輸時延未增加時,確定rtp碼流的帶寬適當(dāng),并對rtp碼流的冗余率和視頻碼率進行調(diào)節(jié);當(dāng)傳輸時延增加時,表明網(wǎng)絡(luò)中出現(xiàn)擁塞,ipc即降低rtp碼流的帶寬,避免網(wǎng)絡(luò)擁塞對rtp碼流傳輸所造成的影響。請參考圖6,其示出了本發(fā)明實施例提供的ipc600的結(jié)構(gòu)示意圖。ipc600可以包括:處理器610、攝像組件620、存儲器630和網(wǎng)絡(luò)接口640等部件。本領(lǐng)域技術(shù)人員可以理解,圖6中示出的ipc600的結(jié)構(gòu)并不構(gòu)成對ipc的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:處理器610是ipc600的控制中心,利用各種接口和線路連接整個ipc的各個部分,通過運行或執(zhí)行存儲在存儲器620內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器620內(nèi)的數(shù)據(jù),執(zhí)行ipc600的各種功能和處理數(shù)據(jù),從而對ipc600進行整體控制??蛇x的,處理器610可包括一個或多個處理核心;可選的,處理器610可集成調(diào)制解調(diào)處理器以及圖形處理器,其中,調(diào)制解調(diào)處理器主要處理無線通信,圖形處理器用于處理采集到的視頻數(shù)據(jù)??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器和圖形處理器也可以不集成到處理器610中,而以獨立的處理器存在。攝像組件620是具有攝像功能的組件。具體的,該攝像模塊包括攝像頭。攝像組件620將采集到的視頻數(shù)據(jù)傳輸至處理器610,由處理器610對視頻數(shù)據(jù)進行視頻編碼,并進一步對編碼后的視頻數(shù)據(jù)進行rtp分片和打包,使其符合rtp傳輸協(xié)議。存儲器630可用于存儲軟件程序以及模塊。處理器610通過運行存儲在存儲器630的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器630可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲傳輸單元631、接收單元632和調(diào)整單元631。此外,存儲器630可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(英文:staticrandomaccessmemory,簡稱:sram),電可擦除可編程只讀存儲器(英文:electricallyerasableprogrammableread-onlymemory,簡稱:eeprom), 可擦除可編程只讀存儲器(英文:erasableprogrammablereadonlymemory,簡稱:eprom),可編程只讀存儲器(英文:programmableread-onlymemory,簡稱:prom),只讀存儲器(英文:readonlymemory,簡稱:rom),磁存儲器,快閃存儲器,磁盤或光盤。相應(yīng)地,存儲器630還可以包括存儲器控制器,以提供處理器610對存儲器630的訪問。網(wǎng)絡(luò)接口640可以為一個或多個,用于通過ip網(wǎng)絡(luò)與監(jiān)控平臺進行通信。ipc600還包括給各個部件供電的電源(圖中未示出),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器610邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。盡管未示出,ipc600還可以包括麥克風(fēng)、藍牙模塊等,在此不再贅述。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁12