視頻文件播放方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多媒體播放技術(shù)領(lǐng)域,尤其涉及一種視頻文件播放方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]目前的安卓(Android)操作系統(tǒng)提供了播放器的功能,普通的視頻播放調(diào)用系統(tǒng)播放器即可完成,但是由于系統(tǒng)播放器由操作系統(tǒng)采用黑盒的方式提供,當(dāng)開發(fā)遇到問題時(shí)難以定位,以及系統(tǒng)播放器往往難以滿足一個(gè)專業(yè)的視頻播放軟件的需求,比如說Android操作系統(tǒng)的播放器不支持超文本傳輸協(xié)議實(shí)時(shí)媒體流(HTTP Live Streaming,HLS)格式的播放、不支持分段MP4文件的播放等,會(huì)采用自研播放器進(jìn)行視頻播放,但是由于自研播放器的性能等原因,播放效果并不好。
[0003]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在以下技術(shù)問題:
[0004]現(xiàn)有技術(shù)中,Android系統(tǒng)采用系統(tǒng)播放器或者自研播放器進(jìn)行視頻播放,播放方式較單一,系統(tǒng)播放器和自研播放器均有各自的缺點(diǎn),其中系統(tǒng)播放器難以滿足某些播放要求,對于不支持的視頻格式會(huì)出現(xiàn)視頻文件打開失敗的問題;自研播放器在性能和穩(wěn)定性上較差,一旦遇到問題也會(huì)造成播放失敗。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種視頻文件播放方法、裝置和系統(tǒng),用于解決視頻文件的播放方式較單一的問題,提高視頻文件的播放性能。
[0006]本發(fā)明實(shí)施例提供了一種視頻文件播放方法,該方法包括:
[0007]接收到對視頻文件的播放請求后,獲取配置信息,根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇一種播放器;
[0008]根據(jù)選擇的所述播放器對應(yīng)的內(nèi)核信息播放所述視頻文件,所述內(nèi)核信息是用于實(shí)現(xiàn)所述播放器的播放方式的信息。
[0009]本發(fā)明實(shí)施例提供了一種視頻文件播放服務(wù)方法,該方法包括:
[0010]接收到來自終端的配置信息請求消息后,根據(jù)該配置信息請求消息得到包含播放器選擇策略信息的配置信息;
[0011]將所述配置信息返回給所述終端,以使所述終端根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇播放視頻文件所使用的播放器。
[0012]本發(fā)明實(shí)施例提供了一種視頻文件播放裝置,該裝置包括:
[0013]媒體播放器管理模塊,用于在接收到對視頻文件的播放請求后,獲取配置信息,根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇一種播放器;
[0014]播放模塊,用于根據(jù)選擇的所述播放器對應(yīng)的內(nèi)核信息播放所述視頻文件,所述內(nèi)核信息是用于實(shí)現(xiàn)所述播放器的播放方式的信息。
[0015]本發(fā)明實(shí)施例提供了一種視頻文件播放服務(wù)裝置,該裝置包括:
[0016]請求消息接收單元,用于接收來自終端的配置信息請求消息;
[0017]配置信息生成單元,用于根據(jù)該配置信息請求消息得到包含播放器選擇策略信息的配置信息;
[0018]配置信息發(fā)送單元,用于將所述配置信息返回給所述終端,以使所述終端根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇播放視頻文件所使用的播放器。
[0019]本發(fā)明實(shí)施例提供了一種視頻文件播放系統(tǒng),該系統(tǒng)包括:
[0020]終端,用于接收到對視頻文件的播放請求后,獲取配置信息,根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇一種播放器;根據(jù)選擇的所述播放器對應(yīng)的內(nèi)核信息播放所述視頻文件,所述內(nèi)核信息是用于實(shí)現(xiàn)所述播放器的播放方式的信息;
[0021]服務(wù)器,用于接收到來自終端的配置信息請求消息后,根據(jù)該配置信息請求消息得到包含播放器選擇策略信息的配置信息;將所述配置信息返回給所述終端。
[0022]本發(fā)明實(shí)施例提供的方案中,預(yù)先配置多種播放器,在需要播放視頻文件時(shí),根據(jù)配置信息中的播放器選擇策略信息從多種播放器中選擇一種播放器,然后根據(jù)選擇的播放器的播放方式播放該視頻文件??梢姡痉桨钢蓄A(yù)先配置有多種播放器,可以根據(jù)配置信息選擇一種播放器,并根據(jù)選擇的播放器的播放方式進(jìn)行視頻文件的播放,從而解決了現(xiàn)有技術(shù)中所有視頻文件使用一種播放器進(jìn)行播放導(dǎo)致的播放方式較單一的問題,并且,可以通過配置播放器選擇策略信息使得不同的視頻文件使用各自適合的播放器進(jìn)行播放,從而可以提高視頻文件的播放性能。
【附圖說明】
[0023]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0024]圖1為本發(fā)明實(shí)施例一提供的視頻文件播放方法流程示意圖;
[0025]圖2為本發(fā)明實(shí)施例二提供的視頻文件播放服務(wù)方法的流程示意圖;
[0026]圖3A為本發(fā)明實(shí)施例三中基于安卓系統(tǒng)的終端模塊示意圖;
[0027]圖3B為本發(fā)明實(shí)施例三的交互流程示意圖;
[0028]圖4為本發(fā)明實(shí)施例四提供的視頻文件播放裝置結(jié)構(gòu)示意圖;
[0029]圖5為本發(fā)明實(shí)施例五提供的視頻文件播放服務(wù)裝置結(jié)構(gòu)示意圖;
[0030]圖6為本發(fā)明實(shí)施例六提供的終端結(jié)構(gòu)示意圖;
[0031]圖7為本發(fā)明實(shí)施例七提供的服務(wù)器結(jié)構(gòu)示意圖;
[0032]圖8為本發(fā)明實(shí)施例八提供的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0034]為了解決視頻文件的播放方式較單一的問題,提高視頻文件的播放性能,本發(fā)明實(shí)施例中配置多種播放器,在需要播放視頻文件時(shí),根據(jù)配置信息中的播放器選擇策略信息從多種播放器中選擇一種播放器,然后根據(jù)選擇的播放器的內(nèi)核信息播放該視頻文件。
[0035]實(shí)施例一:
[0036]參見圖1,本發(fā)明實(shí)施例針對視頻文件播放側(cè)提供一種視頻文件播放方法,包括以下步驟:
[0037]步驟10:接收到對視頻文件的播放請求后,獲取配置信息,根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇一種播放器;
[0038]步驟11:根據(jù)選擇的播放器對應(yīng)的內(nèi)核信息播放該視頻文件,其中,內(nèi)核信息是用于實(shí)現(xiàn)播放器的播放方式的信息。
[0039]進(jìn)一步的,在步驟10中從預(yù)先配置的多種播放器中選擇一種播放器之后,還可以確定選擇的播放器所對應(yīng)的屏幕繪制方式;相應(yīng)的,步驟11中是根據(jù)選擇的播放器對應(yīng)的內(nèi)核信息以及確定的屏幕繪制方式播放視頻文件。
[0040]具體的,上述步驟10中獲取配置信息的方式具體可以包括:
[0041]向服務(wù)器端發(fā)送配置信息請求消息;接收服務(wù)器端返回的配置信息;和/或,獲取保存在本地的配置信息。
[0042]也即,可以根據(jù)服務(wù)器端發(fā)送的播放器選擇策略信息選擇播放器,或者,根據(jù)服務(wù)器端發(fā)送的播放器選擇策略信息和本地保存的播放器選擇策略信息一起選擇播放器,或者,僅根據(jù)本地保存的播放器選擇策略信息選擇播放器。
[0043]具體的,獲取到的配置信息中還可以包括播放器與屏幕繪制方式的對應(yīng)關(guān)系;上述步驟10中確定選擇的播放器所對應(yīng)的屏幕繪制方式,具體實(shí)現(xiàn)可以為:根據(jù)該配置信息中的播放器與屏幕繪制方式的對應(yīng)關(guān)系,確定選擇的播放器所對應(yīng)的屏幕繪制方式。
[0044]較佳的,上述步驟11中在按照選擇的播放器的播放方式和屏幕繪制方式播放視頻文件的過程中,若在打開或播放所述視頻文件時(shí)出現(xiàn)異常,則根據(jù)異常情況確定是否滿足播放器切換條件,在確定滿足播放器切換條件時(shí),記錄當(dāng)前的播放狀態(tài)(包括播放位置、是否正在播放等),并關(guān)閉當(dāng)前的播放器,從多個(gè)播放器中重新選擇一個(gè)播放器,確定重新選擇的播放器對應(yīng)的屏幕繪制方式,根據(jù)重新選擇的播放器對應(yīng)的內(nèi)核信息、重新選擇的播放器對應(yīng)的屏幕繪制方式和記錄的播放狀態(tài),繼續(xù)播放視頻文件。該方案可以在播放過程中實(shí)現(xiàn)播放器的切換,可以盡量避免在播放器打開或播放視頻文件過程中出現(xiàn)異常造成的播放失敗的問題。
[0045]具體的,獲取到的配置信息中還可以包括播放器切換條件,上述根據(jù)異常情況確定是否滿足播放器切換條件,具體為:根據(jù)異常情況確定是否滿足配置信息中包含的播放器切換條件。舉例說明,該播放器切換條件可以包括:當(dāng)前出現(xiàn)的異常情況的類型為設(shè)定類型、采用當(dāng)前播放器嘗試播放視頻文件的次數(shù)達(dá)到設(shè)定值等等。
[0046]上述是根據(jù)配置信息來控制切換,還可以根據(jù)用戶的選擇控制切換,具體的,在打開或播放視頻文件的過程中出現(xiàn)異常時(shí),發(fā)出是否需要切換播放器的提示信息;在用戶選擇需要切換播放器后,記錄當(dāng)前的播放狀態(tài),并關(guān)閉當(dāng)前的播放器,從多個(gè)播放器中重新選擇一個(gè)播放器,確定重新選擇的播放器對應(yīng)的屏幕繪制方式,根據(jù)重新選擇的播放器對應(yīng)的內(nèi)核信息、重新選擇的播放器對應(yīng)的屏幕繪制方式和記錄的播放狀態(tài),繼續(xù)播放視頻文件。
[0047]具體的,上述步驟11中根據(jù)選擇的播放器的內(nèi)核信息和屏幕繪制方式播放視頻文件,具體實(shí)現(xiàn)可以如下:
[0048]根據(jù)視頻文件的地址信息獲取到視頻文件的視頻信息,根據(jù)視頻文件的視頻格式對該視頻信息進(jìn)行解析得到解碼信息,根據(jù)該解碼信息得到每一幀的圖像信息,調(diào)用屏幕繪制方式對應(yīng)的視頻顯示控件,該視頻顯示控件根據(jù)每一幀的圖像信息進(jìn)行圖像繪制,并將繪制出的每幀圖像依次顯示在屏幕中。
[0049]例如,在該方法基于安卓操作系統(tǒng)時(shí),該系統(tǒng)包括:媒體播放器管理模塊、針對每種播放器分別包括一個(gè)內(nèi)核封裝模塊、播放器視頻展現(xiàn)模塊,播放器視頻展現(xiàn)模塊針對每種屏幕繪制方式分別包括一個(gè)視頻顯示控件;
[0050]具體播放流程如下:媒體播放器管理模塊接收到對視頻文件的播放請求后,獲取配置信息,根據(jù)該配置信息中的播放器選擇策略信息從預(yù)先配置的多種播放器中選擇一種播放器,確定選擇的播放器所對應(yīng)的屏幕繪制方式,將視頻文件的地址信息傳遞給選擇的播放器對應(yīng)的內(nèi)核封裝模塊;
[0051]內(nèi)核封裝模塊根據(jù)地址信息獲取到視頻文件的視頻信息,對該視頻信息進(jìn)行解析得到解碼信息,根據(jù)該解碼信息得到每一幀的圖像信息,將該圖像信息傳遞給播放器視頻展現(xiàn)模塊;
[0052]播放器視頻展現(xiàn)模塊調(diào)用屏幕繪制方式對應(yīng)的視頻顯示控件,該視頻顯示控件根據(jù)每一幀的圖像信息進(jìn)行圖像繪制,并將繪制出的每幀圖像依次顯示在屏幕中。
[