一種視頻解碼的方法和裝置的制造方法
【專利摘要】本發明實施例公開了一種視頻解碼的方法,包括:接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件;查詢移動終端的設備型號;若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼;監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。本發明實施例還公開了一種視頻解碼的裝置。采用本發明,可實現視頻文件流暢的播放。
【專利說明】
_種視頻解碼的方法和裝置
技術領域
[0001]本發明涉及媒體播放領域,尤其涉及一種視頻解碼的方法和裝置。
【背景技術】
[0002]用戶使用移動終端播放視頻文件越來越普遍,視頻解碼屬于計算密集型業務,目前的移動終端一般采用軟件解碼器對視頻文件進行軟解,軟解需要大量占用移動終端的資源,這樣視頻播放會出現卡頓的現象,同時消耗大量的電量。為了克服上述問題,越來越多的移動終端內置硬件解碼器,可以對視頻文件進行硬解,硬件解碼具有播放流暢和節省電量的優點。
[0003]但是,硬件解碼器具有不穩定的特性,硬件解碼器在初始化以及在解碼的過程中,視頻文件的視頻參數發生變化、移動終端的硬件資源不足等原因都會造成硬件解碼器的崩潰,視頻文件的播放容易發生中斷。
【發明內容】
[0004]本發明實施例所要解決的技術問題在于,提供一種視頻解碼的方法和裝置。可解決現有技術中硬件解碼器崩潰造成視頻播放中斷的問題。
[0005]為了解決上述技術問題,本發明實施例提供了一種視頻解碼的方法,包括:
[0006]接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件;
[0007]查詢移動終端的設備型號;
[0008]若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼;
[0009]監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0010]相應地,本發明實施例還提供了一種視頻解碼的裝置,包括:
[0011]獲取模塊,用于接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件;
[0012]查詢模塊,用于查詢移動終端的設備型號;
[0013]調用模塊,用于若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼;
[0014]第一切換模塊,用于監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0015]實施本發明實施例,具有如下有益效果:
[0016]需要播放視頻文件時,根據移動終端的設備型號確定是否支持硬件解碼,如果支持調用硬件解碼器對視頻文件進行解碼,在硬件解碼過程中發生崩潰,自動調用第三方軟件解碼器繼續對視頻文件進行解碼,實現解碼器的自動切換,避免視頻文件因硬件解碼器崩潰而中斷播放,這樣視頻文件能夠流暢的在移動終端上進行播放。
【附圖說明】
[0017]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0018]圖1是本發明實施例提供的一種視頻解碼的方法的流程示意圖;
[0019]圖2是本發明實施例提供的一種視頻解碼的方法的另一流程示意圖;
[0020]圖3是本發明實施例提供的一種視頻解碼的裝置的結構示意圖;
[0021]圖4是本發明實施例提供的一種視頻解碼的裝置的另一結構示意圖;
[0022]圖5是圖4中第一切換模塊的結構示意圖。
【具體實施方式】
[0023]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0024]參見圖1,為本發明實施例提供的一種視頻解碼的方法的流程示意圖,在本發明實施例中,所述方法包括:
[0025]SlOU接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件。
[0026]具體的,視頻文件可以存儲在移動終端上,也可以存儲在服務器上。視頻播放指令可以通過移動終端的輸入裝置來觸發,輸入裝置包括鍵盤、鼠標或觸摸屏,視頻解碼的裝置(以下簡稱裝置)接收視頻播放指令,裝置根據視頻播放指令對應的視頻存儲地址定位視頻文件,如果視頻文件存儲在本地,視頻存儲地址可以是文件路徑名的形式表示;如果視頻文件存儲在服務器上,視頻存儲地址可以是URL地址。
[0027]S102、查詢移動終端的設備型號。
[0028]具體的,移動終端在生產制造的過程中會將自身的設備型號燒錄到本地的存儲器中,對于相同的設備型號移動終端,對應的硬件參數的參數值是相同的,但是對應的操作系統版本或應用軟件的版本不相同。其中,硬件參數包括R0M(Read_0nly Memory,只讀存儲器)大小、RAM (Random Access Memory,隨機存儲器)大小、CPU核心數、CPU主頻、GPU (Graphic Processing Unit,圖形處理器)頻率和顯示屏分辨率。
[0029]S103、若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。
[0030]具體的,設備白名單中包含至少一個設備型號,設備白名單中的設備型號對應的移動終端具有硬件解碼器,具有硬件解碼功能。裝置如果確定移動終端的設備型號屬于設備白名單,調用移動終端的硬件解碼器對視頻文件進行硬件解碼。
[0031]需要說明的是,如果硬件解碼器不支持的所有格式的視頻文件,裝置還需要判斷待解碼的視頻文件的格式,如果待解碼的視頻文件的格式符合硬件解碼器的要求,再調用移動終端的硬件解碼器對視頻文件進行硬件解碼。
[0032]S104、監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0033]具體的,硬件解碼器在對視頻文件進行硬件解碼的過程中,可能會發生崩潰的情況,發生的崩潰的原因可能是:視頻文件的視頻屬性信息發生變化、移動終端的硬件資源不足或其他未知原因。裝置可以在硬件解碼器開始工作時,啟動守護進程監測硬件解碼器,監測硬件解碼器是否發生崩潰,監測的方法可以是:在硬件解碼器連續輸入待解碼數據流的情況下,監測到硬件解碼器在預設時長內沒有輸出視頻幀,則認為硬件解碼器發生崩潰,監測硬件解碼器是否發生故障可以采用其他方法,本發明不作限制。若監測到硬件解碼器對視頻文件進行解碼的過程中發生崩潰時,調用移動終端的第三方軟件解碼器對視頻文件進行解碼。第三方軟件解碼器可以預先安裝在移動終端上,裝置直接在本地調用第三方軟件解碼器。如果本地的第三方軟件解碼器不支持視頻文件的格式,裝置向預先設置的解碼庫請求匹配的第三方軟件解碼器。
[0034]實施本發明的實施例,需要播放視頻文件時,根據移動終端的設備型號確定是否支持硬件解碼,如果支持調用硬件解碼器對視頻文件進行解碼,在硬件解碼過程中發生崩潰,自動調用第三方軟件解碼器繼續對視頻文件進行解碼,實現解碼器的自動切換,避免視頻文件因硬件解碼器崩潰而中斷播放,這樣視頻文件能夠流暢的在移動終端上進行播放。
[0035]參見圖2,為本發明實施例提供的一種視頻解碼的方法的另一流程示意圖,在本發明實施例中,所述方法包括:
[0036]S201、接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件。
[0037]具體的,視頻文件可以存儲在移動終端上,也可以存儲在服務器上。視頻播放指令可以通過移動終端的輸入裝置來觸發,輸入裝置包括鍵盤、鼠標或觸摸屏,視頻解碼的裝置(以下簡稱裝置)接收視頻播放指令,裝置根據視頻播放指令對應的視頻存儲地址定位視頻文件,如果視頻文件存儲在本地,視頻存儲地址可以是文件路徑名的形式表示;如果視頻文件存儲在服務器上,視頻存儲地址可以是URL地址。
[0038]例如,用戶通過移動終端的瀏覽器訪問網頁,網頁中包括視頻文件的視頻鏈接地址,用戶通過移動終端的鍵盤或觸摸屏等輸入裝置點擊視頻鏈接地址生成視頻播放指令,移動終端向存儲視頻文件的服務向移動終端視頻播放請求,服務器向移動終端發送視頻碼流。
[0039]例如,用戶訪問存放視頻文件的目錄,用戶點擊視頻文件生成視頻播放指令。
[0040]S202、查詢移動終端的設備型號。
[0041]具體的,移動終端在生產制造的過程中會將自身的設備型號燒錄到本地的存儲器中,對于相同的設備型號移動終端,對應的硬件參數的參數值是相同的,但是對應的操作系統版本或應用軟件的版本不相同。其中,硬件參數包括ROM大小、RAM大小、CPU核心數、CPU主頻、GPU頻率和顯示屏分辨率。
[0042]例如,移動終端I的設備型號為AA-BB,移動終端I的ROM大小為16G,RAM大小為1G,CPU核心數為8個,CPU主頻為1.7GHz,移動終端I安裝的操作系統版本為Android 4.4 ;移動終端2的設備型號為AA-BB,移動終端2的ROM大小為16G,RAM大小為1G,CPU核心數為8個,CPU主頻為1.7GHz,移動終端I安裝的操作系統版本為Android 4.0
[0043]S203、所述設備型號是否屬于預設的設備白名單。
[0044]具體的,設備白名單中包含至少一個設備型號,設備白名單中的設備型號對應的移動終端具有硬件解碼器,具有硬件解碼功能。裝置如果確定移動終端的設備型號屬于設備白名單,執行S204,裝置如果判斷移動終端的設備型號不屬于設備白名單,執行S209。
[0045]S204、所述視頻文件是否為硬件解碼器支持的格式。
[0046]具體的,硬件解碼器支持的格式是有限的,如果視頻文件的格式不屬于移動終端的硬件解碼器支持的格式,硬件解碼器無法對視頻文件進行硬件解碼。如果視頻文件的格式不為硬件解碼器支持的格式,執行S209,如果視頻文件的格式為硬件解碼器支持的格式,執行S205。
[0047]例如,硬件解碼器支持的格式為H.264,如果視頻文件的格式為RMVB,視頻文件的格式不符合硬件解碼器的要求;如果視頻文件的格式為H.264,視頻文件的格式符合硬件解碼器的要求。
[0048]S205、所述移動終端的操作系統版本是否符合預設條件。
[0049]具體的,硬件解碼器對視頻文件進行硬件解碼時,需要特定的操作系統版本的支撐,如果操作系統版本和硬件解碼器不匹配,則硬件解碼器無法正常使用。裝置判斷出移動終端的操作系統版本符合條件時,執行S206,否則,執行S209。
[0050]例如,硬件解碼器要求操作系統版本Android4.4進行支撐,如果移動終端當前安裝的操作系統版本為Android4.0,則無法正常開啟硬件解碼器。
[0051]S206、所述移動終端的顏色模式是否與所述硬件解碼器的顏色模式兼容。
[0052]具體的,移動終端的渲染器的顏色模式需要與硬件解碼器的顏色模式兼容,如果不兼容,硬件解碼器對視頻文件進行解碼后,無法在移動終端上正常播放。裝置判斷出移動終端的顏色模式和硬件解碼器的顏色模式兼容時,執行S207,否則,執行S209。
[0053]例如,移動終端使用硬件方式渲染時,其渲染器的顏色模式為RGB565,硬件解碼器顏色模式為YUV,移動終端的顏色模式與硬件解碼器的顏色模式不兼容,硬件解碼器在硬件解碼過程中可能會發生崩潰。
[0054]S207、調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。
[0055]具體的,滿足S203-S206的判斷條件后,移動終端調用硬件解碼器對視頻文件進行硬件解碼,解碼后在移動終端上顯示。
[0056]需要說明的是,S203-S206的執行順序不限于本實施例的順序,S203-S206可以任意先后順序進行判斷。為了減輕判斷過程的處理開銷,可以適當減少某些判斷過程,例如,不執行S205和/或S206。
[0057]S208、監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰。
[0058]具體的,硬件解碼器在對視頻文件進行硬件解碼的過程中,可能會發生崩潰的情況,發生的崩潰的原因可能是:視頻文件的視頻屬性信息發生變化、移動終端的硬件資源不足或其他未知原因。裝置可以在硬件解碼器開始工作時,啟動守護進程監測硬件解碼器,監測硬件解碼器是否發生崩潰,監測的方法可以是:在硬件解碼器連續輸入待解碼數據流的情況下,監測到硬件解碼器在預設時長內沒有輸出視頻幀,則認為硬件解碼器發生崩潰,監測硬件解碼器是否發生故障可以采用其他方法,本發明不作限制。
[0059]例如,在硬件解碼器對視頻文件進行之前,需要獲取視頻文件的視頻特征參數的參數值供,特征參數包括:配置、級別或尺寸等,硬件解碼器會根據特征參數的參數值確定能否支持視頻文件的硬件解碼,視頻特征參數的參數值用來表征視頻文件的復雜度,視頻文件的復雜度越高,對硬件解碼器的硬件能力要求越高,當視頻文件的復雜度高于硬件解碼器的硬件能力時,硬件解碼器解碼過程中可能會發生崩潰。
[0060]可選的,在監測到硬件解碼器對視頻文件進行解碼的過程中發生崩潰時,記錄崩潰原因和視頻屬性信息,視頻屬性信息包括格式、分辨率和碼率中的一種或多種,崩潰原因可以采用錯誤代碼來表示,每種錯誤代碼對應一種崩潰原因。
[0061]S209、調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0062]具體的,第三方軟件解碼器可以預先安裝在移動終端上,裝置直接在本地調用第三方軟件解碼器。如果本地的第三方軟件解碼器不支持視頻文件的格式,裝置向預先設置的解碼庫請求匹配的第三方軟件解碼器。第三方軟件解碼器包括:ffmpeg解碼器。當硬件解碼器崩潰時,記錄崩潰前視頻文件的播放位置,第三方軟件解碼器從該播放位置開始繼續對視頻文件進行軟件解碼,自動完成解碼器的切換,實現了視頻文件的流暢播放。
[0063]進一步,可選的,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼包括:獲取所述移動終端的處理器型號,并選擇與所述處理器型號匹配的第三方軟件解碼器;調用所述第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0064]具體的,第三方軟件解碼器需要與移動終端的處理器型號匹配,如果不匹配,第三方軟件解碼器在工作過程中會發生崩潰。假設移動終端的處理器型號為ARM7,移動終端根據該處理器型號確定匹配的第三方軟件解碼器為ffmpeg解碼器。
[0065]S210、監測到所述第三方軟件解碼器對所述視頻文件進行軟件解碼的過程中發生崩潰。
[0066]具體的,第三方軟件解碼器在對視頻文件進行硬件解碼的過程中,可能會發生崩潰的情況,發生的崩潰的原因可能是:視頻文件的視頻屬性信息發生變化、移動終端的硬件資源不足或其他未知原因。裝置可以在第三方軟件解碼器開始工作時,啟動守護進程監測第三方軟件解碼器,監測第三方軟件解碼器是否發生崩潰,監測的方法可以是:在第三方軟件解碼器連續輸入待解碼數據流的情況下,監測到第三方軟件解碼器在預設時長內沒有輸出視頻幀,則認為第三方軟件解碼器發生崩潰,監測第三方軟件解碼器是否發生故障可以采用其他方法,本發明不作限制。
[0067]S211、調用所述移動終端的系統默認軟件解碼器對所述視頻文件進行軟件解碼。
[0068]具體的,系統默認軟件解碼器的穩定性是最高的,當第三方軟件解碼器發生崩潰退出時,記錄崩潰退出前的播放位置,系統默認軟件解碼器從播放位置開始繼續對視頻文件進行解碼,自動完成解碼器的切換操作,實現了視頻文件的流暢播放。
[0069]實施本發明的實施例,需要播放視頻文件時,根據移動終端的設備型號確定是否支持硬件解碼,如果支持調用硬件解碼器對視頻文件進行解碼,在硬件解碼過程中發生崩潰,自動調用第三方軟件解碼器繼續對視頻文件進行解碼,實現解碼器的自動切換,避免視頻文件因硬件解碼器崩潰而中斷播放,這樣視頻文件能夠流暢的在移動終端上進行播放。
[0070]參見圖3,為本發明實施例提供的一種視頻解碼的裝置的結構示意圖,在本發明實施例中,所述裝置包括:獲取模塊10、查詢模塊11、調用模塊12和第一切換模塊13。
[0071]獲取模塊10,用于接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件。
[0072]查詢模塊11,用于查詢移動終端的設備型號。
[0073]調用模塊12,用于若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。
[0074]第一切換模塊13,用于監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0075]本發明實施例的視頻解碼的裝置用于實現方法實施例一的視頻解碼方法,本發明實施例和方法實施例一基于同一構思,其帶來的技術效果也相同,具體過程請參照方法實施例一的描述,此處不再贅述。
[0076]實施本發明的實施例,需要播放視頻文件時,根據移動終端的設備型號確定是否支持硬件解碼,如果支持調用硬件解碼器對視頻文件進行解碼,在硬件解碼過程中發生崩潰,自動調用第三方軟件解碼器繼續對視頻文件進行解碼,實現解碼器的自動切換,避免視頻文件因硬件解碼器崩潰而中斷播放,這樣視頻文件能夠流暢的在移動終端上進行播放。
[0077]參見圖4和圖5,為本發明實施例提供的一種視頻解碼的裝置的另一結構示意圖,在本發明實施例中,所述裝置除包括獲取模塊10、查詢模塊11、調用模塊12和第一切換模塊13之外,還包括第二切換模塊14。
[0078]第二切換模塊14,用于監測到所述第三方軟件解碼器對所述視頻文件進行視頻文件進行軟件解碼的過程中發生崩潰時,調用所述移動終端的系統默認軟件解碼器對所述視頻文件進行軟件解碼。
[0079]可選的,在本發明實施例中,第一切換模塊13還用于記錄所述視頻文件的視頻屬性信息和崩潰原因,所述視頻屬性信息包括:格式、分辨率和碼率中的一種或多種。
[0080]可選的,在本發明的實施例中,第一切換模塊13包括:
[0081]獲取單元131,用于獲取所述移動終端的處理器型號,并選擇與所述處理器型號匹配的第三方軟件解碼器;
[0082]調用單元132,用于調用所述第三方軟件解碼器對所述視頻文件進行軟件解碼。
[0083]可選的,在本發明的實施例中,查詢模塊11還用于查詢所述移動終端的操作系統版本;
[0084]所述第一切換模塊13用于若所述設備型號屬于預設的設備白名單型號集合且所述操作系統版本屬于預設的操作系統版本集合,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。
[0085]可選的,在本發明的實施例中,查詢模塊11還用于查詢所述移動終端的顏色模式和所述硬件解碼器的顏色模式;
[0086]第一切換模塊13用于若所述設備型號屬于預設的設備白名單型號集合且所述移動終端的顏色模式和所述硬件解碼器的顏色模式兼容,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。
[0087]本發明實施例的視頻解碼的裝置用于實現方法實施例二的視頻解碼方法,本發明實施例和方法實施例二基于同一構思,其帶來的技術效果也相同,具體過程請參照方法實施例二的描述,此處不再贅述。
[0088]實施本發明的實施例,需要播放視頻文件時,根據移動終端的設備型號確定是否支持硬件解碼,如果支持調用硬件解碼器對視頻文件進行解碼,在硬件解碼過程中發生崩潰,自動調用第三方軟件解碼器繼續對視頻文件進行解碼,實現解碼器的自動切換,避免視頻文件因硬件解碼器崩潰而中斷播放,這樣視頻文件能夠流暢的在移動終端上進行播放。
[0089]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0090]以上所揭露的僅為本發明一種較佳實施例而已,當然不能以此來限定本發明之權利范圍,本領域普通技術人員可以理解實現上述實施例的全部或部分流程,并依本發明權利要求所作的等同變化,仍屬于發明所涵蓋的范圍。
【主權項】
1.一種視頻解碼的方法,其特征在于,包括:接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件;查詢移動終端的設備型號;若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻 文件進行硬件解碼;監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述 移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。2.如權利要求1所述的方法,其特征在于,所述監測到所述硬件解碼器對所述視頻文 件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻 文件進行軟件解碼,還包括:記錄所述視頻文件的視頻屬性信息和崩潰原因,所述視頻屬性信息包括:格式、分辨率 和碼率中的一種或多種。3.如權利要求2所述的方法,其特征在于,所述調用所述移動終端的第三方軟件解碼 器對所述視頻文件進行軟件解碼包括:獲取所述移動終端的處理器型號,并選擇與所述處理器型號匹配的第三方軟件解碼 器;調用所述第三方軟件解碼器對所述視頻文件進行軟件解碼。4.如權利要求2所述的方法,其特征在于,還包括:監測到所述第三方軟件解碼器對所述視頻文件進行視頻文件進行軟件解碼的過程中 發生崩潰時,調用所述移動終端的系統默認軟件解碼器對所述視頻文件進行軟件解碼。5.如權利要求1-4任意一項所述的方法,其特征在于,所述查詢移動終端的設備型號, 還包括:查詢所述移動終端的操作系統版本;所述若所述設備型號屬于預設的設備型號集合,調用所述移動終端的硬件解碼器對所 述視頻文件進行硬件解碼包括:若所述設備型號屬于預設的設備白名單型號集合且所述操作系統版本屬于預設的操 作系統版本集合,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。6.如權利要求1-4任意一項所述的方法,其特征在于,所述查詢移動終端的設備型號, 還包括:查詢所述移動終端的顏色模式和所述硬件解碼器的顏色模式;所述若所述設備型號屬于預設的設備型號集合,調用所述移動終端的硬件解碼器對所 述視頻文件進行硬件解碼包括:若所述設備型號屬于預設的設備白名單型號集合且所述移動終端的顏色模式和所述 硬件解碼器的顏色模式兼容,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。7.—種視頻解碼的裝置,其特征在于,包括:獲取模塊,用于接收視頻播放指令,并獲取所述視頻播放指令所對應的視頻文件;查詢模塊,用于查詢移動終端的設備型號;調用模塊,用于若所述設備型號屬于預設的設備白名單,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼; 第一切換模塊,用于監測到所述硬件解碼器對所述視頻文件進行硬件解碼的過程中發生崩潰時,調用所述移動終端的第三方軟件解碼器對所述視頻文件進行軟件解碼。8.如權利要求7所述的裝置,其特征在于,所述第一切換模塊還用于記錄所述視頻文件的視頻屬性信息和崩潰原因,所述視頻屬性信息包括:格式、分辨率和碼率中的一種或多種。9.如權利要求8所述的裝置,其特征在于,所述第一切換模塊包括: 獲取單元,用于獲取所述移動終端的處理器型號,并選擇與所述處理器型號匹配的第三方軟件解碼器; 調用單元,用于調用所述第三方軟件解碼器對所述視頻文件進行軟件解碼。10.如權利要求8所述的裝置,其特征在于,還包括: 第二切換模塊,用于監測到所述第三方軟件解碼器對所述視頻文件進行視頻文件進行軟件解碼的過程中發生崩潰時,調用所述移動終端的系統默認軟件解碼器對所述視頻文件進行軟件解碼。11.如權利要求7-10任意一項所述的裝置,其特征在于,所述查詢模塊還用于查詢所述移動終端的操作系統版本; 所述第一切換模塊用于若所述設備型號屬于預設的設備白名單型號集合且所述操作系統版本屬于預設的操作系統版本集合,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。12.如權利要求7-10任意一項所述的裝置,其特征在于,所述查詢模塊還用于查詢所述移動終端的顏色模式和所述硬件解碼器的顏色模式; 所述第一切換模塊用于若所述設備型號屬于預設的設備白名單型號集合且所述移動終端的顏色模式和所述硬件解碼器的顏色模式兼容,調用所述移動終端的硬件解碼器對所述視頻文件進行硬件解碼。
【文檔編號】H04N21/4405GK105992056SQ201510052937
【公開日】2016年10月5日
【申請日】2015年1月30日
【發明人】陳俊峰
【申請人】騰訊科技(深圳)有限公司