專利名稱:一種支持ts流媒體文件的容錯方法
技術(shù)領(lǐng)域:
本發(fā)明涉及節(jié)目制作及非線性編輯技術(shù)領(lǐng)域,尤其涉及一種支持TS流媒體文件的容錯方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的廣泛使用,利用網(wǎng)絡(luò)傳輸聲音與視頻信號的需求也越來越多,廣播電視等媒體節(jié)目,也日益需要通過互聯(lián)網(wǎng)來發(fā)布自己的音視頻節(jié)目。但是,音視頻在處理和傳播過程中,往往容易被打斷導(dǎo)致不連續(xù),造成收錄或保存作為素材源的文件不完整,而且會受到保存文件載體容量的限制,制約其使用。在網(wǎng)絡(luò)傳輸過程中,需要較長的傳輸時間來進行視頻傳輸,造成了不佳的用戶體驗,對于有些用戶,并不全程觀看節(jié)目,而只是跳躍性的進行查看,但系統(tǒng)還是會耗費很大的網(wǎng)絡(luò)資源將全部視頻文件進行下載,造成了極大的資源浪費。為了解決以上問題,流媒體技術(shù)的出現(xiàn),在一定程度上使互聯(lián)網(wǎng)傳輸音視頻難的局面得到改善。傳統(tǒng)的網(wǎng)絡(luò)傳輸音視頻等多媒體信息的方式是完全下載后再播放,下載常常要花數(shù)分鐘甚至數(shù)小時。而采用流媒體技術(shù),就可實現(xiàn)流式傳輸,將聲音、影像或動畫由服務(wù)器向用戶計算機進行連續(xù)、不間斷傳送,用戶不必等到整個文件全部下載完畢,而只需經(jīng)過幾秒或十幾秒的啟動延時即可進行觀看。當(dāng)聲音視頻等在用戶的機器上播放時,文件的剩余部分還會從服務(wù)器上繼續(xù)下載。MPEG標(biāo)準(zhǔn)作為現(xiàn)今被廣泛使用的數(shù)字視頻、音頻標(biāo)準(zhǔn),被廣泛用于數(shù)字電視、實時多媒體監(jiān)控處理、移動多媒體通信、交互多媒體應(yīng)用、演播電視等領(lǐng)域。因而也廣泛利用于非線性編剪輯軟件及視音頻后期特效處理與合成軟件,制作電影、廣告、片花等的圖像視頻處理過程中,因此經(jīng)常需要調(diào)用MPEG標(biāo)準(zhǔn)視頻素材進行處理,面對實時視頻傳輸?shù)男枰?及高性能視頻解碼技術(shù)的發(fā)展,流媒體技術(shù)也將被用于MPEG標(biāo)準(zhǔn)文件處理過程中,MPEG標(biāo)準(zhǔn)流媒體文件傳輸是通過視頻傳送服務(wù)器把節(jié)目當(dāng)成數(shù)據(jù)包發(fā)出,傳送到網(wǎng)絡(luò)上,用戶通過解壓設(shè)備對這些數(shù)據(jù)進行解壓后,節(jié)目就會像發(fā)送前那樣顯示出來,流媒體的流式傳輸時,聲音、影像或動畫等時基媒體由音視頻服務(wù)器向用戶計算機的連續(xù)、實時傳送,用戶不必等到整個文件全部下載完畢,而只需經(jīng)過幾秒或十?dāng)?shù)秒的啟動延時即可進行觀看。在MPEG-2系統(tǒng)中,信息復(fù)合/分離的過程稱為系統(tǒng)復(fù)接/分接,由視頻,音頻的ES流和輔助數(shù)據(jù)復(fù)接生成的用于實際傳輸?shù)臉?biāo)準(zhǔn)信息流稱為MPEG-2傳送流(TS TransportStream),TS流是由很多不同種類的包所組成的,這些數(shù)據(jù)包都是188或192個字節(jié)大小,在188個字節(jié)包含兩部分,包頭和負載,包頭包括同步信息,包信息等等,而負載則是傳輸?shù)臄?shù)據(jù),而這些負載則可以組成PES流或者私有流等等數(shù)據(jù)流,因為以上結(jié)構(gòu)當(dāng)傳輸誤碼破壞了某一 TS包的同步信息時,接收機可在固定的位置檢測它后面包中的同步信息,從而恢復(fù)同步,避免了信息丟失;TS作為一種媒體數(shù)據(jù)的封裝形式,就不可避免的要將原數(shù)據(jù)文件按傳輸所需形式進行封裝,因此在實際應(yīng)用過程中發(fā)現(xiàn)TS媒體文件經(jīng)過封裝、網(wǎng)絡(luò)傳輸、及解碼后,直接用于非線性視頻處理會存在編碼錯誤,或影響播放的錯誤出現(xiàn),因此就需要通過在建立視頻文件索引過程中,對此類情況進行容錯處理,已解決上述問題。從而保證流媒體文件在非線性編輯環(huán)境下可以正常使用。隨著無線傳輸技術(shù)的全面發(fā)展,3G (第三代移動通信)技術(shù)已經(jīng)被廣大用戶所熟悉和接受,各種各樣基于3G技術(shù)的應(yīng)用層出不窮,三大運營商抓住三網(wǎng)融合的大環(huán)境,積極推進3G技術(shù)在廣電行業(yè)的應(yīng)用,流媒體技術(shù)同時也應(yīng)用到移動網(wǎng)絡(luò)和終端設(shè)備上,可以基于相同的協(xié)議進行多媒體數(shù)據(jù)的無線網(wǎng)絡(luò)傳輸。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷和不足,本發(fā)明的目的是提供一種支持TS、流媒體文件的容錯技術(shù),以實現(xiàn)基于MPEG標(biāo)準(zhǔn)格式的媒體文件在非線性視頻處理過程中的正確使用,包括支持TS流媒體類型,進行容錯處理,提高文件的正確使用率。為實現(xiàn)上述目的,本發(fā)明提供了一種流媒體文件的容錯技術(shù)首先,讀取流媒體文件后,確定目標(biāo)數(shù)據(jù)塊;之后根據(jù)確定的目標(biāo)數(shù)據(jù)塊,確定基本文件頭信息,并預(yù)留一級索引單元項目空間;解析目標(biāo)數(shù)據(jù)塊,通過校正方式,建立二級索引單元項目;最后根據(jù)所述二級索引單元項目信息生成一級索引單元項目,并回填到上述一級索引單元項目空間中。因此通過正確建立二級索引數(shù)據(jù)結(jié)構(gòu),對原文件中存在的格式缺陷給予補正。對于TS流(傳輸流)傳輸方式而言,本發(fā)明主要針對插入關(guān)鍵幀序號、插入視頻解碼單元基本信息方式對視頻解碼單元的封裝缺陷給予校正。本發(fā)明實施例提供一種支持TS流媒體文件精確定位的容錯系統(tǒng),包括流媒體加載系統(tǒng);提取PSI系統(tǒng)、流媒體視頻、音頻解碼系統(tǒng);容錯處理系統(tǒng);索引文件生成系統(tǒng);流媒體源數(shù)據(jù)塊大小可以為184或192字節(jié)的兩種情況,其中,所述提取檢索的首條記錄的媒體數(shù)據(jù)信息,包括視頻、音頻信息;所述索引文件生成系統(tǒng)包括一級索引單元生成系統(tǒng)、 二級索引單元生成系統(tǒng),所述一級索引單元生成系統(tǒng)包括文件頭基本信息、視頻GOP —級索引單元、視頻I^yload—級索引單元、音頻一級索引單元,所述二級索引單元生成系統(tǒng)包括視頻GOP 二級索引、Payload 二級索引、音頻二級索引、視頻分割數(shù)據(jù)記錄,所述容錯處理系統(tǒng)包括補充關(guān)鍵幀單元基本信息的容錯處理系統(tǒng),以上系統(tǒng)還可以包括播放加載系統(tǒng),同時,為了滿足無線傳輸?shù)男枰€可以包括無線接收系統(tǒng)。本發(fā)明實施例提供一種支持TS流媒體文件精確定位的容錯的播放方法包括加載流媒體索引文件;按照精確幀定位結(jié)果,加載流媒體文件;分解流媒體文件;加載解碼器進行播放;以上還可以包括按設(shè)定條件進行幀定位檢索;所述分解流媒體文件,可分解為視頻流文件、音頻流文件;所述加載索引文件,可分為加載一級索引文件、加載二級索引文件;所述加載解碼器,進行播放,其加載解碼器解碼視頻流文件、音頻流文件,進行視頻、音頻播放。與現(xiàn)有技術(shù)相比,首先,本發(fā)明解決了 MPEG標(biāo)準(zhǔn)格式的媒體文件通過媒體流方式進行傳輸后,提高了此類文件用于非線性視頻處理過程中的可用性,其次,本發(fā)明可規(guī)范處理MPEG標(biāo)準(zhǔn)格式的媒體文件在編輯、封裝過程中存在缺陷的解決方法。
為了更清楚的說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單的介紹,顯而易見的,下面描述中的附圖僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1 本發(fā)明實施例一中所述一種支持TS流媒體文件生成二級索文件用于實現(xiàn)容錯的生成示意圖;圖2 本發(fā)明實施例二中所述一種支持TS流媒體文件生成二級索文件中支持插入關(guān)鍵幀序號的容錯方法示意圖;圖3 本發(fā)明實施例三中所述一種支持TS流媒體文件生成二級索文件中支持插入視頻解碼單元基本信息的容錯方法示意圖;圖4 本發(fā)明實施例四中所述一種支持TS流媒體文件生成二級索文件中進行GOP 順序排列的容錯方法示意圖;圖5 本發(fā)明實施例五中所述一種支持TS流媒體文件精確定位的容錯系統(tǒng)的示意圖;圖6 本發(fā)明實施例六中所述一種支持TS流媒體文件精確定位的播放方法的示意圖;圖7 本發(fā)明實施例中流媒體的播放加載示意圖;圖8 本發(fā)明實現(xiàn)容錯功能示意圖;圖9 本發(fā)明實施例七中所述一種支持TS流無線媒體文件精確定位的容錯系統(tǒng)的示意具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整的描述,顯然所描述的實施例僅是本發(fā)明的一部分實施例,不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明提出在MPEG標(biāo)準(zhǔn)格式的流媒體傳輸后,建立二級索引的過程中對影響非線性處理的數(shù)據(jù)進行容錯處理,已保證正確的數(shù)據(jù)使用,下面通過實施例進行詳細說明實施例一參照圖1,是本發(fā)明實施例一中所述一種支持TS (Transport Stream)流媒體文件生成二級索文件用于實現(xiàn)容錯的生成示意圖;具體步驟如下當(dāng)通過TS流媒體傳輸?shù)玫揭欢蜹S流媒體數(shù)據(jù)后,系統(tǒng)將對該流媒體數(shù)據(jù)進行解析,主要目的是從中獲得該文件的PAT(節(jié)目流列表)信息,PMT(節(jié)目流信息)數(shù)據(jù),并從包頭信息中獲得PID值;并同時為建立索引文件作準(zhǔn)備,在從PMT數(shù)據(jù)中確定基本數(shù)據(jù)后,初步建立以包括文件頭、視頻GOP索引、視頻I^yload索引、音頻索引項目的一級索引文件項目,并預(yù)留相應(yīng)項目空間;之后對包數(shù)據(jù)塊進行解析,按照之前所解析的PID值對“視頻數(shù)據(jù)塊、音頻數(shù)據(jù)塊、其他數(shù)據(jù)塊,進行劃分歸類,其中對視頻數(shù)據(jù)塊中的每幀數(shù)據(jù)進行歸類, 并存入視頻Payload索引中,并從中檢查是否為視頻GOP (關(guān)鍵幀)數(shù)據(jù),并將結(jié)果另存到視頻GOP索引中;相應(yīng)的音頻數(shù)據(jù)塊中的信息存放置音頻索引中,當(dāng)檢測至一個有效視頻數(shù)據(jù)塊完成后,生成GOP的基本信息,代表一個有效數(shù)據(jù)塊處理完成,至此一個有效二級索引文件基本信息生成,當(dāng)二級索引文件數(shù)據(jù)單元的信息達到預(yù)設(shè)大小后,將其信息回填到上述一級索引項目中,從上述分析可以看出,二級索引文件的建立是解讀TS文件的關(guān)鍵過程,因此主要的容錯處理也將在建立二級索引單元項目的同時給予判斷和完成;總體容錯流程請參照圖8所示。實施例二 參照圖2,是本發(fā)明實施例二中所述一種支持TS流媒體文件生成二級索文件中支持插入關(guān)鍵幀序號的容錯方法示意圖具體步驟如下解讀一標(biāo)準(zhǔn)25幀的TS流中的一幀信息,其中I幀的時間標(biāo)簽為PTS :34200 ;DTS 27000 ;P幀的時間標(biāo)簽為PTS 44000 ;DTS :41400 ;B幀的時間標(biāo)簽PTS :41400,可計數(shù)出I 幀的持續(xù)時間為(41400-34200)/9000(^25 = 2幀,這種情況下因為二級索引建立過程中對幀數(shù)據(jù)的解讀是基于實際傳輸數(shù)據(jù)包的,如果實際的包中只記錄了 1幀的數(shù)據(jù),而該包卻在實際播放的時候持續(xù)2幀的時間(與收到下一個同類數(shù)據(jù)包的時間標(biāo)簽比較),顯然如果精確定位恰好定位到這個缺失幀的位置,就會造成不能正確讀取的后果,本發(fā)明將通過以下方法對上述情況給予容錯處理記錄同一 PID值中的視頻數(shù)據(jù)塊中關(guān)鍵幀及所屬幀時間標(biāo)簽PTS、DTS信息(如 I幀的時間標(biāo)簽為PTS =34200 ;DTS :27000 ;P幀的時間標(biāo)簽為PTS :44000 ;DTS :41400 ;B幀的時間標(biāo)簽息PTS :41400);根據(jù)關(guān)鍵幀及所屬幀的時間標(biāo)簽(PTS、DTS)計算幀長;(如本例中的1幀),顯然上述幀長0幀)大于實際視頻數(shù)據(jù)塊記錄幀長(1幀),則根據(jù)實際視頻數(shù)據(jù)塊記錄幀長與計算幀長的差值O幀-1幀=1幀),對實際視頻數(shù)據(jù)塊幀長進行差值補償(I幀+1幀);根據(jù)差值累加幀號(實際幀長調(diào)整為2幀);此時實際數(shù)據(jù)的I (關(guān)鍵幀)位置并沒有變動,只是幀長實現(xiàn)了增加。通過以上容錯處理之后,二級索引中所記錄的視頻數(shù)據(jù)播放時間和實際播放時間將作到相互對應(yīng),如圖7所示,在視頻數(shù)據(jù)進行播放時,加載二級檢索信息后,以上容錯處理后可使視頻Payload索引指針正確指向所對應(yīng)數(shù)據(jù)區(qū)。實施例三參照圖3,是本發(fā)明實施例三中所述一種支持TS流媒體文件生成二級索文件中支持插入視頻解碼單元基本信息的容錯方法示意圖;具體步驟如下首先,對同一視頻流(以PID為依據(jù))的GOP視頻解碼單元基本信息進行初始記錄;之后,對每組視頻GOP的幀信息進行檢查,對缺少上述視頻GOP基本信息的關(guān)鍵幀,最終,進行視頻GOP視頻解碼單元基本信息進行初始記錄回填。因為基于MPEG標(biāo)準(zhǔn)格式的媒體文件存在多種的文件格式,雖然同時基于MPEG標(biāo)準(zhǔn)的,但在轉(zhuǎn)換為標(biāo)準(zhǔn)幀計數(shù)的時候,會存在格式不規(guī)范的情況,雖然此格式在其他的MPEG 標(biāo)準(zhǔn)格式的播放環(huán)境下并不會出現(xiàn)差錯,但是在需要精確到幀的情況下就將出現(xiàn)錯誤,根據(jù)實施例一中的介紹可以看出對于TS流媒體文件在建立二級索引的索引文件過程中會特別將視頻GOP信息和視頻Payload信息按不同字段分別列出,其作用一方面是便于快速檢索,另外可以根據(jù)圖7看出也是在播放時進行快速定位,準(zhǔn)確播放的需要,如不對以上錯誤進行容錯處理,將會出現(xiàn)普通幀甚至是關(guān)鍵幀信息丟失的情況,也就是很難通過對關(guān)鍵幀建立索引的機制完成播放、和快速定位的要求。實施例四參照圖4,是本發(fā)明實施例四中所述一種支持TS流媒體文件生成二級索文件中進行GOP順序排列的容錯方法示意圖;具體步驟如下如圖4中所示,在數(shù)據(jù)塊中,在第一節(jié)目視頻GOP中記錄的PTS、DTS信息為I 幀數(shù)據(jù)信息為PTS =34200 ;DTS :27000 ;B幀數(shù)據(jù)信息PTS :30600 ;P幀數(shù)據(jù)信息為PTS 41400 ;DTS :34200 ;而顯然在第二節(jié)目視頻GOP中記錄的PTS、DTS信息為I幀數(shù)據(jù)信息為 PTS =800000 ;DTS :797000 ;B 幀數(shù)據(jù)信息 PTS :796400 ;P 幀數(shù)據(jù)信息為 PTS :807200 ;DTS 800600 ;通過以上記錄不難看出前后兩幀的時間標(biāo)簽基點不同,后面的GOP不是前一個GOP 的延續(xù),此種情況一般發(fā)生在收錄素材時,當(dāng)收錄軟件無法正確對不同節(jié)目進行截斷就會出現(xiàn)此類文件。在以上情況下可以通過實施例一中的二級索引文件的生成,進行容錯,具體方法是首先,記錄同一 PID值中的視頻數(shù)據(jù)塊中各視頻GOP關(guān)鍵幀及所屬幀的時間標(biāo)簽 (PTS、DTS);對前后兩組視頻GOP關(guān)鍵幀及所屬幀PTS、DTS單元的幀信息進行比較,如兩組時間基點不同,將后一組視頻GOP關(guān)鍵幀及所屬幀PTS、DTS單元的幀信息根據(jù)前一組視頻GOP 關(guān)鍵幀及所屬幀PTS、DTS單元的幀信息的時間基點進行統(tǒng)一。實施例五參照圖5,是本發(fā)明實施例五中所述一種支持TS流媒體文件精確定位的容錯系統(tǒng)的示意圖,具體包括流媒體加載系統(tǒng);提取PSI系統(tǒng);流媒體視頻、音頻解碼系統(tǒng);容錯處理系統(tǒng);索引文件生成系統(tǒng);其各個部分的連接關(guān)系如圖所示。其中,在流媒體加載系統(tǒng)中,可以根據(jù)預(yù)設(shè)查詢條件進行流媒體文件的檢索;在提取PSI (ftOgram Specific ^formation節(jié)目專用信息)系統(tǒng)中,先采集 PAT (節(jié)目流列表)信息,在從PAT信息中獲取其中所包括的PMT信息,并將其中的文件頭基本信息寫入一級索引文件的文件頭中、并預(yù)留視頻GOP—級索引單元空間、視頻I^yload — 級索引單元空間、音頻一級索引單元空間;在流媒體視頻、音頻解碼系統(tǒng)中,按找PMT文件中所記錄的PID值解碼、并分類數(shù)據(jù),分類成視頻數(shù)據(jù)塊、音頻數(shù)據(jù)塊及其他數(shù)據(jù)塊;在容錯處理系統(tǒng)中,可通過本發(fā)明中記載的方法處理,插入關(guān)鍵幀序號、插入視頻解碼單元基本信息、對幀時間標(biāo)簽基點進行校正的容錯處理;在索引文件生成系統(tǒng)中,將所述視頻數(shù)據(jù)塊、音頻數(shù)據(jù)塊所記錄的數(shù)據(jù)記錄到二級索引文件中,其中包括視頻GOP 二級索引項目、Payload 二級索引項目、音頻二級索引項目、視頻分割數(shù)據(jù)記錄,并通過預(yù)設(shè)閥值程序,將二級索引文件項目寫入一級索引項目中;讀取所有的PMT數(shù)據(jù)塊信息后,將結(jié)束文件信息寫入文件頭基本信息中,形成完整的容錯索引文件。應(yīng)該指出對于本領(lǐng)域技術(shù)人員,基于以上系統(tǒng)處理方法的思想,通過簡單替換的方法,及簡單順序調(diào)整,應(yīng)該屬于本發(fā)明方案的保護范圍。實施例六參照圖6,是本發(fā)明實施例五中所述一種支持TS流媒體文件精確定位的播放方法的示意圖,具體包括加載流媒體索引文件;按照精確幀定位結(jié)果,加載流媒體文件;分解流媒體文件; 加載解碼器進行播放。其中,加載流媒體索引文件為二級索引文件,在按照精確幀定位結(jié)果,加載流媒體文件步驟中,可按按設(shè)定條件進行幀定位檢索,即可以是從文件起始部分檢索,同時也可以從文件中部進行檢索;分解流媒體文件為視頻流媒體文件、音頻流媒體文件、并分別加載視頻解碼器、音頻解碼器,并分別成為視頻輸出、及音頻輸出。參照圖7,是本發(fā)明實施例中流媒體的播放加載示意圖,其中示意播出幀號的加載順序根據(jù)不同單元,分別是從一級索引單元指向二級索引單元,并循環(huán)檢查文件截取數(shù)據(jù)信息,以便對原流媒體數(shù)據(jù)單元進行正確的還原。實施例七參照圖9,是本發(fā)明實施例七中所述一種支持無線TS流媒體文件精確定位的容錯系統(tǒng)的示意圖,具體包括無線流媒體接收系統(tǒng);無線流媒體接收數(shù)據(jù)存儲系統(tǒng);流媒體加載系統(tǒng);提取PSI系統(tǒng);流媒體視頻、音頻解碼系統(tǒng);容錯處理系統(tǒng);索引文件生成系統(tǒng);其各個部分的連接關(guān)系如圖所示。其中,在流媒體加載系統(tǒng)中,與本申請實施例五中的描述一致。
權(quán)利要求
1.一種支持TS流媒體文件精確定位的容錯方法,其特征在于,包括讀取TS流媒體文件后,確定目標(biāo)數(shù)據(jù)塊;根據(jù)確定的目標(biāo)數(shù)據(jù)塊,讀取所述目標(biāo)數(shù)據(jù)塊的基本文件信息,并根據(jù)所述基本信息預(yù)留一級索引單元項目空間;按照傳輸流PID值解析所述目標(biāo)數(shù)據(jù)塊,結(jié)合校正方式,建立二級索引單元項目;根據(jù)所述二級索引單元項目信息生成一級索引單元項目,并回填到上述一級索引單元項目空間中。按設(shè)定條件,檢索目標(biāo)數(shù)據(jù)塊信息中的全部單元信息。
2.根據(jù)權(quán)利要求1所述的容錯方法,其特征在于讀取所述確定目標(biāo)數(shù)據(jù)塊的基本文件信息包括分組首部、有效負載,其中分組首部至少包括PAT信息。
3.根據(jù)權(quán)利要求1或2所述的容錯方法,其特征在于讀取所述目標(biāo)數(shù)據(jù)塊的基本文件信息,可以通過解析PMT信息獲得,其中,PMT信息可以通過PAT數(shù)據(jù)單元確定。
4.根據(jù)權(quán)利要求1所述的容錯方法,其特征在于根據(jù)所述基本信息預(yù)留一級索引單元包括文件頭基本信息、視頻GOP —級索引單元、 視頻Payload —級索引單元、音頻一級索引單元。
5.根據(jù)權(quán)利要求4所述的容錯方法,其特征在于所述文件頭基本信息,可以通過PMT信息確定。
6.根據(jù)權(quán)利要求1的容錯方法,其特征在于解析目標(biāo)數(shù)據(jù)塊包括視頻數(shù)據(jù)塊;音頻數(shù)據(jù)塊;其他數(shù)據(jù)塊。
7.根據(jù)權(quán)利要求1或6所述的容錯方法,其特征在于所述建立二級索引單元項目包括視頻GOP 二級索引、Payload 二級索引、音頻二級索引、視頻分割數(shù)據(jù)記錄。
8.根據(jù)權(quán)利要求7所述的容錯方法,其特征在于所述視頻分割數(shù)據(jù)記錄可以通過記錄首次有效視頻記錄得到。
9.根據(jù)權(quán)利要求7所述的容錯方法,其特征在于所述視頻GOP二級索引通過對視頻 Payload 二級索引組判斷確定。
10.根據(jù)權(quán)利要求7或9所述的容錯方法,其特征在于視頻數(shù)據(jù)塊可以根據(jù)PMT文件中的PID值確定。
11.根據(jù)權(quán)利要求7所述的容錯方法,其特征在于音頻數(shù)據(jù)塊可以根據(jù)PMT文件中的 PID值確定。
12.根據(jù)權(quán)利要求7所述的容錯方法,其特征在于其他數(shù)據(jù)塊可以根據(jù)PMT文件中的 PID值確定。
13.根據(jù)權(quán)利要求1或7所述的容錯方法,其特征在于所述根據(jù)所述二級索引單元項目信息生成一級索引單元項目,包括視頻I^ayload索引項目、視頻GOP索引項目、音頻索引項目。
14.根據(jù)權(quán)利要求1或12所述的容錯方法,其特征在于所述根據(jù)所述二級索引單元項目信息生成一級索引單元項目,可以通過對二級索引單元項目設(shè)定閥值獲得相應(yīng)的一級索引單元項目。
15.根據(jù)權(quán)利要求1或5所述的容錯方法,其特征在于包括將文件尾信息寫入所述基本文件頭信息中。
16.根據(jù)權(quán)利要求2所述的容錯方法,其特征在于流媒體源數(shù)據(jù)塊大小可以為184或 192字節(jié)的兩種情況。
17.根據(jù)權(quán)利要求1或2或是所述的容錯方法,其特征在于還可以包括解析所述目標(biāo)數(shù)據(jù)塊數(shù)量由PAT信息確定。
18.根據(jù)權(quán)利要求1所述的容錯方法,其特征在于所述校正方式包括插入關(guān)鍵幀序號、插入視頻解碼單元基本信息、對幀時間標(biāo)簽基點進行校正。
19.根據(jù)權(quán)利要求18中所述的容錯方法,其特征在于所述插入關(guān)鍵幀序號的方法包括記錄同一 PID值中的視頻數(shù)據(jù)塊中視頻GOP關(guān)鍵幀及所屬幀的PTS、DTS時間標(biāo)簽信息;根據(jù)關(guān)鍵幀及所屬幀的PTS、DTS時間標(biāo)簽信息計算幀長;如幀長大于實際視頻數(shù)據(jù)塊記錄幀長,則根據(jù)實際視頻數(shù)據(jù)塊記錄幀長與計算幀長的差值,對實際視頻數(shù)據(jù)塊幀長進行差值補償修正; 根據(jù)差值累加幀號。
20.根據(jù)權(quán)利要求19中所述的容錯方法,其特征在于根據(jù)關(guān)鍵幀及所屬幀PTS、DTS 單元信息計算幀長的方法可以是1幀PTS值與B幀PTS值差值,除以每幀顯示時間。
21.根據(jù)權(quán)利要求18中所述的容錯方法,其特征在于所述插入視頻解碼單元基本信息的方法包括對同一 PID值中的視頻GOP的視頻解碼單元基本信息進行初始記錄; 對每組視頻GOP的幀信息進行檢查,對缺少上述視頻GOP基本信息的關(guān)鍵幀,進行視頻 GOP視頻解碼單元基本信息進行初始記錄回填。
22.根據(jù)權(quán)利要求18中所述的容錯方法,其特征在于所述幀時間標(biāo)簽基點進行校正方法包括記錄同一 PID值中的視頻數(shù)據(jù)塊中各視頻GOP關(guān)鍵幀及所屬幀PTS、DTS單元信息; 對前后兩組視頻GOP關(guān)鍵幀及所屬幀PTS、DTS單元的幀信息進行比較,如兩組時間基點不同,將后一組視頻GOP關(guān)鍵幀及所屬幀PTS、DTS單元的幀信息根據(jù)前一組視頻GOP關(guān)鍵幀及所屬幀PTS、DTS單元的幀信息的時間基點進行統(tǒng)一。
23.根據(jù)權(quán)利要求18或19中所述的容錯方法,其特征在于所述補充關(guān)鍵幀單元解碼單元基本信息包括PTS和DTS值。
24.一種支持TS流媒體文件精確定位的容錯系統(tǒng),其特征在于,包括 流媒體加載系統(tǒng);提取PSI系統(tǒng); 流媒體視頻、音頻解碼系統(tǒng); 容錯處理系統(tǒng); 索引文件生成系統(tǒng);
25.根據(jù)權(quán)利要求M中所述的容錯系統(tǒng),其特征在于 所述提取PSI系統(tǒng)中,包括提取PAT、PMT信息;
26.根據(jù)權(quán)利要求M或25中所述的容錯系統(tǒng),其特征在于所述索引文件生成系統(tǒng)包括一級索引單元生成系統(tǒng)、二級索引單元生成系統(tǒng)。
27.根據(jù)權(quán)利要求M或沈中所述的容錯系統(tǒng),其特征在于所述一級索引單元生成系統(tǒng)包括文件頭基本信息、視頻GOP—級索引單元、視頻 Payload 一級索引單元、音頻一級索引單元。
28.根據(jù)權(quán)利要求M或沈中所述的容錯系統(tǒng),其特征在于所述二級索引單元生成系統(tǒng)包括視頻GOP 二級索引、Payload 二級索引、音頻二級索引、視頻分割數(shù)據(jù)記錄。
29.根據(jù)權(quán)利要求M中所述的容錯系統(tǒng),其特征在于所述容錯處理系統(tǒng)包括插入關(guān)鍵幀序號容錯處理系統(tǒng)、插入視頻解碼單元基本信息容錯處理系統(tǒng)、對幀時間標(biāo)簽基點進行校正容錯處理系統(tǒng)。
30.根據(jù)權(quán)利要求M中所述的容錯系統(tǒng),其特征在于還可以包括播放加載系統(tǒng)。
31.一種支持TS流媒體文件精確定位的容錯的播放方法 其特征在于,包括加載流媒體索引文件; 按照精確幀定位結(jié)果,加載流媒體文件; 分解流媒體文件; 加載解碼器進行播放。
32.根據(jù)權(quán)利要求31所述的播放方法其特征在于還可以包括按設(shè)定條件進行幀定位檢索;
33.根據(jù)權(quán)利要求31所述的播放方法其特征在于所述分解流媒體文件,可分解為視頻流文件、音頻流文件;
34.根據(jù)權(quán)利要求31或33所述的播放方法其特征在于所述加載索引文件,可分為加載一級索引文件、加載二級索引文件;
35.根據(jù)權(quán)利要求31或33所述的播放方法其特征在于所述加載解碼器,進行播放,其加載解碼器解碼視頻流文件、音頻流文件, 進行視頻、音頻播放。
36.一種支持無線TS流媒體文件精確定位的容錯系統(tǒng),其特征在于,包括 無線流媒體接收系統(tǒng);無線流媒體接收數(shù)據(jù)存儲系統(tǒng);流媒體加載系統(tǒng);提取PSI系統(tǒng);流媒體視頻、音頻解碼系統(tǒng);容錯處理系統(tǒng);索引文件生成系統(tǒng)。
全文摘要
本發(fā)明公開了一種支持TS流媒體文件的容錯方法,從而解決不同TS流媒文件在收錄、傳輸中的存在格式缺陷不能滿足非線性編輯處理中幀精確定位的問題。所述容錯方法包括從文件頭開始讀取流媒體文件,確定真正有效的目標(biāo)視音頻數(shù)據(jù)塊;之后根據(jù)確定的目標(biāo)數(shù)據(jù)塊,確定基本文件頭信息,并預(yù)留一級索引單元項目空間;解析目標(biāo)數(shù)據(jù)塊,結(jié)合校正方式,建立二級索引單元項目;最后根據(jù)所述二級索引單元項目信息生成一級索引單元項目,并回填到上述一級索引單元項目空間中,通過以上容錯方法可以實現(xiàn)TS流中插入丟失的關(guān)鍵幀序號、插入部分缺失的視頻解碼單元基本信息、對同一文件中保存多個以不同時間標(biāo)簽基點的節(jié)目流進行校正操作,通過以上容錯可以有效矯正TS流媒體文件在封裝、傳輸、解碼過程中存在的格式缺陷,從而保證正確編輯、播放等操作。
文檔編號H04N5/262GK102231803SQ20111006081
公開日2011年11月2日 申請日期2011年3月14日 優(yōu)先權(quán)日2011年3月14日
發(fā)明者夏永宏, 楊珂 申請人:新奧特(北京)視頻技術(shù)有限公司