>[0029]實(shí)施例一
[0030]參照圖1,示出了本發(fā)明實(shí)施例一的一種文件導(dǎo)航播放方法的步驟流程圖。
[0031]本發(fā)明實(shí)施例的文件導(dǎo)航播放方法包括以下步驟:
[0032]步驟S102:讀取待處理文件中的、文件標(biāo)識數(shù)據(jù)段中存儲的數(shù)據(jù)。
[0033]步驟S104:判斷文件標(biāo)識數(shù)據(jù)段中存儲的數(shù)據(jù)中是否包含文件標(biāo)識。
[0034]其中,文件標(biāo)識用于指示當(dāng)前待處理文件為高清標(biāo)準(zhǔn)兼容的MKV擴(kuò)展文件。文件標(biāo)識可以用“MKUBD”表示。
[0035]其中,視頻分辨率達(dá)到720P (含720P)以上則稱作高清,高清對應(yīng)的英文為“HighDefinit1n,,。
[0036]進(jìn)行上述判斷目的是為了判斷待處理文件是否為符合導(dǎo)航播放標(biāo)準(zhǔn)的文件。該導(dǎo)航播放方法針對的是特定格式的文件,若待處理文件的不是特定格式文件、或者是偽造特定格式的文件,則無法進(jìn)行后續(xù)的導(dǎo)航播放。
[0037]其中,待處理文件中包含多個邏輯數(shù)據(jù)段,具體包括以下邏輯數(shù)據(jù)段:主電影數(shù)據(jù)段、補(bǔ)充和額外內(nèi)容數(shù)據(jù)段、導(dǎo)航用戶界面數(shù)據(jù)段、導(dǎo)航控制數(shù)據(jù)段、信息流數(shù)據(jù)段、章節(jié)信息數(shù)據(jù)段、標(biāo)識流數(shù)據(jù)段、分割信息數(shù)據(jù)段以及文件標(biāo)識數(shù)據(jù)段。文件標(biāo)識數(shù)據(jù)段僅是多個邏輯數(shù)據(jù)段中的一個。文件標(biāo)識數(shù)據(jù)段中存儲文件標(biāo)識,同時還存儲有分割信息數(shù)據(jù)段的地址。
[0038]步驟S106:當(dāng)判斷結(jié)果為包含文件標(biāo)識時,按照設(shè)定規(guī)則讀取待處理文件中的、分割信息數(shù)據(jù)段中存儲的各邏輯數(shù)據(jù)段的位置信息。
[0039]當(dāng)包含文件標(biāo)識,則確定待處理文件為特定格式文件,能夠進(jìn)行導(dǎo)航播放。而進(jìn)行文件導(dǎo)航播放需要依托于文件中的各邏輯數(shù)據(jù)段,因此,確定個邏輯數(shù)據(jù)段的位置信息。
[0040]而文件的分割信息數(shù)據(jù)段中存儲各邏輯數(shù)據(jù)段的位置信息,因此,需讀取分割信息數(shù)據(jù)段中存儲的數(shù)據(jù)。
[0041]當(dāng)判斷結(jié)果為不包含文件標(biāo)識時,則可確定待處理文件并非符合導(dǎo)航播放標(biāo)準(zhǔn)的文件,因此,將中斷文件導(dǎo)航播放流程。
[0042]步驟S108:依據(jù)讀取到的位置信息讀取待處理文件中的各邏輯數(shù)據(jù)段中存儲的數(shù)據(jù)。
[0043]其中,讀取的各邏輯數(shù)據(jù)段包括:導(dǎo)航用戶界面數(shù)據(jù)段、導(dǎo)航控制數(shù)據(jù)段、信息流數(shù)據(jù)段、章節(jié)信息數(shù)據(jù)段以及標(biāo)識流數(shù)據(jù)段。
[0044]導(dǎo)航用戶界面數(shù)據(jù)段中存儲有生成導(dǎo)航用戶界面的數(shù)據(jù),例如:記錄用戶交互顯示時各顯示元素的位置、開始顯示時間等信息。用戶通過這些顯示元素生成的導(dǎo)航用戶界面可以設(shè)定播放媒體流數(shù)據(jù)時需要的音頻類別、字幕語言類別以及具體章節(jié)等內(nèi)容。
[0045]導(dǎo)航控制數(shù)據(jù)段中存儲有用來控制完整導(dǎo)航播放過程的導(dǎo)航控制程序。
[0046]信息流數(shù)據(jù)段中存儲有媒體流數(shù)據(jù)索弓I標(biāo)識、各段媒體流數(shù)據(jù)時長等信息。其中,媒體流數(shù)據(jù)包括主電影數(shù)據(jù)段中存儲的各段主電影以及補(bǔ)充和額外內(nèi)容數(shù)據(jù)段中存儲的各段電影補(bǔ)充內(nèi)容。信息流數(shù)據(jù)段中存儲有各段主電影的索引標(biāo)識、時長等信息;同時還存儲有各段電影補(bǔ)充內(nèi)容的索引標(biāo)識、時長等信息。
[0047]章節(jié)信息數(shù)據(jù)段中存儲有主電影數(shù)據(jù)段中存儲的各主電影中各個章節(jié)的起始時間、以及終止時間。
[0048]標(biāo)識流數(shù)據(jù)段中存儲有類別標(biāo)識符表,該類別標(biāo)識符表中針對每段主電影記錄有主電影的標(biāo)識,以及對應(yīng)的不同語言的音頻類別標(biāo)識及字幕類別標(biāo)識。當(dāng)用戶通過導(dǎo)航用戶界面選擇主電影、音頻類別以及字幕類別時,通過該類別標(biāo)識符表即可確定主電影標(biāo)識、音頻類別標(biāo)識、以及字幕類別標(biāo)識,通過這些標(biāo)識從主電影數(shù)據(jù)段中提取相應(yīng)的主電影進(jìn)行播放即可。
[0049]步驟S110:依據(jù)讀取到的各邏輯數(shù)據(jù)段中存儲的數(shù)據(jù)對待處理文件進(jìn)行導(dǎo)航播放。
[0050]通過本發(fā)明實(shí)施例提供的文件導(dǎo)航播放方法,針對MKV文件擴(kuò)展后的文件進(jìn)行導(dǎo)航播放。MKV擴(kuò)展后的文件為在MKV文件中增加多個邏輯數(shù)據(jù)段后生成的一種高清標(biāo)準(zhǔn)兼容的MKV擴(kuò)展文件。在對擴(kuò)展后的文件進(jìn)行導(dǎo)航播放時,由于擴(kuò)展后的文件中包含多個邏輯數(shù)據(jù)段,如導(dǎo)航控制數(shù)據(jù)段、導(dǎo)航用戶界面數(shù)據(jù)段、信息流數(shù)據(jù)段、章節(jié)信息數(shù)據(jù)段以及標(biāo)識流數(shù)據(jù)段,而通過擴(kuò)展后的上述多個邏輯數(shù)據(jù)段來調(diào)用相應(yīng)流媒體數(shù)據(jù)即可實(shí)現(xiàn)對文件中存儲的各段媒體流數(shù)據(jù)進(jìn)行導(dǎo)航播放。可見,本發(fā)明實(shí)施例提供的文件導(dǎo)航播放方法能夠?qū)崿F(xiàn)對文件的導(dǎo)航播放。
[0051]實(shí)施例二
[0052]參照圖2,示出了本發(fā)明實(shí)施例二的一種文件導(dǎo)航播放方法的步驟流程圖。
[0053]本發(fā)明實(shí)施例的文件導(dǎo)航播放方法具體包括以下步驟:
[0054]步驟S202:播放器讀取待處理文件中的、文件標(biāo)識數(shù)據(jù)段中存儲的數(shù)據(jù)。
[0055]本發(fā)明實(shí)施例中以待處理的文件為符合特定格式的文件為例對后續(xù)流程進(jìn)行說明。符合特定格式的文件的后綴名可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求進(jìn)行設(shè)置,例如設(shè)置成“VID0N”。假設(shè)符合特定格式的文件的后綴名為“VID0N”,若待處理的文件的后綴名為“VID0N”,則可執(zhí)行步驟S202,若待處理的文件的后綴名并非“VID0N”,那么,則確定待處理文件不符合設(shè)定格式無法對該文件進(jìn)行導(dǎo)航播放。也就是說,本發(fā)明實(shí)施例提供的文件導(dǎo)航播放方法適用于與其建立有約定關(guān)系的特定格式的文件。
[0056]其中,該播放器可以為任意適當(dāng)?shù)哪軌虿シ臡KV文件的播放器,例如:DVD WatchBox盒子播放器。
[0057]特定格式的文件為對MKV文件包含的主電影數(shù)據(jù)段、補(bǔ)充和額外內(nèi)容數(shù)據(jù)段的基礎(chǔ)上增加分割信息數(shù)據(jù)段、文件標(biāo)識數(shù)據(jù)段、導(dǎo)航用戶界面數(shù)據(jù)段、導(dǎo)航控制數(shù)據(jù)段、信息流數(shù)據(jù)段、章節(jié)信息數(shù)據(jù)段以及標(biāo)識流數(shù)據(jù)段這些邏輯數(shù)據(jù)段后生成的文件,并且為該種文件定義了一種新的文件名后綴。例如:文件名后綴可以是.VID0N。
[0058]優(yōu)選地,將文件標(biāo)識數(shù)據(jù)段設(shè)置成文件的最后一個邏輯數(shù)據(jù)段。這樣,便于讀取。
[0059]其中:
[0060]主電影數(shù)據(jù)段中存儲有多段主電影,即該數(shù)據(jù)段中存儲的數(shù)據(jù)由視頻、音頻及字幕流混合而成,是完整電影情節(jié)部分。優(yōu)選地,將主電影數(shù)據(jù)段設(shè)置成為文件的首個邏輯數(shù)據(jù)段。將主電影數(shù)據(jù)段設(shè)置成首個邏輯數(shù)據(jù)段,即便不采用導(dǎo)航播放方法,而采用普通的MKV播放方法也可以對主電影數(shù)據(jù)段中存儲的主電影進(jìn)行順序播放??梢?,通過將主電影數(shù)據(jù)段設(shè)置成首個邏輯數(shù)據(jù)段既可以滿足文件導(dǎo)航的播放需求又可以滿足類似于MKV播放的普通播放需求。
[0061]主電影數(shù)據(jù)段中,每段主電影對應(yīng)有多類音頻,以及多類字幕,音頻類別可以達(dá)到16種國家的語言,當(dāng)然,也可以更多也可以僅設(shè)置幾種常用的音頻類別,對于字幕類別也同樣,對于音頻類別、字幕類別的具體設(shè)置可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求進(jìn)行設(shè)置,本發(fā)明實(shí)施例中對此不作具體限制。
[0062]補(bǔ)充和額外內(nèi)容數(shù)據(jù)段中存儲有多段電影補(bǔ)充內(nèi)容,該段數(shù)據(jù)中存儲的數(shù)據(jù)也由視頻、音頻及字幕流混合而成,是一些電影預(yù)告短片及菜單背景等內(nèi)容。
[0063]分割信息數(shù)據(jù)段中存儲有文件中各數(shù)據(jù)段在文件中的地址信息。
[0064]文件標(biāo)識數(shù)據(jù)段中存儲有文件標(biāo)識以及分割信息數(shù)據(jù)段的地址信息。文件標(biāo)識的具體設(shè)置可以由本領(lǐng)域技術(shù)人員在實(shí)際應(yīng)用過程中根據(jù)實(shí)際需求進(jìn)行設(shè)置,只要能夠指示其所在文件為特定格式的文件即可。例如:用“MKUBD”標(biāo)識VID0N文件。
[0065]導(dǎo)航用戶界面數(shù)據(jù)段中存儲有生成導(dǎo)航用戶界面的數(shù)據(jù),例如:記錄用戶交互顯示時各顯示元素的位置、開始顯示時間等信息。用戶通過這些顯示元素生成的導(dǎo)航用戶界面可以設(shè)定播放媒體流數(shù)據(jù)時需要的音頻類別、字幕語言類別以及具體章節(jié)等內(nèi)容。
[0066]導(dǎo)航控制數(shù)據(jù)段中存儲有用來控制完整導(dǎo)航播放過程的導(dǎo)航控制程序。
[0067]信息流數(shù)據(jù)段中存儲有媒體流數(shù)據(jù)索弓I標(biāo)識、各段媒體流數(shù)據(jù)時長等信息。其中,媒體流數(shù)據(jù)包括主電影數(shù)據(jù)段中存儲的各段主電影以及補(bǔ)充和額外內(nèi)容數(shù)據(jù)段中存儲的各段電影補(bǔ)充內(nèi)容。信息流數(shù)據(jù)段中存儲有各段主電影的索引標(biāo)識、時長等信息;同時還存儲有各段電影補(bǔ)充內(nèi)容的索引標(biāo)識、時長等信息。
[0068]章節(jié)信息數(shù)據(jù)段中存儲有主電影數(shù)據(jù)段中存儲的各主電影中各個章節(jié)的起始時間、以及終止時間。
[0069]標(biāo)識流數(shù)據(jù)段中存儲有類別標(biāo)識符表,該類別標(biāo)識符表中針對每段主電影記錄有主電影的標(biāo)識,以及對應(yīng)的不同語言的音頻類別標(biāo)識及字幕類別標(biāo)識。當(dāng)用戶通過導(dǎo)航用戶界面選擇主電影、音頻類別以及字幕類別時,通過該類別標(biāo)識符表即可確定主電影標(biāo)識、音頻類別標(biāo)識、以及字幕類別標(biāo)識,通過這些標(biāo)識從主電影數(shù)據(jù)段中提取相應(yīng)的主電影進(jìn)行播放即可。
[0070]步驟S204:播放器判斷文件標(biāo)識數(shù)據(jù)段中存儲的數(shù)據(jù)中是否包含文件標(biāo)識。
[0071]其中,文件標(biāo)識用于指示當(dāng)前待處理文件為高清標(biāo)準(zhǔn)兼容的MKV擴(kuò)展文件。
[0072]例如:設(shè)定特定格式的文件的后綴名為.VID0N,在擴(kuò)展文件、以及對擴(kuò)展后的特定文件進(jìn)行導(dǎo)航時,約定采用“MKUBD”對用VID0N文件進(jìn)行標(biāo)識,那么,在判斷時,文件中包含“MKUBD”即說明該文件為特定格式的VID0N文件。
[0073]步驟S206:當(dāng)判斷結(jié)果為包含文件標(biāo)識時,播放器獲取待處理文件中的、文件標(biāo)識數(shù)據(jù)段中存儲的分割信息數(shù)據(jù)段的地址信息。
[0074]當(dāng)文件中不包含文件標(biāo)識時,則可能是待處理文件僅為普通MKV文件修改成與特定格式文件相同的文件后綴名,而文件的并不包含特定格式文件所包含的邏輯數(shù)據(jù)段,因此,無法采用本發(fā)明實(shí)施例中的文件導(dǎo)航播放方法進(jìn)行導(dǎo)航播放,因此,后續(xù)的導(dǎo)航播放流程將中斷。
[0075]步驟S208:播放器依據(jù)地址信息確定分割數(shù)據(jù)段,讀取分割數(shù)據(jù)段中存儲的各邏輯數(shù)據(jù)段的位置信息。
[0076]在確定各邏輯數(shù)據(jù)段的位置信息后,即可調(diào)用讀取各邏輯數(shù)據(jù)段中存儲