本發(fā)明涉及互聯(lián)網(wǎng)電視領(lǐng)域,尤其涉及一種字幕的切換方法及裝置。
背景技術(shù):
在很多國家和地區(qū),尤其是歐洲的一些視頻內(nèi)容服務(wù)商,為了更好地為不同語言國家的人們提供視頻點播節(jié)目服務(wù),在節(jié)目的視頻文件里面都嵌入了不同語言的字幕。人們在觀看節(jié)目的時候,通過遙控器,進行不同語言字幕的切換。
目前,進行字幕切換的方法一般是首先停止將當(dāng)前字幕的數(shù)據(jù)送入緩存,清空緩存空間并通過對字幕解碼器模塊進行flush操作來清空字幕解碼器模塊緩存的數(shù)據(jù);接著,將待切換字幕的數(shù)據(jù)送入緩存空間,數(shù)據(jù)緩存模塊將緩存空間的數(shù)據(jù)送入字幕解碼器模塊;然后,字幕解碼器模塊在接收到待切換字幕的數(shù)據(jù)后,進行解碼。對解碼后的字幕數(shù)據(jù)與音頻或者視頻在時間上進行同步后,輸出到輸出模塊;最終,輸出模塊在接收到解碼后的字幕數(shù)據(jù)后,進行輸出顯示,字幕切換結(jié)束。通過上述方式進行切換字幕,無法對字幕的播放時間進行快速定位。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種字幕的切換方法及裝置,旨在解決無法對字幕的播放時間進行快速定位的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種字幕的切換方法,所述方法包括以下步驟:
獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表;
根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑;
提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條;
在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù);
將讀取到的字幕數(shù)據(jù)進行輸出顯示。
可選地,所述提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條的步驟包括:
獲取播放中的視頻數(shù)據(jù)當(dāng)前顯示時間戳;
將所述時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間與結(jié)束時間分別進行對比;
若字幕信息條數(shù)據(jù)列表中的字幕信息條存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取所述字幕信息條;
若字幕信息條數(shù)據(jù)列表的字幕信息中不存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取和所述時間戳相隔最近的字幕信息條。
可選地,所述方將讀取到的字幕數(shù)據(jù)進行輸出顯示的步驟包括:
獲取所述進行輸出顯示的待切換字幕文件,將所述待切換字幕文件進行解析;
獲得所述待切換字幕文件的字幕信息條數(shù)據(jù),獲取當(dāng)前播放時間戳并且將所述當(dāng)前播放時間戳與所述待切換字幕文件的字幕信息條的開始時間和結(jié)束時間依次進行比較;
將所述待切換字幕文件的字幕信息條中開始時間小于或等于所述當(dāng)前播放時間戳且所述當(dāng)前播放時間戳小于或等于結(jié)束時間的字幕信息條進行渲染顯示字幕文本信息;
將所述待切換字幕文件的字幕信息條中結(jié)束時間大于所述當(dāng)前播放時間戳的字幕信息條清除,并查找下一條字幕數(shù)據(jù);
將所述待切換字幕文件的字幕信息條中開始時間小于所述當(dāng)前播放時間戳的字幕信息條緩存。
可選地,所述獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表的步驟包括:
獲取視頻包含的字幕文件,并將所述字幕文件保存至緩存中,所述字幕文件包括字幕文件內(nèi)容及字幕文件的路徑;
解析所述字幕文件,根據(jù)每條字幕的開始時間和結(jié)束時間將字幕拆分成多個字幕信息條,獲得字幕信息條的偏移量、開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性;
根據(jù)字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表,并將字幕信息條的開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性保存至字幕信息條數(shù)據(jù)列表中;
遍歷所有解析出來的字幕信息條的時間屬性,提取字幕信息條的開始時間及結(jié)束時間,根據(jù)所述字幕信息條的開始時間進行升序排序,以字幕信息條的時間屬性命名所述字幕信息條并保存至字幕信息條數(shù)據(jù)列表中。
可選地,所述方法還包括:
判斷待切換的字幕文件是否是當(dāng)前語言的字幕文件;
若是,則繼續(xù)輸出顯示當(dāng)前語言的字幕文件;
若否,則獲取待切換字幕文件。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種字幕的切換裝置,所述裝置包括:
建立模塊,用于獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表
第一獲取模塊,用于根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑;
提取模塊,用于提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條;
讀取模塊,用于在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù);
第一顯示模塊,用于將讀取到的字幕數(shù)據(jù)進行輸出顯示。
可選地,所述提取模塊包括:
獲取單元,用于獲取播放中的視頻數(shù)據(jù)當(dāng)前顯示時間戳;
對比單元,用于將所述時間戳與字幕信息條數(shù)據(jù)列表的字幕信息的開始時間于結(jié)束時間分別進行對比;
第一提取單元,用于若字幕信息條數(shù)據(jù)列表的字幕信息中存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取所述字幕信息條;
第二提取單元,用于若字幕信息條數(shù)據(jù)列表的字幕信息中不存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取和所述時間戳相隔最近的字幕信息條。
可選地,所述第一顯示模塊包括:
第一解析單元,用于獲取所述進行輸出顯示的待切換字幕文件,將所述待切換字幕文件進行解析;
比較單元,用于獲得所述待切換字幕文件的字幕信息條數(shù)據(jù),獲取當(dāng)前播放時間戳并且將所述當(dāng)前播放時間戳與所述待切換字幕文件的字幕信息條的開始時間和結(jié)束時間依次進行比較;
渲染單元,用于將所述待切換字幕文件的字幕信息條中開始時間小于或等于所述當(dāng)前播放時間戳且所述當(dāng)前播放時間戳小于或等于結(jié)束時間的字幕信息條進行渲染顯示字幕文本信息;
查找單元,用于將所述待切換字幕文件的字幕信息條中結(jié)束時間大于所述當(dāng)前播放時間戳的字幕信息條清除,并查找下一條字幕數(shù)據(jù);
緩存單元,用于將所述待切換字幕文件的字幕信息條中開始時間小于所述當(dāng)前播放時間戳的字幕信息條緩存。
可選地,所述建立模塊包括:
獲取單元,用于獲取視頻包含的字幕文件,并將所述字幕文件保存至緩存中,所述字幕文件包括字幕文件內(nèi)容及字幕文件的路徑;
第二解析單元,用于解析所述字幕文件,根據(jù)每條字幕的開始時間和結(jié)束時間將字幕拆分成多個字幕信息條,獲得字幕信息條的偏移量、開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性;
建立單元,用于根據(jù)字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表,并將字幕信息條的開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性保存至字幕信息條數(shù)據(jù)列表中;
保存單元,用于遍歷所有解析出來的字幕信息條的時間屬性,提取字幕信息條的開始時間及結(jié)束時間,根據(jù)所述字幕信息條的開始時間進行升序排序,以字幕信息條的時間屬性命名所述字幕信息條并保存至字幕信息條數(shù)據(jù)列表中。
可選地,所述裝置還包括:
判斷模塊,用于判斷待切換的字幕文件是否是當(dāng)前語言的字幕文件;
第二顯示模塊,用于若待切換的字幕文件是當(dāng)前語言的字幕文件,則繼續(xù)輸出顯示當(dāng)前語言的字幕文件;
第二獲取模塊,用于若待切換的字幕文件不是當(dāng)前語言的字幕文件,則獲取待切換字幕文件。
本發(fā)明例提出的字幕的切換方法及裝置,首先在視頻播放之前獲取視頻包含的所有字幕文件并將所述字幕文件解析,從而獲得字幕文件的字幕信息條,然后根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表;當(dāng)檢測到用戶觸發(fā)切換字幕指令時,根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑;然后提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條;在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù);再將讀取到的字幕數(shù)據(jù)進行輸出顯示,從而使得在切換字幕時,切換后的字幕可以快速顯示在對應(yīng)的時間戳上。
附圖說明
圖1為本發(fā)明字幕的切換方法第一實施例的流程示意圖;
圖2為圖1中提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條的步驟的細化流程示意圖;
圖3為圖1中將讀取到的字幕數(shù)據(jù)進行輸出顯示的步驟的細化流程示意圖;
圖4為圖1中獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表的步驟的細化流程示意圖;
圖5為本發(fā)明字幕的切換方法第二實施例的流程示意圖;
圖6為本發(fā)明字幕的切換裝置第一實施例的功能模塊示意圖;
圖7為圖6中提取模塊的細化功能模塊示意圖;
圖8為圖6中第一顯示模塊的細化功能模塊示意圖;
圖9為圖6中建立模塊的細化功能模塊示意圖;
圖10為本發(fā)明字幕的切換裝置第二實施例的功能模塊示意圖;
圖11為解析后的字幕信息條的保存格式示意圖;
圖12為進行排序后的字幕信息條的保存格式示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種字幕的切換方法。
參照圖1,圖1為本發(fā)明字幕的切換方法第一實施例的流程示意圖。
在本實施例中,該方法包括:
步驟S10,獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表;
在本實施例中,在用戶進行播放視頻之前,需要事先獲取所述視頻包含的全部字幕文件,并將所述字幕文件保存在緩存中。然后將所述字幕文件解析,獲得多個字幕信息條,再根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表。
步驟S20,根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑。
具體地,當(dāng)戶用在觀看影音文件時,發(fā)現(xiàn)默認顯示的字幕不是自己需要的字幕,則可通過遙控器等設(shè)備進行字幕切換。具體地,選擇字幕切換功能,并在彈出的可選項列表中選擇需求的字幕類型,生成字幕切換指令,當(dāng)終端檢測到該字幕切換指令時,接收該字幕切換指令。然后根據(jù)所述字幕切換指令待切換字幕文件的路徑。
步驟S30,提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條。
具體地,首先獲取當(dāng)前播放視頻的當(dāng)前播放時間戳,然后將所述當(dāng)前播放時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間及結(jié)束時間依次進行對比,獲得對比結(jié)果,將對比結(jié)果中開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條提取。
步驟S40,在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù)。
在提取到的所述開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條之后,在所述字幕信息條中查找和待切換字幕文件路徑相同路徑的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù)。
步驟S50,將讀取到的字幕數(shù)據(jù)進行輸出顯示。
將讀取到的字幕數(shù)據(jù)進行輸出顯示,使得切換后的字幕與當(dāng)前播放視頻的播放時間相匹配。
本實施例提出的字幕的切換方法,首先在視頻播放之前獲取視頻包含的所有字幕文件并將所述字幕文件解析,從而獲得字幕文件的字幕信息條,然后根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表;當(dāng)檢測到用戶觸發(fā)切換字幕指令時,根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑;然后提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條;在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù);再將讀取到的字幕數(shù)據(jù)進行輸出顯示,從而使得在切換字幕時,切換后的字幕可以快速顯示在對應(yīng)的時間戳上。
進一步地,參照圖2,圖2為圖1中提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕條信息的步驟的細化流程示意圖。
基于本發(fā)明基于本發(fā)明字幕的切換方法第一實施例,所述步驟S30可以包括:
步驟S31,獲取播放中的視頻數(shù)據(jù)當(dāng)前顯示時間戳;
步驟S32,將所述時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間與結(jié)束時間分別進行對比;
步驟S33,若字幕信息條數(shù)據(jù)列表的字幕信息中存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取所述字幕信息條;
步驟S34,若字幕信息條數(shù)據(jù)列表的字幕信息中不存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取和所述時間戳相隔最近的字幕信息條。
在本實施例中,首先獲取播放中的視頻數(shù)據(jù)當(dāng)前顯示時間戳;然后將所述時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間與結(jié)束時間分別進行對比;若字幕信息條數(shù)據(jù)列表的字幕信息中存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取所述字幕信息條;若字幕信息條數(shù)據(jù)列表的字幕信息中不存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取和所述時間戳相隔最近的字幕信息條。
進一步地,參照圖3,圖3為圖1中將讀取到的字幕數(shù)據(jù)進行輸出顯示的步驟的細化流程示意圖。
基于本發(fā)明字幕的切換方法第一實施例,所述步驟S50可以包括:
步驟S51,獲取所述進行輸出顯示的待切換字幕文件,將所述待切換字幕文件進行解析;
步驟S52,獲得所述待切換字幕文件的字幕信息條數(shù)據(jù),獲取當(dāng)前播放時間戳并且將所述當(dāng)前播放時間戳與所述待切換字幕文件的字幕信息條的開始時間和結(jié)束時間依次進行比較;
步驟S53,將所述待切換字幕文件的字幕信息條中開始時間小于或等于所述當(dāng)前播放時間戳且所述當(dāng)前播放時間戳小于或等于結(jié)束時間的字幕信息條進行渲染顯示字幕文本信息;
步驟S54,將所述待切換字幕文件的字幕信息條中結(jié)束時間大于所述當(dāng)前播放時間戳的字幕信息條清除,并查找下一條字幕數(shù)據(jù);
步驟S55,將所述待切換字幕文件的字幕信息條中開始時間小于所述當(dāng)前播放時間戳的字幕信息條緩存。
在本實施例中,在將定位到偏移量后的待切換字幕文件進行輸出顯示之后,獲取所述進行輸出顯示的待切換字幕文件,將所述待切換字幕文件進行解析;獲得所述待切換字幕文件的字幕信息條數(shù)據(jù),獲取當(dāng)前播放時間戳并且將所述當(dāng)前播放時間戳與所述待切換字幕文件的字幕信息條的開始時間和結(jié)束時間依次進行比較;然后將所述待切換字幕文件的字幕信息條中開始時間小于或等于所述當(dāng)前播放時間戳且所述當(dāng)前播放時間戳小于或等于結(jié)束時間的字幕信息條進行渲染顯示字幕文本信息;將所述待切換字幕文件的字幕信息條中結(jié)束時間大于所述當(dāng)前播放時間戳的字幕信息條清除,并查找下一條字幕數(shù)據(jù);將所述待切換字幕文件的字幕信息條中開始時間小于所述當(dāng)前播放時間戳的字幕信息條緩存。
進一步地,參照圖4,圖4為圖1中獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表的步驟的細化流程示意圖。
基于本發(fā)明基于本發(fā)明字幕的切換方法第一實施例,所述步驟S10可以包括:
步驟S11,獲取視頻包含的字幕文件,并將所述字幕文件保存至緩存中,所述字幕文件包括字幕文件內(nèi)容及字幕文件的路徑;
步驟S12,解析所述字幕文件,根據(jù)每條字幕的開始時間和結(jié)束時間將字幕拆分成多個字幕信息條,獲得字幕信息條的偏移量、開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性;
步驟S13,根據(jù)字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表,并將字幕信息條的開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性保存至字幕信息條數(shù)據(jù)列表中;
步驟S13,遍歷所有解析出來的字幕信息條的時間屬性,提取字幕信息條的開始時間及結(jié)束時間,根據(jù)所述字幕信息條的開始時間進行升序排序,以字幕信息條的時間屬性命名所述字幕信息條并保存至字幕信息條數(shù)據(jù)列表中。
在本實施例中,在播放器顯示第一幀之前獲取視頻包含的字幕文件,并將所述字幕文件保存至緩存中,所述字幕文件包括字幕文件內(nèi)容及字幕文件的路徑。然后依次對所有的外掛字幕文件進行解析,根據(jù)每條字幕的開始時間和結(jié)束時間將字幕拆分成多個字幕信息條,由此獲得字幕信息條的偏移量、開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性,然后根據(jù)字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表,并將字幕信息條的開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性保存至字幕信息條數(shù)據(jù)列表中,保存格式可以為字幕文件URL(路徑),開始時間,結(jié)束時間,文本內(nèi)容,渲染屬性,偏移量,如圖11所示。遍歷所有解析出來的字幕信息條的時間屬性,獲得每條字幕信息條的開始時間及結(jié)束時間,提取所述字幕信息條的開始時間及結(jié)束時間,根據(jù)所述字幕信息條的開始時間進行升序排序,以字幕信息條的時間屬性命名所述字幕信息條并保存至字幕信息條數(shù)據(jù)列表中保存格式可以為字幕文件URL(路徑),文本內(nèi)容,渲染屬性,偏移量,如圖12所示。
進一步地,參照圖5,圖5為本發(fā)明字幕的切換方法第二實施例的流程示意圖。
基于本發(fā)明字幕的切換方法第一實施例,所述方法還包括:
步驟S60,判斷待切換的字幕文件是否是當(dāng)前語言的字幕文件;
步驟S70,若是,則繼續(xù)輸出顯示當(dāng)前語言的字幕文件;
步驟S80,若否,則獲取待切換字幕文件。
在本實施例中,用戶在觀看視頻的過程中,會發(fā)生誤按遙控器等設(shè)備的操作。當(dāng)用戶誤按遙控器等設(shè)備的操作為切換字幕時,用戶可以選擇切換語言為當(dāng)前語言,以便繼續(xù)觀看當(dāng)前輸出語言的視頻。因此在根據(jù)用戶觸發(fā)的切換字幕指令獲取字幕信息條數(shù)據(jù)列表及待切換字幕文件之前,首先需要判斷待切換的字幕文件是否是當(dāng)前語言的字幕文件,如果用戶所選擇的待切換的字幕與當(dāng)前語言的字幕一樣,則可判斷用戶觸發(fā)誤操作,無需切換語言,則繼續(xù)輸出顯示當(dāng)前語言的字幕;如果用戶所選擇的待切換的字幕與當(dāng)前語言的字幕不一樣,則獲取待切換字幕文件。
本發(fā)明進一步提供一種字幕的切換裝置。
參照圖6,圖6為本發(fā)明字幕的切換裝置第一實施例的功能模塊示意圖。
在本實施例中,該裝置包括:
建立模塊10,用于獲取視頻包含的字幕文件并解析,獲得字幕信息條,根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表。
在本實施例中,在用戶進行播放視頻之前,需要事先獲取所述視頻包含的全部字幕文件,并將所述字幕文件保存在緩存中。然后將所述字幕文件解析,獲得多個字幕信息條,再根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表。
第一獲取模塊20,用于根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑。
具體地,當(dāng)戶用在觀看影音文件時,發(fā)現(xiàn)默認顯示的字幕不是自己需要的字幕,則可通過遙控器等設(shè)備進行字幕切換。具體地,選擇字幕切換功能,并在彈出的可選項列表中選擇需求的字幕類型,生成字幕切換指令,當(dāng)終端檢測到該字幕切換指令時,接收該字幕切換指令。然后根據(jù)所述字幕切換指令待切換字幕文件的路徑。
提取模塊30,用于提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條。
具體地,首先獲取當(dāng)前播放視頻的當(dāng)前播放時間戳,然后將所述當(dāng)前播放時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間及結(jié)束時間依次進行對比,獲得對比結(jié)果,將對比結(jié)果中開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條提取。
讀取模塊40,用于在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù)。
在提取到的所述開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條之后,在所述字幕信息條中查找和待切換字幕文件路徑相同路徑的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù)。
第一顯示模塊50,用于將讀取到的字幕數(shù)據(jù)進行輸出顯示。
將讀取到的字幕數(shù)據(jù)進行輸出顯示,使得切換后的字幕與當(dāng)前播放視頻的播放時間相匹配。
本實施例提出的字幕的切換裝置,首先在視頻播放之前獲取視頻包含的所有字幕文件并將所述字幕文件解析,從而獲得字幕文件的字幕信息條,然后根據(jù)所述字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表;當(dāng)檢測到用戶觸發(fā)切換字幕指令時,根據(jù)用戶觸發(fā)的切換字幕指令獲取待切換字幕文件的路徑;然后提取字幕信息條數(shù)據(jù)列表中符合預(yù)設(shè)條件的字幕信息條;在提取到的字幕條信息中查找和待切換字幕文件的路徑相同的字幕信息條,并獲取所述字幕信息條的地址偏移量,讀取所述地址偏移量的字幕數(shù)據(jù);再將讀取到的字幕數(shù)據(jù)進行輸出顯示,從而使得在切換字幕時,切換后的字幕可以快速顯示在對應(yīng)的時間戳上。
進一步地,參照圖7,圖7為圖6中提取模塊的細化功能模塊示意圖。
基于本發(fā)明基于本發(fā)明字幕的切換裝置第一實施例,所述提取模塊30可以包括:
獲取模塊31,用于獲取播放中的視頻數(shù)據(jù)當(dāng)前顯示時間戳;
對比單元32,用于將所述時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間與結(jié)束時間分別進行對比;;
第一提取單元33,用于若字幕信息條數(shù)據(jù)列表的字幕信息中存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取所述字幕信息條;
第二提取單元34,用于若字幕信息條數(shù)據(jù)列表的字幕信息中不存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取和所述時間戳相隔最近的字幕信息條。
在本實施例中,首先獲取播放中的視頻數(shù)據(jù)當(dāng)前顯示時間戳;然后將所述時間戳與字幕信息條數(shù)據(jù)列表中的字幕信息條的開始時間與結(jié)束時間分別進行對比;若字幕信息條數(shù)據(jù)列表的字幕信息中存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取所述字幕信息條;若字幕信息條數(shù)據(jù)列表的字幕信息中不存在開始時間小于或等于時間戳且結(jié)束時間大于或等于時間戳的字幕信息條,則提取和所述時間戳相隔最近的字幕信息條。
進一步地,參照圖8,圖8為圖6中第一顯示模塊50的細化功能模塊示意圖。
基于本發(fā)明基于本發(fā)明字幕的切換裝置第一實施例,所述第一顯示模塊50可以包括:
第一解析單元51,用于獲取所述進行輸出顯示的待切換字幕文件,將所述待切換字幕文件進行解析;
比較單元52,用于獲得所述待切換字幕文件的字幕信息條數(shù)據(jù),獲取當(dāng)前播放時間戳并且將所述當(dāng)前播放時間戳與所述待切換字幕文件的字幕信息條的開始時間和結(jié)束時間依次進行比較;
渲染單元53,用于將所述待切換字幕文件的字幕信息條中開始時間小于或等于所述當(dāng)前播放時間戳且所述當(dāng)前播放時間戳小于或等于結(jié)束時間的字幕信息條進行渲染顯示字幕文本信息;
查找單元54,用于將所述待切換字幕文件的字幕信息條中結(jié)束時間大于所述當(dāng)前播放時間戳的字幕信息條清除,并查找下一條字幕數(shù)據(jù);
緩存單元55,用于將所述待切換字幕文件的字幕信息條中開始時間小于所述當(dāng)前播放時間戳的字幕信息條緩存。
在本實施例中,在將定位到偏移量后的待切換字幕文件進行輸出顯示之后,獲取所述進行輸出顯示的待切換字幕文件,將所述待切換字幕文件進行解析;獲得所述待切換字幕文件的字幕信息條數(shù)據(jù),獲取當(dāng)前播放時間戳并且將所述當(dāng)前播放時間戳與所述待切換字幕文件的字幕信息條的開始時間和結(jié)束時間依次進行比較;然后將所述待切換字幕文件的字幕信息條中開始時間小于或等于所述當(dāng)前播放時間戳且所述當(dāng)前播放時間戳小于或等于結(jié)束時間的字幕信息條進行渲染顯示字幕文本信息;將所述待切換字幕文件的字幕信息條中結(jié)束時間大于所述當(dāng)前播放時間戳的字幕信息條清除,并查找下一條字幕數(shù)據(jù);將所述待切換字幕文件的字幕信息條中開始時間小于所述當(dāng)前播放時間戳的字幕信息條緩存。
進一步地,參照圖9,圖9為圖6中建立模塊的細化功能模塊示意圖。
基于本發(fā)明基于本發(fā)明字幕的切換裝置第一實施例,所述建立模塊10可以包括:
獲取單元11,用于獲取視頻包含的字幕文件,并將所述字幕文件保存至緩存中,所述字幕文件包括字幕文件內(nèi)容及字幕文件的路徑;
第二解析單元12,用于解析所述字幕文件,根據(jù)每條字幕的開始時間和結(jié)束時間將字幕拆分成多個字幕信息條,獲得字幕信息條的偏移量、開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性;
建立單元13,用于根據(jù)字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表,并將字幕信息條的開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性保存至字幕信息條數(shù)據(jù)列表中;
保存單元14,用于遍歷所有解析出來的字幕信息條的時間屬性,提取字幕信息條的開始時間及結(jié)束時間,根據(jù)所述字幕信息條的開始時間進行升序排序,以字幕信息條的時間屬性命名所述字幕信息條并保存至字幕信息條數(shù)據(jù)列表中。
在本實施例中,在播放器顯示第一幀之前獲取視頻包含的字幕文件,并將所述字幕文件保存至緩存中,所述字幕文件包括字幕文件內(nèi)容及字幕文件的路徑。然后依次對所有的外掛字幕文件進行解析,根據(jù)每條字幕的開始時間和結(jié)束時間將字幕拆分成多個字幕信息條,由此獲得字幕信息條的偏移量、開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性,然后根據(jù)字幕文件的路徑及字幕信息條的偏移量建立字幕信息條數(shù)據(jù)列表,并將字幕信息條的開始時間、結(jié)束時間、文本內(nèi)容及渲染屬性保存至字幕信息條數(shù)據(jù)列表中,保存格式可以為字幕文件URL(路徑),開始時間,結(jié)束時間,文本內(nèi)容,渲染屬性,偏移量,如圖11所示。遍歷所有解析出來的字幕信息條的時間屬性,獲得每條字幕信息條的開始時間及結(jié)束時間,提取所述字幕信息條的開始時間及結(jié)束時間,根據(jù)所述字幕信息條的開始時間進行升序排序,以字幕信息條的時間屬性命名所述字幕信息條并保存至字幕信息條數(shù)據(jù)列表中保存格式可以為字幕文件URL(路徑),文本內(nèi)容,渲染屬性,偏移量,如圖12所示。
進一步地,參照圖10,圖10為本發(fā)明字幕的切換裝置第二實施例的功能模塊示意圖。
基于本發(fā)明字幕的切換裝置第一實施例,所述裝置還包括:
判斷模塊60,用于判斷待切換的字幕文件是否是當(dāng)前語言的字幕文件;
第二顯示模塊70,用于若待切換的字幕文件是當(dāng)前語言的字幕文件,則繼續(xù)輸出顯示當(dāng)前語言的字幕文件;
第二獲取模塊80,用于若待切換的字幕文件不是當(dāng)前語言的字幕文件,則獲取待切換字幕文件。
在本實施例中,用戶在觀看視頻的過程中,會發(fā)生誤按遙控器等設(shè)備的操作。當(dāng)用戶誤按遙控器等設(shè)備的操作為切換字幕時,用戶可以選擇切換語言為當(dāng)前語言,以便繼續(xù)觀看當(dāng)前輸出語言的視頻。因此在根據(jù)用戶觸發(fā)的切換字幕指令獲取字幕信息條數(shù)據(jù)列表及待切換字幕文件之前,首先需要判斷待切換的字幕文件是否是當(dāng)前語言的字幕文件,如果用戶所選擇的待切換的字幕與當(dāng)前語言的字幕一樣,則可判斷用戶觸發(fā)誤操作,無需切換語言,則繼續(xù)輸出顯示當(dāng)前語言的字幕;如果用戶所選擇的待切換的字幕與當(dāng)前語言的字幕不一樣,則獲取待切換字幕文件。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。