一種根據(jù)語言提取音頻及字幕的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多媒體技術(shù)領(lǐng)域,尤其涉及一種根據(jù)語言提取音頻及字幕的方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)視頻的迅速發(fā)展,常常需要對已有視頻文件進(jìn)行解碼后重新編碼及封裝,以得到一個可供本地播放器或當(dāng)前視頻網(wǎng)站播放的格式的視頻文件。目前,視頻文件格式主要有FLV、DV、MP4、MKV、MOV、TS、3GP等等,其中,F(xiàn)LV、DV、MP4等這些格式中視頻和音頻是兩個流,且每個都是單一流。而MKV、MOV、TS這些格式中視頻和音頻均可以是多個流,且MKV還可以有多個字幕流。但是,現(xiàn)有的視頻解碼工具只能是單一流進(jìn)入,單一流輸出,不支持多流的視頻格式。因此,需要一種能夠?qū)⒍嗔鞯囊曨l格式(尤其是MKV格式)轉(zhuǎn)換為單流的視頻格式的方案,即需要一種能夠從具有多路音頻和字幕的視頻文件中提取出一路指定的音頻和字幕的方案,以對視頻進(jìn)行后面的轉(zhuǎn)碼和播放等處理。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種根據(jù)語言提取音頻及字幕的方法及裝置,用于從具有多路音頻和字幕的視頻文件中提取出指定語言的一路音頻和字幕,實(shí)現(xiàn)將多流的視頻轉(zhuǎn)換為單流的視頻的目的。
[0004]本發(fā)明提供一種根據(jù)語言提取音頻及字幕的方法,包括:
[0005]對具有多路音頻及字幕的視頻文件進(jìn)行解封裝,得到視頻數(shù)據(jù)以及混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù);
[0006]根據(jù)所述具有多路音頻及字幕的視頻文件的格式,從所述具有多路音頻及字幕的視頻文件的信息頭中獲得各路音頻和各路字幕的語言信息;
[0007]根據(jù)各路音頻和各路字幕的語言信息,從所述混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù)中提取指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù);
[0008]將所述指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù)與視頻數(shù)據(jù)合并。
[0009]本發(fā)明實(shí)施例的一些有益效果可以包括:
[0010]根據(jù)具有多路音頻及字幕的視頻文件信息頭中記錄的各路音頻和各路字幕的語言信息,提取指定語言的一路音頻數(shù)據(jù)和字幕數(shù)據(jù),并與視頻數(shù)據(jù)進(jìn)行合并,實(shí)現(xiàn)將多流的視頻轉(zhuǎn)換為單流的視頻的目的。同時,合并后的單流的視頻的音頻和字幕可針對觀眾的語言而進(jìn)行選擇,極大地提高了視頻觀眾的體驗(yàn)感。
[0011]在一個實(shí)施例中,所述具有多路音頻及字幕的視頻文件為多媒體容器MKV文件。
[0012]本發(fā)明實(shí)施例的一些有益效果可以包括:
[0013]MKV是新型的封裝方式,可封裝多種格式的文件,是未來的大勢所趨。本發(fā)明提供的方法,可應(yīng)用于MKV文件,具有適用性強(qiáng)的特點(diǎn)。
[0014]在一個實(shí)施例中,從所述具有多路音頻及字幕的視頻文件的信息頭中獲得各路音頻和各路字幕的語言信息的方法包括:
[0015]讀取多媒體容器MKV文件的軌Track信息頭;
[0016]從軌Track信息頭中,讀取各路音頻和各路字幕對應(yīng)的軌實(shí)體TrackEntry ;
[0017]讀取軌實(shí)體TrackEntry中語言Language字段;
[0018]依據(jù)語言Language字段,獲得各路音頻和各路字幕的語言信息。
[0019]本發(fā)明實(shí)施例的一些有益效果可以包括:
[0020]由于MKV文件具有其特定的格式,因此通過在MKV文件中找到其Track信息頭,并從中讀取各路音頻和字幕對應(yīng)的TrackEntry中Language字段信息,由此可快速的識別各路音頻和字幕的語言信息,從而可方便的提取指定語言的一路音頻數(shù)據(jù)和字幕數(shù)據(jù),并與視頻數(shù)據(jù)進(jìn)行合并,實(shí)現(xiàn)將多流的視頻轉(zhuǎn)換為單流的視頻的目的。
[0021]在一個實(shí)施例中,當(dāng)所述具有多路音頻及字幕的視頻文件面向大陸地區(qū)時,所述從所述混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù)中提取指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù),包括:從所述混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù)中提取漢語普通話音頻數(shù)據(jù)和簡體中文字幕數(shù)據(jù)。
[0022]本發(fā)明實(shí)施例的一些有益效果可以包括:
[0023]該方法可根據(jù)所需要的僅包括一路音頻和字幕的應(yīng)用場景或觀眾決定所述指定語言,語言的指定靈活多變,如當(dāng)視頻的觀眾主要是大陸人群時,可提取漢語普通話音頻數(shù)據(jù)和簡體中文字幕數(shù)據(jù),并與視頻數(shù)據(jù)進(jìn)行合并,從而極大地提高了視頻觀眾的體驗(yàn)感。
[0024]一種根據(jù)語言提取音頻及字幕的裝置,包括:
[0025]視頻解封裝模塊,用于對具有多路音頻及字幕的視頻文件進(jìn)行解封裝,得到視頻數(shù)據(jù)以及混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù),并輸出得到的數(shù)據(jù);
[0026]語言信息獲取模塊,用于根據(jù)所述具有多路音頻及字幕的視頻文件的格式,從所述具有多路音頻及字幕的視頻文件的信息頭中獲得各路音頻和各路字幕的語言信息并輸出;
[0027]音頻字幕提取模塊,根據(jù)所述語言信息獲取模塊輸出的各路音頻和各路字幕的語言信息,從所述視頻解封裝模塊輸出的混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù)中提取指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù),并輸出;
[0028]合成模塊,接收所述音頻字幕提取模塊輸出的指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù),并將其與所述視頻解封裝模塊輸出的視頻數(shù)據(jù)合并。
[0029]在一個實(shí)施例中,所述具有多路音頻及字幕的視頻文件為多媒體容器MKV文件;所述語言信息獲取模塊包括:
[0030]信息頭讀取單元,用于讀取當(dāng)前多媒體容器MKV文件的軌Track信息頭,并從軌Track信息頭中,讀取各路音頻和各路字幕對應(yīng)的軌實(shí)體TrackEntry ;
[0031]語言信息獲取單元,讀取所述信息頭讀取單元獲得的各路音頻和各路字幕對應(yīng)的軌實(shí)體TrackEntry中的語言Language字段,并依據(jù)語言Language字段獲得各路音頻和各路字幕的語言信息并輸出。
[0032]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0033]下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【附圖說明】
[0034]附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0035]圖1為本發(fā)明實(shí)施例中一種根據(jù)語言提取音頻及字幕的方法的流程圖;
[0036]圖2為MKV文件的格式示意圖;
[0037]圖3為獲得各路音頻和各路字幕的語言信息的方法的流程圖;
[0038]圖4為本發(fā)明實(shí)施例中一種根據(jù)語言提取音頻及字幕的裝置的結(jié)構(gòu)示意圖;
[0039]圖5為語言信息獲取模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0041]圖1為本發(fā)明實(shí)施例中一種根據(jù)語言提取音頻及字幕的方法的流程圖,如圖1中所示,該方法包括以下步驟:
[0042]步驟SlOl:對具有多路音頻及字幕的視頻文件進(jìn)行解封裝,得到視頻數(shù)據(jù)以及混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù);
[0043]步驟S102:根據(jù)具有多路音頻及字幕的視頻文件的格式,從具有多路音頻及字幕的視頻文件的信息頭中獲得各路音頻和各路字幕的語言信息;
[0044]步驟S103:根據(jù)各路音頻和各路字幕的語言信息,從混合存儲的多路音頻數(shù)據(jù)和多路字幕數(shù)據(jù)中提取指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù);
[0045]步驟S104:將指定語言的音頻數(shù)據(jù)和字幕數(shù)據(jù)與視頻數(shù)據(jù)合并。
[0046]本發(fā)明實(shí)施例提供的技術(shù)方案,根據(jù)具有多路音頻及字幕的視頻文件信息頭中記錄的各路音頻和各路字幕的語言信息,提取指定語言的一路音頻數(shù)據(jù)和字幕數(shù)據(jù),并與視頻數(shù)據(jù)進(jìn)行合并,實(shí)現(xiàn)將多流的視頻轉(zhuǎn)換為單流的視頻的目的。同時,合并后的單流的視頻的音頻和字幕可針對觀眾的語言而進(jìn)行選擇,極大地提高了視頻觀眾的體驗(yàn)感。
[0047]在一個實(shí)施例中,具有多路音頻及字幕的視頻文件為多媒體容器MKV文件。
[0048]MKV文件是新型的封裝方式,可封裝多種格式的文件,是未來的大勢所趨,如圖2為MKV文件的格式示意圖,MKV文件整體包括EBML Header和Segment,其中EBML Header包含了文件的版本、文檔類型等相關(guān)信息;Segment保存了媒體文件的視頻和音頻的實(shí)際數(shù)據(jù),包括Track、Clusters等若干子元素。
[0049]在一個實(shí)施例中,上述步驟S102中從具有多路音頻及字幕的視頻文件的信息頭中獲得各路音頻和各路字幕的語言信息的方法,如圖3所示,包括以下步驟:
[0050]步驟S301:讀取多媒體容器MKV文件的軌Track信息頭;MKV文件的軌Track信息頭包含了音視頻的基本信息,如音視頻解碼器類型、視頻分辨率、音頻采樣率等。通過對Track部分的解析,就能得到音視頻的基本信息。
[0051]步驟S302:從軌Track信息頭中,讀取各路音頻和各路字幕對應(yīng)的軌實(shí)體TrackEntry ;每個 TrackEntry 代表著 I 條軌道信息。其中 TrackEntry 內(nèi)的 TrackNumber表示了該TrackEntry描述軌道號;TrackType