專(zhuān)利名稱(chēng):一種視頻監(jiān)控系統(tǒng)及其前向糾錯(cuò)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻監(jiān)控領(lǐng)域,具體涉及一種視頻監(jiān)控系統(tǒng)及其前向糾錯(cuò)的方法。
背景技術(shù):
基于IP網(wǎng)絡(luò)的視頻監(jiān)控業(yè)務(wù)是一項(xiàng)新興的多媒體增值業(yè)務(wù)。該業(yè)務(wù)系統(tǒng)主要由 監(jiān)控前端、監(jiān)控平臺(tái)和監(jiān)控客戶(hù)端三大部分組成。監(jiān)控前端主要完成視音頻信號(hào)的采集、 編碼和上傳;完成報(bào)警信號(hào)的采集、處理以及完成攝像機(jī)、云臺(tái)等輔助設(shè)備的控制。監(jiān)控平 臺(tái)主要完成媒體的分發(fā)、設(shè)備管理、業(yè)務(wù)管理和運(yùn)營(yíng)支撐等。監(jiān)控客戶(hù)端主要為客戶(hù)呈現(xiàn) 具體的視頻監(jiān)控業(yè)務(wù)。監(jiān)控前端和監(jiān)控平臺(tái)之間常常因上行帶寬受限而出現(xiàn)網(wǎng)絡(luò)丟包的 問(wèn)題,從而引起圖像質(zhì)量的下降,損害了用戶(hù)體驗(yàn)。目前在應(yīng)用層解決這種問(wèn)題,可以使用 ARQ(Automatic R印eat-request,自動(dòng)重傳請(qǐng)求)方法,這種方法要求接收端實(shí)時(shí)對(duì)網(wǎng)絡(luò) 狀況進(jìn)行反饋,發(fā)送端根據(jù)收到的反饋信息對(duì)媒體數(shù)據(jù)進(jìn)行重傳。在視頻監(jiān)控這樣的應(yīng)用 中,ARQ對(duì)監(jiān)控前端的要求較高,不太合適。當(dāng)前的FEC (Forward Error Correction,前向 糾錯(cuò))方法,發(fā)送端同時(shí)發(fā)送媒體碼流和糾錯(cuò)碼流,接收端根據(jù)收到的媒體碼流和糾錯(cuò)碼 流進(jìn)行判斷,并進(jìn)行相應(yīng)的糾錯(cuò)。但是現(xiàn)有技術(shù) 中在應(yīng)用層并沒(méi)有通過(guò)FEC方法,解決監(jiān)控 前端和監(jiān)控平臺(tái)之間常常因上行帶寬受限而出現(xiàn)網(wǎng)絡(luò)丟包的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種視頻監(jiān)控系統(tǒng)及其前向糾錯(cuò)的方法,解決
了監(jiān)控前端和監(jiān)控平臺(tái)之間常常因上行帶寬受限而出現(xiàn)網(wǎng)絡(luò)丟包的問(wèn)題。 為了解決上述問(wèn)題,本發(fā)明提供了一種視頻監(jiān)控系統(tǒng)中前向糾錯(cuò)的方法,所述視
頻監(jiān)控系統(tǒng)包括監(jiān)控前端和監(jiān)控平臺(tái),包括 監(jiān)控前端向監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà); 監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,并將編碼后的FEC糾錯(cuò)碼流和源媒體碼 流在相同的通道中傳送到監(jiān)控平臺(tái); 監(jiān)控平臺(tái)將收到的碼流拆分成源媒體碼流和FEC糾錯(cuò)碼流,判斷若有媒體包丟 失,則通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包。 進(jìn)一步地,上述方法還可包括,所述監(jiān)控前端向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求時(shí),還 包括在會(huì)話(huà)描述協(xié)議SDP消息中攜帶支持前向糾錯(cuò)FEC的字段; 所述監(jiān)控平臺(tái)從收到的SDP消息中獲取支持FEC的字段,進(jìn)行初始化并預(yù)留資源。
進(jìn) 一 步地,上述方法還可包括,所述監(jiān)控前端定義的所述S D P消息如下m = 〈mediaXportXtransportXfmt list〉,其中〈fmt list〉的關(guān)鍵字段,包括載荷類(lèi)型、源 碼流標(biāo)識(shí)、FEC編碼標(biāo)識(shí)、FEC編碼冗余度、FEC編碼的源包個(gè)數(shù)和FEC修復(fù)窗口大??;
所述監(jiān)控平臺(tái)是根據(jù)所述載荷類(lèi)型將收到的碼流拆分成媒體碼流和FEC糾錯(cuò)碼 流。 進(jìn)一步地,上述方法還可包括,所述監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,包括 所述監(jiān)控前端在FEC編碼數(shù)據(jù)前添加FEC頭,然后和FEC的編碼數(shù)據(jù)一起作為RTP 包的載荷內(nèi)容直接打包;其中,F(xiàn)EC編碼數(shù)據(jù)做RTP封裝時(shí),采用與源媒體碼流不同的載荷 類(lèi)型進(jìn)行定義。 進(jìn)一步地,上述方法還可包括,所述監(jiān)控平臺(tái)通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體 碼流中丟失的媒體包,是指 所述監(jiān)控平臺(tái)通過(guò)FEC糾錯(cuò)碼流,經(jīng)過(guò)FEC解碼運(yùn)算,恢復(fù)源媒體碼流中丟失的媒 體包。 進(jìn)一步地,上述方法還可包括,當(dāng)停止監(jiān)控時(shí),所述監(jiān)控平臺(tái)向所述監(jiān)控前端發(fā)送 停止播放請(qǐng)求,所述監(jiān)控前端回復(fù)停止播放響應(yīng),并停止發(fā)送媒體碼流和FEC糾錯(cuò)碼流;所 述監(jiān)控平臺(tái)收到響應(yīng)后,釋放相關(guān)資源。 本發(fā)明還提供了一種視頻監(jiān)控系統(tǒng),包括監(jiān)控前端和監(jiān)控平臺(tái),其中, 所述監(jiān)控前端,用于向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà);對(duì)媒體碼流
進(jìn)行FEC糾錯(cuò)編碼,并將編碼后的FEC糾錯(cuò)碼流和源媒體碼流在相同的通道中傳送到監(jiān)控
平臺(tái); 所述監(jiān)控平臺(tái),用于將所述監(jiān)控前端發(fā)送的碼流拆分成源媒體碼流和FEC糾錯(cuò)碼 流,判斷若有媒體包丟失,則通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包。
進(jìn)一步地,上述系統(tǒng)還可包括,所述監(jiān)控前端,還用于向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng) 求時(shí),在會(huì)話(huà)描述協(xié)議SDP消息中攜帶支持前向糾錯(cuò)FEC的字段; 所述監(jiān)控平臺(tái),還用于從收到的SDP消息中獲取支持FEC的字段,進(jìn)行初始化并預(yù) 留資源。 進(jìn) 一 步地,上述系統(tǒng)還可包括,所述監(jiān)控前端定義的所述SDP消息如下m = 〈mediaXportXtransportXfmt list〉,其中〈fmt list〉的關(guān)鍵字段,包括載荷類(lèi)型、源 碼流標(biāo)識(shí)、FEC編碼標(biāo)識(shí)、FEC編碼冗余度、FEC編碼的源包個(gè)數(shù)和FEC修復(fù)窗口大??;
所述監(jiān)控平臺(tái)是根據(jù)所述載荷類(lèi)型將收到的碼流拆分成媒體碼流和FEC糾錯(cuò)碼 流。 進(jìn)一步地,上述系統(tǒng)還可包括,所述監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,是 指所述監(jiān)控前端在FEC編碼數(shù)據(jù)前添加FEC頭,然后和FEC的編碼數(shù)據(jù)一起作為RTP包的 載荷內(nèi)容直接打包;其中,F(xiàn)EC編碼數(shù)據(jù)做RTP封裝時(shí),采用與源媒體碼流不同的載荷類(lèi)型 進(jìn)行定義。 進(jìn)一步地,上述系統(tǒng)還可包括,所述監(jiān)控平臺(tái)通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體 碼流中丟失的媒體包,是指 所述監(jiān)控平臺(tái)通過(guò)FEC糾錯(cuò)碼流,經(jīng)過(guò)FEC解碼運(yùn)算,恢復(fù)源媒體碼流中丟失的媒 體包。 進(jìn)一步地,上述系統(tǒng)還可包括,所述監(jiān)控平臺(tái),還用于當(dāng)停止監(jiān)控時(shí),向所述監(jiān)控 前端發(fā)送停止播放請(qǐng)求;收到所述監(jiān)控前端發(fā)送的所述停止播放響應(yīng)后,釋放相關(guān)資源;
所述監(jiān)控前端,還用于向所述監(jiān)控平臺(tái)回復(fù)停止播放響應(yīng),并停止發(fā)送媒體碼流 和FEC糾錯(cuò)碼流。 與現(xiàn)有技術(shù)相比,應(yīng)用本發(fā)明,解決了監(jiān)控前端和監(jiān)控平臺(tái)之間常常因上行帶寬受限而出現(xiàn)網(wǎng)絡(luò)丟包的問(wèn)題,降低了使用成本。
圖1是本發(fā)明的視頻監(jiān)控系統(tǒng)中前向糾錯(cuò)的方法的流程圖;
圖2是本發(fā)明中會(huì)支持FEC的信令交互流程的流程圖;
圖3是本發(fā)明中媒體包和FEC糾錯(cuò)包的打包及發(fā)送流程的流程圖;
圖4是本發(fā)明的視頻監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖。
圖5是本發(fā)明的視頻監(jiān)控系統(tǒng)的另一結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步說(shuō)明。 如圖1所示,本發(fā)明的視頻監(jiān)控系統(tǒng)中前向糾錯(cuò)的方法,包括以下步驟 步驟110、監(jiān)控前端向監(jiān)控平臺(tái)(可以是SS,Stream Server,流媒體服務(wù)器)發(fā)起
會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà);并在SDP (Session DescriptionProtocol,會(huì)話(huà)描述協(xié)議)消
息中攜帶支持FEC的相關(guān)字段; 本發(fā)明對(duì)SDP消息進(jìn)行了擴(kuò)展以支持FEC,具體定義如下 其中,〈mediaXportXtransport〉等定義和RFC2327協(xié)議相同,〈fmt list〉中增 加關(guān)于FEC的定義,其中的關(guān)鍵字段定義如下 載荷類(lèi)型、源碼流標(biāo)識(shí)、FEC編碼標(biāo)識(shí)、FEC編碼冗余度、FEC編碼的源包個(gè)數(shù)和FEC
修復(fù)窗口大小等。
例如 FEC的載荷類(lèi)型定義為127 ; fec-即t = 〃 apt = 〃 pt_id ;源碼流與FEC補(bǔ)償流的對(duì)應(yīng)關(guān)系,pt_id表示源碼 流標(biāo)識(shí),其中pt-id = 1*DIGIT ; fec_encoding_id = 〃 encoding-id = 〃 enc_id ;FEC編碼標(biāo)識(shí),其中enc_id = 1*DIGIT ; fec_redimdancy_rate = 〃 redundancy-rate = 〃 rate ;FEC編碼冗余度,數(shù)值為 百分?jǐn)?shù),其中rate = 1*DIGIT ; fec-g麗p-co皿t = 〃 group-count = 〃 gc ;FEC編碼的源包個(gè)數(shù),其中g(shù)c = 1*DIGIT ; fec-r印air-window = 〃 r印air-window = 〃 rw ;FEC修復(fù)窗口 ,單位毫秒,其中 rw = 1*DIGIT。 步驟120、SS從收到的會(huì)話(huà)描述協(xié)議消息中獲取支持FEC的相關(guān)字段,進(jìn)行初始化 并預(yù)留相關(guān)資源; 步驟130、監(jiān)控前端向SS開(kāi)始發(fā)送碼流; 其中,監(jiān)控前端首先對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,并將編碼后的FEC糾錯(cuò)碼流和 源媒體碼流在相同的通道中分別傳送到達(dá)SS ; 現(xiàn)有的標(biāo)準(zhǔn)中,沒(méi)有關(guān)于FEC打包的完整定義,本發(fā)明對(duì)RTP進(jìn)行了擴(kuò)展以支持 FEC,其中,
首先在FEC編碼數(shù)據(jù)前添加FEC頭,然后和FEC的編碼數(shù)據(jù)一起作為RTP包的載
荷內(nèi)容直接打包,RTP頭部本身不做任何擴(kuò)展;FEC編碼數(shù)據(jù)做RTP封裝時(shí),采用與源媒體碼
流不同的載荷類(lèi)型定義(其值為127),接收端根據(jù)載荷類(lèi)型來(lái)區(qū)分收到的碼流是源媒體碼
流還是FEC糾錯(cuò)碼流。 FEC擴(kuò)展定義 FEC RTP包的打包格式定義如下 0 12 3 01234567890123456789012345678901
+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
I RTP Header (12 octets or more) I FEC Header (8 octets or more) +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
I Pktlnfo Header +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
I FEC Payload +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ 其中,F(xiàn)EC包的RTP頭部各個(gè)字段含義遵循RFC3550標(biāo)準(zhǔn);FEC包頭定義如下 0 12 3 01234567890123456789012345678901 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ I FEC SN base |L| FEC packet number +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ I SN base | mask +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ I mask cont. (present only when L = 1) +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ FEC SN base : 16位, 一組媒體包生成的FEC校驗(yàn)數(shù)據(jù)對(duì)應(yīng)的第一個(gè)RTP包的序列號(hào)。 L :1位,定義為l,后面的模板為48位長(zhǎng)。 FEC packet number : 15位,指示本組fee冗余數(shù)據(jù)分在幾個(gè)RTP包中傳輸,即本 組FEC數(shù)據(jù)的RTP包個(gè)數(shù); SN base :16位,指示FEC包所保護(hù)的媒體包序列的第一個(gè)RTP序列號(hào)。
Mask :48位,模板mask用于指示原始媒體包中哪些包參與本FEC包的計(jì)算,如果 mask的第i (i = 0, 1, 2...)位設(shè)置為1,則RTP序列號(hào)為N+i的媒體包與本FEC包關(guān)聯(lián),其 中N為SN base字段的值。 步驟140、 SS根據(jù)載荷類(lèi)型將收到的碼流拆分成媒體碼流和FEC糾錯(cuò)碼流,判斷 若有媒體包丟失,則通過(guò)FEC糾錯(cuò)碼流,經(jīng)過(guò)FEC解碼運(yùn)算,恢復(fù)源媒體碼流中丟失的媒體 包;
步驟150、監(jiān)控前端收到SS的停止播放請(qǐng)求后,停止發(fā)送相應(yīng)的媒體碼流和FEC糾 錯(cuò)碼流。 下面以監(jiān)控前端和SS之間的會(huì)話(huà)控制采用RTSP(實(shí)時(shí)流傳輸協(xié)議)協(xié)議的實(shí)例 對(duì)本發(fā)明作進(jìn)一步說(shuō)明,分為支持FEC的信令交互流程;媒體包和FEC糾錯(cuò)包的打包及發(fā)送 流程。 如圖2所示,支持FEC的信令交互流程,包括以下步驟 步驟210、監(jiān)控前端上線(xiàn)成功后,主動(dòng)和流媒體服務(wù)器建立TCP連接,然后發(fā)送 RTSP的ANNOUNCE請(qǐng)求到流媒體服務(wù)器,請(qǐng)求中攜帶SDP描述; 步驟220、流媒體服務(wù)器對(duì)收到的SDP描述進(jìn)行解析,判斷若其支持FEC,將進(jìn)行相
應(yīng)的初始化并預(yù)留相關(guān)的資源,然后向監(jiān)控前端發(fā)送ANNOUNCE響應(yīng); 步驟230、監(jiān)控前端向流媒體服務(wù)器發(fā)送SETUP請(qǐng)求(RTSP消息); 步驟240、流媒體服務(wù)器向監(jiān)控前端回復(fù)SETUP響應(yīng)(RTSP消息),在響應(yīng)消息中
包含流服務(wù)器接收媒體的端口號(hào); 流媒體服務(wù)器將在該端口上同時(shí)接收原始媒體碼流和FEC糾錯(cuò)碼流。 步驟250、監(jiān)控前端向流媒體服務(wù)器發(fā)送RECORD請(qǐng)求(RTSP消息); 步驟260、流媒體服務(wù)器向監(jiān)控前端回復(fù)RECORD響應(yīng)(RTSP消息),監(jiān)控前端和流
媒體服務(wù)器會(huì)話(huà)建立成功。 如圖3所示,媒體包和FEC糾錯(cuò)包的打包及發(fā)送流程,包括以下步驟 步驟310、流媒體服務(wù)器向監(jiān)控前端發(fā)送開(kāi)始播放請(qǐng)求(RTSP SetParameter消
息); 步驟320、監(jiān)控前端向流媒體服務(wù)器回復(fù)開(kāi)始播放響應(yīng)(RTSP響應(yīng)); 步驟330、監(jiān)控前端向流媒體服務(wù)器同時(shí)發(fā)送原始媒體碼流和FEC糾錯(cuò)碼流; 其中,原始媒體碼流和FEC糾錯(cuò)碼流在同一個(gè)通道中發(fā)送。 步驟340、流媒體服務(wù)器在同一個(gè)通道中接收碼流,并根據(jù)載荷類(lèi)型進(jìn)行區(qū)分是原 始碼流還是FEC糾錯(cuò)碼流,并根據(jù)收到的原始媒體碼流判斷若有網(wǎng)絡(luò)丟包,則使用接收到 的FEC糾錯(cuò)碼流進(jìn)行糾錯(cuò)和恢復(fù); 步驟350、停止監(jiān)控時(shí),流媒體服務(wù)器向監(jiān)控前端發(fā)送停止播放請(qǐng)求(RTSP Set Parameter請(qǐng)求);監(jiān)控前端回復(fù)停止播放響應(yīng),并停止發(fā)送媒體碼流和FEC糾錯(cuò)碼流;流 媒體服務(wù)器收到響應(yīng)后,釋放相關(guān)資源。 如圖4所示,本發(fā)明的視頻監(jiān)控系統(tǒng),包括監(jiān)控前端和監(jiān)控平臺(tái),其中,
所述監(jiān)控前端,用于向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà),并在會(huì)話(huà)描 述協(xié)議SDP消息中攜帶支持前向糾錯(cuò)FEC的字段;對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,并將編碼 后的FEC糾錯(cuò)碼流和源媒體碼流在相同的通道中傳送到監(jiān)控平臺(tái); 所述監(jiān)控平臺(tái),用于從收到的SDP消息中獲取支持FEC的字段,進(jìn)行初始化并預(yù)留 資源;將所述監(jiān)控前端發(fā)送的碼流拆分成源媒體碼流和FEC糾錯(cuò)碼流,判斷若有媒體包丟 失,則通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包。 所述監(jiān)控前端定義的所述SDP消息如下m = 〈mediaXportXtransportXfmt list〉,其中〈fmt list〉的關(guān)鍵字段,包括載荷類(lèi)型、源碼流標(biāo)識(shí)、FEC編碼標(biāo)識(shí)、FEC編碼 冗余度、FEC編碼的源包個(gè)數(shù)和FEC修復(fù)窗口大小。
所述監(jiān)控平臺(tái)是根據(jù)所述載荷類(lèi)型將收到的碼流拆分成媒體碼流和FEC糾錯(cuò)碼 流。 所述監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,是指所述監(jiān)控前端在FEC編碼數(shù)據(jù) 前添加FEC頭,然后和FEC的編碼數(shù)據(jù)一起作為RTP包的載荷內(nèi)容直接打包,RTP頭部本身 不擴(kuò)展;其中,F(xiàn)EC編碼數(shù)據(jù)做RTP封裝時(shí),采用與源媒體碼流不同的載荷類(lèi)型進(jìn)行定義。
所述監(jiān)控平臺(tái)通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包,是指
所述監(jiān)控平臺(tái)通過(guò)FEC糾錯(cuò)碼流,經(jīng)過(guò)FEC解碼運(yùn)算,恢復(fù)源媒體碼流中丟失的媒 體包。 所述監(jiān)控平臺(tái),還用于當(dāng)停止監(jiān)控時(shí),向所述監(jiān)控前端發(fā)送停止播放請(qǐng)求;收到所 述監(jiān)控前端發(fā)送的所述停止播放響應(yīng)后,釋放相關(guān)資源; 所述監(jiān)控前端,還用于向所述監(jiān)控平臺(tái)回復(fù)停止播放響應(yīng),并停止發(fā)送媒體碼流 和FEC糾錯(cuò)碼流。 以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋 在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種視頻監(jiān)控系統(tǒng)中前向糾錯(cuò)的方法,所述視頻監(jiān)控系統(tǒng)包括監(jiān)控前端和監(jiān)控平臺(tái),其特征在于,包括監(jiān)控前端向監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà);監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,并將編碼后的FEC糾錯(cuò)碼流和源媒體碼流在相同的通道中傳送到監(jiān)控平臺(tái);監(jiān)控平臺(tái)將收到的碼流拆分成源媒體碼流和FEC糾錯(cuò)碼流,判斷若有媒體包丟失,則通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包。
2. 如權(quán)利要求1的方法,其特征在于,所述監(jiān)控前端向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求時(shí),還包括在會(huì)話(huà)描述協(xié)議SDP消息中 攜帶支持前向糾錯(cuò)FEC的字段;所述監(jiān)控平臺(tái)從收到的SDP消息中獲取支持FEC的字段,進(jìn)行初始化并預(yù)留資源。
3. 如權(quán)利要求2的方法,其特征在于,所述監(jiān)控前端定義的所述SDP消息如下m二〈mediaXportXtransport〉〈fmt list〉, 其中〈fmt list〉的關(guān)鍵字段,包括載荷類(lèi)型、源碼流標(biāo)識(shí)、FEC編碼標(biāo)識(shí)、FEC編碼冗余度、 FEC編碼的源包個(gè)數(shù)和FEC修復(fù)窗口大??;所述監(jiān)控平臺(tái)是根據(jù)所述載荷類(lèi)型將收到的碼流拆分成媒體碼流和FEC糾錯(cuò)碼流。
4. 如權(quán)利要求l所述的方法,其特征在于, 所述監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,包括所述監(jiān)控前端在FEC編碼數(shù)據(jù)前添加FEC頭,然后和FEC的編碼數(shù)據(jù)一起作為RTP包 的載荷內(nèi)容直接打包;其中,F(xiàn)EC編碼數(shù)據(jù)做RTP封裝時(shí),采用與源媒體碼流不同的載荷類(lèi) 型進(jìn)行定義。
5. 如權(quán)利要求l所述的方法,其特征在于,所述監(jiān)控平臺(tái)通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包,是指 所述監(jiān)控平臺(tái)通過(guò)FEC糾錯(cuò)碼流,經(jīng)過(guò)FEC解碼運(yùn)算,恢復(fù)源媒體碼流中丟失的媒體包。
6. 如權(quán)利要求1的方法,其特征在于,還包括當(dāng)停止監(jiān)控時(shí),所述監(jiān)控平臺(tái)向所述監(jiān)控前端發(fā)送停止播放請(qǐng)求,所述監(jiān)控前 端回復(fù)停止播放響應(yīng),并停止發(fā)送媒體碼流和FEC糾錯(cuò)碼流;所述監(jiān)控平臺(tái)收到響應(yīng)后,釋 放相關(guān)資源。
7. —種視頻監(jiān)控系統(tǒng),其特征在于,包括監(jiān)控前端和監(jiān)控平臺(tái),其中,所述監(jiān)控前端,用于向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà);對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,并將編碼后的FEC糾錯(cuò)碼流和源媒體碼流在相同的通道中傳送到監(jiān)控平臺(tái); 所述監(jiān)控平臺(tái),用于將所述監(jiān)控前端發(fā)送的碼流拆分成源媒體碼流和FEC糾錯(cuò)碼流, 判斷若有媒體包丟失,則通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包。
8. 如權(quán)利要求7所述的視頻監(jiān)控系統(tǒng),其特征在于,所述監(jiān)控前端,還用于向所述監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求時(shí),在會(huì)話(huà)描述協(xié)議SDP消息中 攜帶支持前向糾錯(cuò)FEC的字段;所述監(jiān)控平臺(tái),還用于從收到的SDP消息中獲取支持FEC的字段,進(jìn)行初始化并預(yù)留資源。
9. 如權(quán)利要求8所述的視頻監(jiān)控系統(tǒng),其特征在于,所述監(jiān)控前端定義的所述SDP消息如下m二〈mediaXportXtransport〉〈fmt list〉, 其中〈fmt list〉的關(guān)鍵字段,包括載荷類(lèi)型、源碼流標(biāo)識(shí)、FEC編碼標(biāo)識(shí)、FEC編碼冗余度、 FEC編碼的源包個(gè)數(shù)和FEC修復(fù)窗口大??;所述監(jiān)控平臺(tái)是根據(jù)所述載荷類(lèi)型將收到的碼流拆分成媒體碼流和FEC糾錯(cuò)碼流。
10. 如權(quán)利要求7所述的視頻監(jiān)控系統(tǒng),其特征在于,所述監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,是指所述監(jiān)控前端在FEC編碼數(shù)據(jù)前添 加FEC頭,然后和FEC的編碼數(shù)據(jù)一起作為RTP包的載荷內(nèi)容直接打包;其中,F(xiàn)EC編碼數(shù) 據(jù)做RTP封裝時(shí),采用與源媒體碼流不同的載荷類(lèi)型進(jìn)行定義。
11. 如權(quán)利要求7所述的視頻監(jiān)控系統(tǒng),其特征在于,所述監(jiān)控平臺(tái)通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包,是指 所述監(jiān)控平臺(tái)通過(guò)FEC糾錯(cuò)碼流,經(jīng)過(guò)FEC解碼運(yùn)算,恢復(fù)源媒體碼流中丟失的媒體包。
12. 如權(quán)利要求7所述的視頻監(jiān)控系統(tǒng),其特征在于,所述監(jiān)控平臺(tái),還用于當(dāng)停止監(jiān)控時(shí),向所述監(jiān)控前端發(fā)送停止播放請(qǐng)求;收到所述監(jiān) 控前端發(fā)送的所述停止播放響應(yīng)后,釋放相關(guān)資源;所述監(jiān)控前端,還用于向所述監(jiān)控平臺(tái)回復(fù)停止播放響應(yīng),并停止發(fā)送媒體碼流和FEC 糾錯(cuò)碼流。
全文摘要
本發(fā)明公開(kāi)了一種視頻監(jiān)控系統(tǒng)及其前向糾錯(cuò)的方法,包括監(jiān)控前端向監(jiān)控平臺(tái)發(fā)起會(huì)話(huà)請(qǐng)求,建立相應(yīng)的會(huì)話(huà);監(jiān)控前端對(duì)媒體碼流進(jìn)行FEC糾錯(cuò)編碼,并將編碼后的FEC糾錯(cuò)碼流和源媒體碼流在相同的通道中傳送到監(jiān)控平臺(tái);監(jiān)控平臺(tái)將收到的碼流拆分成源媒體碼流和FEC糾錯(cuò)碼流,判斷若有媒體包丟失,則通過(guò)所述FEC糾錯(cuò)碼流恢復(fù)源媒體碼流中丟失的媒體包。應(yīng)用本發(fā)明,解決了監(jiān)控前端和監(jiān)控平臺(tái)之間常常因上行帶寬受限而出現(xiàn)網(wǎng)絡(luò)丟包的問(wèn)題,降低了使用成本。
文檔編號(hào)H04N7/18GK101778295SQ20091024709
公開(kāi)日2010年7月14日 申請(qǐng)日期2009年12月25日 優(yōu)先權(quán)日2009年12月25日
發(fā)明者段新平, 陜毅, 靳自鳴 申請(qǐng)人:中興通訊股份有限公司