視頻解碼方法及客戶端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種視頻解碼方法及客戶端。
【背景技術(shù)】
[0002]隨著電子技術(shù)和信息技術(shù)的發(fā)展,越來越多的設(shè)備能夠播放視頻,但是現(xiàn)有技術(shù)中對(duì)視頻解碼有多種方式,不同的解碼方式都有各自的優(yōu)缺點(diǎn)。如有的解碼方式會(huì)導(dǎo)致解碼設(shè)備的能耗大,有的解碼方式會(huì)導(dǎo)致某些視頻無法正常播放,顯然如何確定出何時(shí)當(dāng)前應(yīng)用場(chǎng)景或達(dá)到指定效果的解碼方式(具體如,選擇何時(shí)的解碼方式使電子設(shè)備整體上降低解碼功耗,同時(shí)不影響視頻的正常解碼等),是現(xiàn)有技術(shù)亟待解決的問題。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實(shí)施例期望提供一種視頻解碼方法及客戶端,以期待靈活選擇適當(dāng)?shù)慕獯a方式。
[0004]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0005]本發(fā)明實(shí)施例第一方面提供一種視頻解碼方法,所述方法包括:
[0006]判斷電子設(shè)備是否支持第一解碼方式;
[0007]若所述電子設(shè)備支持所述第一解碼方式,確定采用所述第一解碼方式解碼視頻;若所述電子設(shè)備不支持所述第一解碼方式,確定采用第二解碼方式解碼所述視頻;
[0008]播放所述經(jīng)解碼后的視頻。
[0009]優(yōu)選地,所述方法還包括:獲取所述電子設(shè)備的設(shè)備信息;
[0010]所述判斷所述電子設(shè)備是否支持第一解碼方式,包括:
[0011]依據(jù)設(shè)備信息判斷所述電子設(shè)備是否支持所述第一解碼方式。
[0012]優(yōu)選地,所述依據(jù)設(shè)備信息判斷所述電子設(shè)備是否支持第一解碼方式,包括:
[0013]在預(yù)先存儲(chǔ)的第一解碼名單信息中查詢是否包括所述電子設(shè)備的設(shè)備信息;其中,所述第一解碼名單信息包括能夠利用所述第一解碼方式進(jìn)行視頻解碼的設(shè)備信息。
[0014]若所述第一解碼名單信息中包括所述電子設(shè)備的設(shè)備信息,則確認(rèn)所述電子設(shè)備支持所述第一解碼方式。
[0015]優(yōu)選地,所述方法還包括:
[0016]在所述依據(jù)設(shè)備信息判斷所述電子設(shè)備是否支持第一解碼方式之前,判斷所述第一解碼名單信息是否為與服務(wù)器中的第二解碼名單信息一致;
[0017]若所述第一解碼名單信息與所述第二解碼名單信息不一致,則更新所述第一解碼名單信息,使所述第一解碼名單信息與所述第二解碼名單信息保持一致。
[0018]優(yōu)選地,所述判斷電子設(shè)備是否支持第一解碼方式,包括:
[0019]查詢所述電子設(shè)備內(nèi)是否存儲(chǔ)有表明所述電子設(shè)備支持所述第一解碼方式的解碼能力標(biāo)識(shí)信息;
[0020]若所述電子設(shè)備內(nèi)存儲(chǔ)有所述解碼能力標(biāo)識(shí)信息,則表示所述電子設(shè)備支持所述第一解碼方式;
[0021]其中,所述解碼能力標(biāo)識(shí)信息為:根據(jù)所述電子設(shè)備的設(shè)備信息查詢支持第一解碼名單信息的查詢結(jié)果生成的信息;其中,所述第一解碼名單信息包括能夠利用所述第一解碼方式進(jìn)行視頻解碼的設(shè)備信息。
[0022]優(yōu)選地,所述方法還包括:
[0023]若檢測(cè)出采用所述第一解碼方式解碼的所述視頻播放故障,則切換至采用所述第二解碼方式解碼所述視頻。
[0024]優(yōu)選地,所述方法還包括:
[0025]若檢測(cè)出采用所述第二解碼方式解碼的所述視頻播放故障,則切換至采用所述第一解碼方式解碼所述視頻,或終止播放所述視頻且生成并顯示錯(cuò)誤提示信息。
[0026]優(yōu)選地,所述方法還包括:
[0027]在播放所述視頻之前,形成并存儲(chǔ)表征所述視頻的解碼方式的解碼方式標(biāo)記信息;
[0028]若所述視頻播出故障,依據(jù)所述解碼方式標(biāo)記信息確定所述視頻的解碼方式。
[0029]優(yōu)選地,所述第一解碼方式為硬解;
[0030]所述第二解碼方式為軟解。
[0031]本發(fā)明實(shí)施例第二方面提供一種客戶端,所述客戶端包括:
[0032]第一判斷單元,用于判斷電子設(shè)備是否支持第一解碼方式;
[0033]第一確定單元,用于若所述電子設(shè)備支持所述第一解碼方式,確定采用所述第一解碼方式解碼視頻;第一確定單元若所述客戶端不支持所述第一解碼方式,確定采第二解碼方式解碼所述視頻;
[0034]視頻解碼單元,用于采用所確定的解碼方式解碼所述視頻;
[0035]視頻播放單元,用于播放解碼后的視頻。
[0036]優(yōu)選地,所述客戶端還包括:
[0037]獲取單元,用于獲取所述電子設(shè)備的設(shè)備信息;
[0038]所述第一判斷單元,具體用于依據(jù)設(shè)備信息判斷所述電子設(shè)備是否支持所述第一解碼方式。
[0039]優(yōu)選地,所述第一判斷單元,具體用于在預(yù)先存儲(chǔ)的第一解碼名單信息中查詢是否包括所述電子設(shè)備的設(shè)備信息;其中,所述第一解碼名單信息包括能夠利用所述第一解碼方式進(jìn)行視頻解碼的設(shè)備信息。若所述第一解碼名單信息中包括所述電子設(shè)備的設(shè)備信息,則確認(rèn)所述電子設(shè)備支持所述第一解碼方式。
[0040]優(yōu)選地,所述電子設(shè)備還包括:
[0041]第二判斷單元,用于在所述依據(jù)設(shè)備信息判斷所述電子設(shè)備是否支持第一解碼方式之前,判斷所述第一解碼名單信息是否為與服務(wù)器中的第二解碼名單信息一致;
[0042]更新單元,用于若所述第一解碼名單信息與所述第二解碼名單信息不一致,則更新所述第一解碼名單信息,使所述第一解碼名單信息與所述第二解碼名單信息保持一致。
[0043]優(yōu)選地,所述第一判斷單元,具體用于查詢所述電子設(shè)備內(nèi)是否存儲(chǔ)有表明所述電子設(shè)備支持所述第一解碼方式的解碼能力標(biāo)識(shí)信息;若所述電子設(shè)備內(nèi)存儲(chǔ)有所述解碼能力標(biāo)識(shí)信息,則表示所述電子設(shè)備支持所述第一解碼方式;
[0044]其中,所述解碼能力標(biāo)識(shí)信息為:根據(jù)所述電子設(shè)備的設(shè)備信息第一解碼名單信息的查詢結(jié)果生成的信息;其中,所述第一解碼名單信息包括能夠利用所述第一解碼方式進(jìn)行視頻解碼的設(shè)備信息。
[0045]優(yōu)選地,所述視頻解碼單元,還用于若檢測(cè)出采用所述第一解碼方式解碼的所述視頻播放故障,則切換至采用所述第二解碼方式解碼所述視頻。
[0046]優(yōu)選地,所述客戶端還包括播放單元;
[0047]所述視頻解碼單元,還用于若檢測(cè)出采用所述第二解碼方式解碼的所述視頻播放故障,則切換至采用所述第一解碼方式解碼所述視頻;
[0048]或
[0049]所述播放單元,用于或終止播放所述視頻,且生成并顯示錯(cuò)誤提示信息。
[0050]優(yōu)選地,所述客戶端還包括:
[0051]存儲(chǔ)單元,用于在播放所述視頻之前,形成并存儲(chǔ)表征所述視頻的解碼方式的解碼方式標(biāo)記信息;
[0052]第二確定單元,用于若所述視頻播出故障,依據(jù)所述解碼方式標(biāo)記信息確定所述視頻的解碼方式。
[0053]本發(fā)明實(shí)施例視頻解碼方法及客戶端,在確定視頻的解碼方式之前,將判斷播放所述視頻的電子設(shè)備是否支持第一解碼方式,在支持第一解碼方式時(shí),則采用第一解碼方式進(jìn)行解碼,否則采用不同于第一解碼方式的第二解碼方式進(jìn)行所述視頻的解碼,相對(duì)于現(xiàn)有技術(shù)中在不通過判斷的情況下,隨機(jī)選擇使用一種解碼方式進(jìn)行解碼,這樣能夠?qū)崿F(xiàn)盡可能采用第一解碼方式解碼其能夠解碼的視頻,從而能夠?qū)崿F(xiàn)選擇適當(dāng)?shù)慕獯a方式對(duì)視頻進(jìn)行解碼,使客戶端在播出視頻時(shí)有更高的概率獲取所述第一解碼方式的解碼優(yōu)點(diǎn);該解碼優(yōu)點(diǎn)可為低功耗等。
【附圖說明】
[0054]圖1為本發(fā)明實(shí)施例提供的第一種所述視頻解碼方法的流程示意圖;
[0055]圖2為本發(fā)明實(shí)施例提供的第二種所述視頻解碼方法的流程示意圖;
[0056]圖3為本發(fā)明實(shí)施例提供的服務(wù)器與客戶端在視頻解碼播放過程中的信息交互示意圖;
[0057]圖4為本發(fā)明實(shí)施例提供的第三種所述視頻解碼方法的流程示意圖;
[0058]圖5為本發(fā)明實(shí)施例提供的第四種所述視頻解碼方法的流程示意圖;
[0059]圖6為本發(fā)明實(shí)施提供的一種客戶端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0060]以下結(jié)合說明書附圖及具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)闡述。
[0061]方法實(shí)施例一:
[0062]如圖1所示,本實(shí)施例提供一種視頻解碼方法,所述方法包括:
[0063]步驟SllO:判斷電子設(shè)備是否支持第一解碼方式;
[0064]步驟S120:若所述電子設(shè)備支持所述第一解碼方式,確定采用所述第一解碼方式解碼視頻;若所述電子設(shè)備不支持所述第一解碼方式,確定采第二解碼方式解碼所述視頻;
[0065]步驟S130:采用所確定的解碼方式解碼所述視頻。
[0066]本實(shí)施例所述的視頻解碼方法可以為應(yīng)用能夠進(jìn)行視頻播放的客戶端。所述電子設(shè)備可為手機(jī)、平板電腦、筆記本電腦或臺(tái)式電腦等各種用戶終端。所述客戶端可為所述電子設(shè)備中能夠進(jìn)行視頻解碼的解碼結(jié)構(gòu)。
[0067]所述客戶端可為能夠會(huì)支持兩種或兩種以上的視頻解碼方式,具體如,所述客戶端既支持硬解,也支持軟解。
[0068]硬解是指:使用電子設(shè)備內(nèi)的硬解解碼器/芯片對(duì)視頻流進(jìn)行解碼。通常所述硬解解碼器/芯片可包括集成在圖形處理器GPU上的具有視頻解碼功能的解碼器。
[0069]軟解是指:使用軟件程序?qū)σ曨l流進(jìn)行解碼。所述使用軟件程序進(jìn)行解碼通常為所述電子設(shè)備內(nèi)的中央處理器CPU通過運(yùn)行所述軟件程序來進(jìn)行解碼。
[0070]所述硬解通常具有能耗低的優(yōu)點(diǎn),但是在某些特定情況下是無法解碼正確的,具體如,待解碼視頻的所述視頻中包括一些特殊的編碼、如用戶對(duì)電子設(shè)備進(jìn)行刷機(jī)等處理,導(dǎo)致硬解對(duì)某些編碼格式解碼出現(xiàn)錯(cuò)誤。
[0071]所述軟解通常相對(duì)于硬解能夠解碼一些含有特殊的編碼的視頻,即便在用于對(duì)電子設(shè)備進(jìn)行了刷機(jī)等處理后,只要所述軟件程序的代碼依然正確,則可以保持解碼正確;顯然相對(duì)于硬解,軟件可解碼的視頻的范圍更廣、解碼能力更強(qiáng),出現(xiàn)解碼錯(cuò)誤的概率更低,但是相對(duì)于硬解其具有能耗大,將會(huì)導(dǎo)致電子設(shè)備待機(jī)時(shí)長(zhǎng)短的問題。在本實(shí)施例中所述第一解碼方式可為所述硬解;所述第二解碼方式可為所述軟解。
[0072]在具體實(shí)現(xiàn)時(shí),能夠進(jìn)行視頻解碼的方式不止一種,通常所述第一解碼方式是所述客戶端支持的多種解碼方式中通常解碼能力相對(duì)較差一點(diǎn)但是功耗等其他方面有其相對(duì)優(yōu)勢(shì)的解碼方式;即所述第二解碼方式的解碼能力可能比所述第一解碼方式的解碼能力強(qiáng)。這種解碼能力的強(qiáng)弱,可以體現(xiàn)在能夠解碼的視頻的范圍或解碼正確率高低等方面。值得注意的是:所述第一解碼方式和所述第二解碼方式的差異不局限于此,具體如所述第一解碼方式為指定的解碼方式,具體如采用第一解碼方式解碼視頻,可以使所述視頻的播出效果(具體如在清晰度)等各方面的播出參數(shù)更好時(shí),這時(shí)可以指定所述第一解碼方式為某一個(gè)特定的解碼方式。通常所述第二解碼方式是在客戶端中更為通用的一種視頻解碼方式或基本的視頻解碼方式,一般客戶端可能沒有配置有第一解碼方式,但是通常都配置有第二解碼方式。
[0073]在本實(shí)施例中的步驟SllO中即判斷所述電子設(shè)備是否支持所述第一解碼方式,例如判斷所述電子設(shè)備是否支持硬解。
[0074]在步驟SllO中判斷出所述電子設(shè)備支持第一解碼方式后,則直接確定采用第一解碼方式解碼視頻。這里的視頻可為任意待解碼的視頻。所述視頻可為存儲(chǔ)在所述電子設(shè)備本地的視頻,也可以為所述電子設(shè)備通過網(wǎng)絡(luò)連接或線路直連等方式從其他電子設(shè)備中接收的待解碼的視頻。
[0075]在步驟SllO判斷出所述電子設(shè)備不支持所述第一解碼方式后,則確定采用第二解碼方式進(jìn)行視頻解碼,從而方便后續(xù)所述客戶端依據(jù)解碼信息輸出視頻。
[0076]本實(shí)施例