專利名稱:一種實時流媒體上傳中的丟幀控制與續(xù)傳方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種實時流媒體上傳中的丟幀控制與續(xù)傳方法及系統(tǒng),屬于網(wǎng)絡(luò)多媒體數(shù)據(jù)傳輸技術(shù)領(lǐng)域。
背景技術(shù):
當(dāng)今,人們對于獲得實時事件現(xiàn)場視頻信息的需求越來越強(qiáng)烈。利用專業(yè)的新聞拍攝設(shè)備或手機(jī)、攝像頭等便攜拍攝設(shè)備可以實時捕獲實時事件的現(xiàn)場信息,并將其快速傳播給大眾。如圖I所示,這類系統(tǒng)通常都包含視頻拍攝端和媒體服務(wù)器端兩部分,由視頻拍攝端將實時拍攝的內(nèi)容及時上傳到媒體服務(wù)器,通過媒體服務(wù)器向感興趣的用戶群體進(jìn)行直播。同時,媒體服務(wù)器還必須將實時拍攝的視頻進(jìn)行存儲,一方面作為備份,另一方面滿足后續(xù)用戶的點播需求。然而,由于上傳帶寬受限(如通過3G網(wǎng)絡(luò)進(jìn)行上傳)或上傳過程中傳輸網(wǎng)絡(luò)的擁堵問題,為保證直播的實時性,應(yīng)允許視頻拍攝端向媒體服務(wù)器實時上傳視頻流的過程中選擇性地丟棄一些已于播放無益的視頻幀(如超過預(yù)期播放時間點的視頻幀)。通常,實時流媒體傳輸協(xié)議就是通過允許丟幀而達(dá)到實時播放的目的。但是另一方面,丟幀會降低直播畫面的質(zhì)量。如果不恢復(fù)這些丟棄的幀,那么媒體服務(wù)器所備份的視頻也將是不完整的視 頻,后續(xù)用戶的點播所觀看到的內(nèi)容將和直播用戶的體驗是一樣的。相反,如果能恢復(fù)這些丟棄的幀,則能提升視頻的畫面質(zhì)量,從而為后續(xù)的點播用戶提供高質(zhì)量的體驗。上述兩個需求存在矛盾之處。一方面,實時的直播需求要求采用實時流媒體傳輸協(xié)議,這類協(xié)議一般直接基于UDP之上;另一方面,對存儲完整性的要求則要求采用可靠的傳輸協(xié)議,如TCP,但TCP顯然會降低視頻傳輸?shù)膶崟r性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是基于背景技術(shù)的缺陷而提出的一種實時流媒體上傳中的丟幀控制和續(xù)傳方法與系統(tǒng),一方面通過應(yīng)用層選擇性丟幀,并將丟棄的數(shù)據(jù)幀暫存在客戶端續(xù)傳隊列,保證直播的實時性傳輸,另一方面通過將暫存在續(xù)傳隊列的視頻幀通過新連接適時重傳保證所存儲的視頻的完整性。本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案
一種實時流媒體上傳中的丟幀控制與續(xù)傳系統(tǒng),包括視頻獲取端和媒體服務(wù)器端;所述視頻獲取端用于實時獲取視頻場景數(shù)據(jù),并以實時和續(xù)傳兩種方式向媒體服務(wù)器端上傳視頻數(shù)據(jù)幀,所述媒體服務(wù)器端用于接收視頻獲取端實時和續(xù)傳的視頻數(shù)據(jù)幀,并進(jìn)行直播、存儲和合并。其中,⑴所述視頻獲取端包括
a,視頻拍攝模塊,用于實時獲取視頻場景數(shù)據(jù),并標(biāo)記預(yù)播放時刻;
b,第一視頻序列標(biāo)識協(xié)商模塊,用于和媒體服務(wù)器端協(xié)商生成每個視頻幀序列的唯一標(biāo)識;C,發(fā)送隊列,用于存儲預(yù)備發(fā)送的視頻幀序列;
d,發(fā)送隊列檢測模塊,用于檢測發(fā)送隊列中的視頻數(shù)據(jù)幀是否位于發(fā)送窗口之內(nèi);
e,實時視頻上傳模塊,用于按序向媒體服務(wù)器端發(fā)送位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)
幀;
f,續(xù)傳隊列,用于存儲因?qū)崟r傳輸延遲導(dǎo)致的位于發(fā)送窗口外的視頻數(shù)據(jù)幀;
g,續(xù)傳模塊,用于在后續(xù)網(wǎng)絡(luò)信道通暢時刻向媒體服務(wù)器端上傳續(xù)傳隊列中的視頻數(shù)據(jù)幀。⑵所述媒體服務(wù)器端包括
h,第二視頻序列標(biāo)識協(xié)商模塊,用于和視頻獲取端協(xié)商生成每個視頻幀序列的唯一標(biāo)識;
i,實時視頻接收模塊,用于接收實時視頻上傳模塊發(fā)送的實時視頻數(shù)據(jù)幀;
j,實時視頻直播模塊,用于將實時接收到的視頻數(shù)據(jù)幀向需要的用戶群進(jìn)行直播;k,存儲模塊,用于將實時接收到的視頻數(shù)據(jù)幀進(jìn)行存儲,按照與該視頻數(shù)據(jù)幀相對應(yīng)的唯一標(biāo)識生成視頻序列文件;
1,續(xù)傳接收模塊,用于接收續(xù)傳模塊續(xù)傳的視頻數(shù)據(jù)幀;
m,視頻合并模塊,用于根據(jù)視頻幀序列的唯一標(biāo)識,將接收到的續(xù)傳視頻數(shù)據(jù)幀和對應(yīng)標(biāo)識的視頻序列文件進(jìn)行合并,生成完整的視頻序列文件。本發(fā)明還提出一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,該方法基于視頻獲取端和媒體服務(wù)器端;所述視頻獲取端用于實時獲取視頻場景數(shù)據(jù),并以實時和續(xù)傳兩種方式向媒體服務(wù)器端上傳視頻數(shù)據(jù)幀,所述媒體服務(wù)器端用于接收視頻獲取端實時和續(xù)傳的視頻數(shù)據(jù)幀,并進(jìn)行直播、存儲和合并。其中,視頻獲取端的工作流程包括
步驟1,與媒體服務(wù)器端協(xié)商一個用于唯一標(biāo)識每個視頻幀序列的標(biāo)識;
步驟2,實時獲得視頻場景數(shù)據(jù),并標(biāo)記預(yù)播放時刻,同時將視頻數(shù)據(jù)幀置入發(fā)送隊
列;
步驟3,在新視頻幀序列到達(dá)時檢測發(fā)送隊列中的視頻數(shù)據(jù)幀,將位于發(fā)送窗口外的過時視頻數(shù)據(jù)幀置入續(xù)傳隊列;
步驟4,按序向媒體服務(wù)器端發(fā)送位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀;
步驟5,在后續(xù)網(wǎng)絡(luò)信道通暢時刻通過新連接向媒體服務(wù)器端上傳位于續(xù)傳隊列中的視頻數(shù)據(jù)幀。媒體服務(wù)器端的工作流程包括
步驟6,接收視頻獲取端發(fā)送的實時視頻數(shù)據(jù)幀,然后將其進(jìn)行直播;同時將接收的視頻數(shù)據(jù)幀按照與該視頻數(shù)據(jù)幀相對應(yīng)的唯一標(biāo)識生成視頻序列文件進(jìn)行存儲;
步驟7,接收視頻獲取端續(xù)傳的視頻數(shù)據(jù)幀,將接收到的續(xù)傳視頻數(shù)據(jù)幀和對應(yīng)標(biāo)識的視頻序列文件進(jìn)行合并,生成完整的視頻序列文件。進(jìn)一步的,本發(fā)明的一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,所述步驟3具體包括以下步驟
步驟31,對于新到達(dá)的視頻幀序列,設(shè)其預(yù)計播放時刻為T,設(shè)發(fā)送窗口的大小為W,計算播放時間閥值Ttl=T-W;步驟32,檢測發(fā)送隊列中的視頻數(shù)據(jù)幀預(yù)計播放時間,如果其預(yù)計播放時間TpCTtl,則將該視頻數(shù)據(jù)幀置入續(xù)傳隊列;
步驟33,對于位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀,如果按序待發(fā)送的下一個視頻數(shù)據(jù)幀為非關(guān)鍵幀,則判斷與該非關(guān)鍵幀相對應(yīng)的關(guān)鍵幀是否發(fā)送成功若發(fā)送成功,則正常發(fā)送該非關(guān)鍵幀;若發(fā)送失敗,則將從該非關(guān)鍵幀開始到下一個出現(xiàn)的關(guān)鍵幀之間的所有非關(guān)鍵幀從發(fā)送窗口中移除,置入續(xù)傳隊列;
步驟34,在續(xù)傳隊列中基于視頻幀序列的唯一標(biāo)識將等待續(xù)傳的視頻數(shù)據(jù)幀予以組織。進(jìn)一步的,本發(fā)明的一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,所述步驟5具體包括以下步驟
步驟51,視頻獲取端首先將待續(xù)傳的視頻數(shù)據(jù)幀所屬的視頻幀序列唯一標(biāo)識發(fā)送給媒體服務(wù)器端;
步驟52,得到媒體服務(wù)器端確認(rèn)后,視頻獲取端開始上傳視頻數(shù)據(jù)幀;
步驟53,每成功上傳一個視頻數(shù)據(jù)幀,視頻獲取端將該視頻數(shù)據(jù)幀從續(xù)傳隊列中刪
除;
步驟54,當(dāng)所有視頻數(shù)據(jù)幀均成功上傳后,將該視頻序列標(biāo)識對應(yīng)的續(xù)傳隊列釋放。進(jìn)一步的,本發(fā)明的一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,所述步驟7具體包括以下步驟· 步驟71,接收視頻獲取端發(fā)送的待續(xù)傳視頻數(shù)據(jù)幀所屬視頻幀序列的唯一標(biāo)識;
步驟72,向視頻獲取端發(fā)送確認(rèn)消息;
步驟73,通過視頻幀序列唯一標(biāo)識確定該視頻數(shù)據(jù)幀對應(yīng)的視頻序列文件;
步驟74,依據(jù)時間戳信息,將接收到的續(xù)傳視頻數(shù)據(jù)幀與對應(yīng)的視頻序列文件進(jìn)行合并、存儲。本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果
首先,通過應(yīng)用層的選擇性丟幀,即設(shè)立發(fā)送窗口,保證位于發(fā)送窗口之外的視頻幀不再被實時視頻上傳模塊上傳,保證直播的實時性傳輸,節(jié)約傳輸帶寬。其次,并不將丟棄的視頻幀永久地丟棄,而是放到續(xù)傳隊列,在隨后網(wǎng)絡(luò)狀況稍好時通過新連接適時重傳,從而保證所存儲的視頻的完整性,提高點播視頻的質(zhì)量。最后,選擇性丟幀時,如果關(guān)鍵幀因超過播放時間而被置于續(xù)傳隊列,則與其關(guān)聯(lián)的非關(guān)鍵幀不管是否位于發(fā)送窗口內(nèi)都將被移至續(xù)傳隊列,保證實時傳輸?shù)囊曨l幀的有用性。
圖I是實時流媒體上傳的丟幀控制和續(xù)傳的應(yīng)用場景配置示意 圖2是視頻獲取端和視頻服務(wù)器端的流程 圖3是基于發(fā)送窗口的視頻丟幀控制方法示意 圖4是視頻拍攝端和媒體服務(wù)器端的實時處理流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明
如圖I結(jié)合圖4所示,本發(fā)明的實時流媒體上傳中的丟幀控制與續(xù)傳系統(tǒng),包括視頻獲取端和媒體服務(wù)器端兩部分。其中,視頻獲取端用于實時獲取視頻場景數(shù)據(jù),并以實時和續(xù)傳兩種方式向媒體服務(wù)器上傳,包括
視頻拍攝模塊,用于實時獲取視頻場景數(shù)據(jù),標(biāo)記預(yù)播放時刻;
視頻序列標(biāo)識協(xié)商模塊,用于和媒體服務(wù)器協(xié)商用于唯一標(biāo)識該視頻序列的標(biāo)識; 發(fā)送隊列檢測模塊,用于檢測發(fā)送隊列中的視頻幀是否位于發(fā)送窗口之內(nèi);
實時視頻上傳模塊,用于按序向媒體服務(wù)器發(fā)送位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀;
續(xù)傳模塊,用于在后續(xù)某個時刻向媒體服務(wù)器上傳續(xù)傳隊列中的視頻幀;
發(fā)送隊列,用于存儲未發(fā)送的視頻幀序列;
續(xù)傳隊列,用于存儲因?qū)崟r傳輸延遲導(dǎo)致的位于發(fā)送窗口外的視頻幀,包括與超過播放時間點的關(guān)鍵幀相關(guān)聯(lián)的非關(guān)鍵幀(無論其位于發(fā)送窗口與否)。媒體服務(wù)器端用于接收實時和續(xù)傳的視頻幀,并進(jìn)行直播、存儲和合并,包括 視頻序列標(biāo)識協(xié)商模塊,用于和視頻獲取端協(xié)商用于唯一標(biāo)識該視頻序列的標(biāo)識; 實時視頻接收模塊,用于接收實時視頻數(shù)據(jù)幀;
實時視頻直播模塊,用于將實時接收到的視頻數(shù)據(jù)向需要的用戶群進(jìn)行直播;
存儲模塊,用于將實時接收到的視頻數(shù)據(jù)進(jìn)行存儲;
續(xù)傳接收模塊,用于接收續(xù)傳的視頻數(shù)據(jù)幀;
視頻合并模塊,用于將接收到的續(xù)傳視頻數(shù)據(jù)幀和對應(yīng)的視頻序列文件進(jìn)行合并,生成更流暢的視頻序列文件。如圖2所示,本發(fā)明的實時流媒體上傳中的丟幀控制與續(xù)傳方法包括視頻獲取端的工作流程、媒體服務(wù)器端的工作流程。其中,視頻獲取端的工作流程包括
步驟1,與服務(wù)器協(xié)商一個用于唯一標(biāo)識該視頻序列的標(biāo)識。步驟2,視頻拍攝模塊實時獲得視頻場景數(shù)據(jù),標(biāo)記預(yù)播放時刻,并將視頻幀置入發(fā)送隊列。步驟3,發(fā)送隊列檢測模塊在新視頻幀到達(dá)時檢測發(fā)送隊列中的視頻幀,將位于發(fā)送窗口外的過時視頻幀置入續(xù)傳隊列。如圖3所示,所述步驟3進(jìn)一步細(xì)化為,
步驟31,對于新到達(dá)的視頻幀,設(shè)其預(yù)計播放時刻為T,設(shè)發(fā)送窗口的大小為W,計算播放時間閥值Ttl=T-W;
步驟32,檢測發(fā)送隊列中的視頻幀預(yù)計播放時間,如果其預(yù)計播放時間TpCTtl,則將該視頻幀置入續(xù)傳隊列;
步驟33,對于位于發(fā)送窗口內(nèi)的幀,如果按序待發(fā)送的下一個幀為P幀(即非關(guān)鍵幀),則判斷與該非關(guān)鍵幀相對應(yīng)的關(guān)鍵幀是否發(fā)送成功若發(fā)送成功,則正常發(fā)送該非關(guān)鍵幀;若發(fā)送失敗,則表明對應(yīng)的關(guān)鍵幀已超時,與該關(guān)鍵幀相對應(yīng)的非關(guān)鍵幀數(shù)據(jù)的傳輸對實時播放無益,因而則將從該P(yáng)幀開始到第一個出現(xiàn)的I幀(關(guān)鍵幀)之間(不包含該關(guān)鍵幀)的所有P幀從發(fā)送窗口中移除,置入續(xù)傳隊列;步驟34,續(xù)傳隊列基于視頻序列的唯一標(biāo)識予以組織。步驟4,實時視頻上傳模塊按序向媒體服務(wù)器發(fā)送位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀。步驟5,續(xù)傳模塊在后續(xù)某個時刻通過新連接向媒體服務(wù)器上傳位于續(xù)傳隊列中的視頻幀。該時刻可以是網(wǎng)絡(luò)信道狀況改善后,通信鏈路良好的時刻。所述步驟5進(jìn)一步為,
步驟51,續(xù)傳模塊首先將視頻序列唯一標(biāo)識發(fā)送給服務(wù)器端;
步驟52,得到服務(wù)器確認(rèn)后開始上傳視頻數(shù)據(jù)幀; 步驟53,每成功上傳一個視頻數(shù)據(jù)幀,將該視頻數(shù)據(jù)幀從續(xù)傳隊列中刪除(可以是邏輯上刪除);
步驟54,當(dāng)所有視頻數(shù)據(jù)幀均成功上傳后,將該視頻序列標(biāo)識對應(yīng)的續(xù)傳隊列釋放。如圖2所示,媒體服務(wù)器端的工作流程包括
步驟6,實時視頻接收模塊接收到實時視頻幀后,由視頻直播模塊進(jìn)行直播,由存儲模塊進(jìn)行存儲;由存儲1旲塊進(jìn)行視頻序列存儲時,需建立存儲空間與該視頻序列唯一標(biāo)識之間的關(guān)聯(lián)。步驟7,續(xù)傳接收模塊接收到續(xù)傳視頻幀后,與已存儲的流媒體文件進(jìn)行合并,生成質(zhì)量更流暢的視頻文件。所述步驟7進(jìn)一步為,
步驟71,接收視頻獲取端的續(xù)傳模塊發(fā)送的視頻序列唯一標(biāo)識;
步驟72,向視頻獲取端的續(xù)傳模塊發(fā)送確認(rèn)消息;
步驟73,通過視頻序列唯一標(biāo)識確定該視頻序列對應(yīng)的視頻文件;
步驟74,依據(jù)時間戳信息,將接收到的續(xù)傳視頻幀與該視頻文件進(jìn)行合并、存儲。綜合以上描述,本發(fā)明一方面通過應(yīng)用層的選擇性丟幀放入續(xù)傳隊列,保證直播的實時性傳輸,節(jié)約傳輸帶寬;另一方面,在隨后網(wǎng)絡(luò)狀況稍好時通過新連接適時重傳續(xù)傳隊列中的視頻幀,從而保證所存儲的視頻的完整性,提高點播視頻的質(zhì)量。
權(quán)利要求
1. 一種實時流媒體上傳中的丟幀控制與續(xù)傳系統(tǒng),包括視頻獲取端和媒體服務(wù)器端;其特征在于所述視頻獲取端用于實時獲取視頻場景數(shù)據(jù),并以實時和續(xù)傳兩種方式向媒體服務(wù)器端上傳視頻數(shù)據(jù)幀,所述媒體服務(wù)器端用于接收視頻獲取端實時和續(xù)傳的視頻數(shù)據(jù)幀,并進(jìn)行直播、存儲和合并;其中, ⑴所述視頻獲取端包括 a,視頻拍攝模塊,用于實時獲取視頻場景數(shù)據(jù),并標(biāo)記預(yù)播放時刻; b,第一視頻序列標(biāo)識協(xié)商模塊,用于和媒體服務(wù)器端協(xié)商生成每個視頻幀序列的唯一標(biāo)識; c,發(fā)送隊列,用于存儲預(yù)備發(fā)送的視頻幀序列; d,發(fā)送隊列檢測模塊,用于檢測發(fā)送隊列中的視頻數(shù)據(jù)幀是否位于發(fā)送窗口之內(nèi); e,實時視頻上傳模塊,用于按序向媒體服務(wù)器端發(fā)送位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀; f,續(xù)傳隊列,用于存儲因?qū)崟r傳輸延遲導(dǎo)致的位于發(fā)送窗口外的視頻數(shù)據(jù)幀; g,續(xù)傳模塊,用于在后續(xù)網(wǎng)絡(luò)信道通暢時刻向媒體服務(wù)器端上傳續(xù)傳隊列中的視頻數(shù)據(jù)幀; ⑵所述媒體服務(wù)器端包括 h,第二視頻序列標(biāo)識協(xié)商模塊,用于和視頻獲取端協(xié)商生成每個視頻幀序列的唯一標(biāo)識; i,實時視頻接收模塊,用于接收實時視頻上傳模塊發(fā)送的實時視頻數(shù)據(jù)幀; j,實時視頻直播模塊,用于將實時接收到的視頻數(shù)據(jù)幀向需要的用戶群進(jìn)行直播;k,存儲模塊,用于將實時接收到的視頻數(shù)據(jù)幀進(jìn)行存儲,按照與該視頻數(shù)據(jù)幀相對應(yīng)的唯一標(biāo)識生成視頻序列文件; 1,續(xù)傳接收模塊,用于接收續(xù)傳模塊續(xù)傳的視頻數(shù)據(jù)幀; m,視頻合并模塊,用于根據(jù)視頻幀序列的唯一標(biāo)識,將接收到的續(xù)傳視頻數(shù)據(jù)幀和對應(yīng)標(biāo)識的視頻序列文件進(jìn)行合并,生成完整的視頻序列文件。
2.一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,其特征在于該方法基于視頻獲取端和媒體服務(wù)器端;所述視頻獲取端用于實時獲取視頻場景數(shù)據(jù),并以實時和續(xù)傳兩種方式向媒體服務(wù)器端上傳視頻數(shù)據(jù)幀,所述媒體服務(wù)器端用于接收視頻獲取端實時和續(xù)傳的視頻數(shù)據(jù)幀,并進(jìn)行直播、存儲和合并;其中 視頻獲取端的工作流程包括 步驟1,與媒體服務(wù)器端協(xié)商一個用于唯一標(biāo)識每個視頻幀序列的標(biāo)識; 步驟2,實時獲得視頻場景數(shù)據(jù),并標(biāo)記預(yù)播放時刻,同時將視頻數(shù)據(jù)幀置入發(fā)送隊列; 步驟3,在新視頻幀序列到達(dá)時檢測發(fā)送隊列中的視頻數(shù)據(jù)幀,將位于發(fā)送窗口外的過時視頻數(shù)據(jù)幀置入續(xù)傳隊列; 步驟4,按序向媒體服務(wù)器端發(fā)送位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀; 步驟5,在后續(xù)網(wǎng)絡(luò)信道通暢時刻通過新連接向媒體服務(wù)器端上傳位于續(xù)傳隊列中的視頻數(shù)據(jù)幀; 媒體服務(wù)器端的工作流程包括步驟6,接收視頻獲取端發(fā)送的實時視頻數(shù)據(jù)幀,然后將其進(jìn)行直播;同時將接收的視頻數(shù)據(jù)幀按照與該視頻數(shù)據(jù)幀相對應(yīng)的唯一標(biāo)識生成視頻序列文件進(jìn)行存儲; 步驟7,接收視頻獲取端續(xù)傳的視頻數(shù)據(jù)幀,將接收到的續(xù)傳視頻數(shù)據(jù)幀和對應(yīng)標(biāo)識的視頻序列文件進(jìn)行合并,生成完整的視頻序列文件。
3.根據(jù)權(quán)利要求2所述的一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,其特征在于所述步驟3具體包括以下步驟 步驟31,對于新到達(dá)的視頻幀序列,設(shè)其預(yù)計播放時刻為T,設(shè)發(fā)送窗口的大小為W,計算播放時間閥值Ttl=T-W; 步驟32,檢測發(fā)送隊列中的視頻數(shù)據(jù)幀預(yù)計播放時間,如果其預(yù)計播放時間TpCTtl,則將該視頻數(shù)據(jù)幀置入續(xù)傳隊列; 步驟33,對于位于發(fā)送窗口內(nèi)的視頻數(shù)據(jù)幀,如果按序待發(fā)送的下一個視頻數(shù)據(jù)幀為非關(guān)鍵幀,則判斷與該非關(guān)鍵幀相對應(yīng)的關(guān)鍵幀是否發(fā)送成功若發(fā)送成功,則正常發(fā)送該非關(guān)鍵幀;若發(fā)送失敗,則將從該非關(guān)鍵幀開始到下一個出現(xiàn)的關(guān)鍵幀之間的所有非關(guān)鍵幀從發(fā)送窗口中移除,置入續(xù)傳隊列; 步驟34,在續(xù)傳隊列中基于視頻幀序列的唯一標(biāo)識將等待續(xù)傳的視頻數(shù)據(jù)幀予以組織。
4.根據(jù)權(quán)利要求2所述的一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,其特征在于所述步驟5具體包括以下步驟 步驟51,視頻獲取端首先將待續(xù)傳的視頻數(shù)據(jù)幀所屬的視頻幀序列唯一標(biāo)識發(fā)送給媒體服務(wù)器端; 步驟52,得到媒體服務(wù)器端確認(rèn)后,視頻獲取端開始上傳視頻數(shù)據(jù)幀; 步驟53,每成功上傳一個視頻數(shù)據(jù)幀,視頻獲取端將該視頻數(shù)據(jù)幀從續(xù)傳隊列中刪除; 步驟54,當(dāng)所有視頻數(shù)據(jù)幀均成功上傳后,將該視頻序列標(biāo)識對應(yīng)的續(xù)傳隊列釋放。
5.根據(jù)權(quán)利要求2所述的一種實時流媒體上傳中的丟幀控制與續(xù)傳方法,其特征在于所述步驟7具體包括以下步驟 步驟71,接收視頻獲取端發(fā)送的待續(xù)傳視頻數(shù)據(jù)幀所屬視頻幀序列的唯一標(biāo)識; 步驟72,向視頻獲取端發(fā)送確認(rèn)消息; 步驟73,通過視頻幀序列唯一標(biāo)識確定該視頻數(shù)據(jù)幀對應(yīng)的視頻序列文件; 步驟74,依據(jù)時間戳信息,將接收到的續(xù)傳視頻數(shù)據(jù)幀與對應(yīng)的視頻序列文件進(jìn)行合并、存儲。
全文摘要
本發(fā)明公開了一種實時流媒體上傳中的丟幀控制與續(xù)傳系統(tǒng),包括視頻獲取端和媒體服務(wù)器端;其特征在于所述視頻獲取端用于實時獲取視頻場景數(shù)據(jù),并以實時和續(xù)傳兩種方式向媒體服務(wù)器端上傳視頻數(shù)據(jù)幀,所述媒體服務(wù)器端用于接收視頻獲取端實時和續(xù)傳的視頻數(shù)據(jù)幀,并進(jìn)行直播、存儲和合并;本發(fā)明還公開了一種實時流媒體上傳中的丟幀控制與續(xù)傳方法。本發(fā)明一方面通過應(yīng)用層選擇性丟幀,將丟棄的數(shù)據(jù)幀放入續(xù)傳隊列,保證直播的實時性傳輸,節(jié)約傳輸帶寬;另一方面,在隨后網(wǎng)絡(luò)狀況稍好時通過新連接適時重傳續(xù)傳隊列中的數(shù)據(jù)幀,從而保證所存儲的視頻的完整性,提高點播視頻的質(zhì)量。
文檔編號H04N21/218GK102932667SQ201210458099
公開日2013年2月13日 申請日期2012年11月15日 優(yōu)先權(quán)日2012年11月15日
發(fā)明者張國強(qiáng), 張懷暢, 陳翔宇 申請人:掌贏信息科技(上海)有限公司