音視頻解碼組件選擇方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種音視頻解碼組件選擇方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著智能系統(tǒng)(例如安卓系統(tǒng))的發(fā)展,現(xiàn)在越來越多的終端設(shè)備(例如機(jī)頂盒)都在發(fā)展基于智能系統(tǒng)的播放器,提供在線播放,點(diǎn)播等功能。由于終端設(shè)備硬件配置或者網(wǎng)絡(luò)性能各不相同,所以即使播放相同節(jié)目,播放音視頻的流暢度還是會(huì)因?yàn)榫W(wǎng)絡(luò)性能、硬件配置及用戶選擇的清晰度會(huì)有差別。
[0003]基于智能系統(tǒng)的終端設(shè)備在對(duì)音視頻進(jìn)行解碼時(shí),根據(jù)音視頻的媒體類型來匹配解碼組件,可以根據(jù)匹配選擇硬解組件或者軟解組件,或者既可以選擇硬解組件也可以選擇軟解組件。軟解組件軟解方式解碼穩(wěn)定,不需要平臺(tái)的支持,但是對(duì)CPU要求比較高。硬解組件的硬解方式需要平臺(tái)支持,如果平臺(tái)不支持就不能夠解碼,但是對(duì)于CPU的消耗比較低。目前,終端設(shè)備在對(duì)音視頻進(jìn)行解碼時(shí),都是根據(jù)音視頻已經(jīng)設(shè)定好的匹配來選擇解碼組件,而不是根據(jù)終端設(shè)備的性能進(jìn)行匹配,如果此時(shí)終端設(shè)備CPU配置較低或被占用過大,或者終端設(shè)備平臺(tái)不支持硬解方式,則終端設(shè)備不能選擇相應(yīng)的解碼組件對(duì)音視頻進(jìn)行播放,使得無法播放音視頻,從而給用戶帶來極大的不便。
【發(fā)明內(nèi)容】
[0004]有鑒于此,有必要針對(duì)上述解碼組件選擇不是根據(jù)終端設(shè)備的性能進(jìn)行匹配而導(dǎo)致無法正常播放音視頻的問題,提供一種音視頻解碼組件選擇方法及系統(tǒng)。
[0005]本發(fā)明提供一種音視頻解碼組件選擇方法,包括如下步驟:
[0006]S10:解析獲取音視頻的媒體類型,根據(jù)媒體類型與終端設(shè)備上的所有組件進(jìn)行匹配,獲取所有能夠與該音視頻媒體類型匹配的解碼組件;
[0007]S20:采用預(yù)先設(shè)定的影響音視頻解碼播放的因素對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià),獲取每個(gè)解碼組件的評(píng)價(jià)值;
[0008]S30:選取評(píng)價(jià)值最高且能對(duì)音視頻解碼的一組解碼組件來對(duì)音視頻進(jìn)行解碼。
[0009]進(jìn)一步的,所述步驟SlO具體為:終端設(shè)備接收并獲取音視頻的媒體類型;當(dāng)需要進(jìn)行解碼播放時(shí),由終端設(shè)備加載具有媒體類型和對(duì)應(yīng)解碼組件信息的XML文件并進(jìn)行解析,將音視頻的媒體類型和XML文件解析出的媒體類型進(jìn)行匹配,若音視頻的媒體類型與XML文件中的媒體類型匹配成功,則獲取XML文件中媒體類型對(duì)應(yīng)的所有解碼組件。
[0010]進(jìn)一步的,所述步驟SlO具體為:音視頻的媒體類型和XML文件解析出的媒體類型采用字符串比較的方式進(jìn)行匹配。
[0011]進(jìn)一步的,所述步驟S20具體為:為影響解碼組件的多個(gè)因素分配權(quán)重和分值并形成評(píng)價(jià)函數(shù),采用評(píng)價(jià)函數(shù)來對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià)獲取評(píng)價(jià)值。
[0012]進(jìn)一步的,所述步驟S30具體為:若存在評(píng)價(jià)值相同的硬解組件和軟解組件,則優(yōu)先選擇硬解組件。
[0013]本發(fā)明還提供一種音視頻解碼組件選擇系統(tǒng),包括:
[0014]解碼組件匹配單元,解析獲取音視頻的媒體類型,根據(jù)媒體類型與終端設(shè)備上的所有組件進(jìn)行匹配,獲取所有能夠與該音視頻媒體類型匹配的解碼組件;
[0015]解碼組件評(píng)價(jià)單元,采用預(yù)先設(shè)定的影響音視頻解碼播放的因素對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià),獲取每個(gè)解碼組件的評(píng)價(jià)值;
[0016]解碼組件選擇單元,選取評(píng)價(jià)值最高且能對(duì)音視頻解碼的一組解碼組件來對(duì)音視頻進(jìn)行解碼。
[0017]進(jìn)一步的,所述解碼組件匹配單元接收并獲取音視頻的媒體類型;當(dāng)需要進(jìn)行解碼播放時(shí),加載具有媒體類型和對(duì)應(yīng)解碼組件信息的XML文件并進(jìn)行解析,將音視頻的媒體類型和XML文件解析出的媒體類型進(jìn)行匹配,若音視頻的媒體類型與XML文件中的媒體類型匹配成功,則獲取XML文件中媒體類型對(duì)應(yīng)的所有解碼組件。
[0018]進(jìn)一步的,所述解碼組件匹配單元對(duì)音視頻的媒體類型和XML文件解析出的媒體類型采用字符串比較的方式進(jìn)行匹配。
[0019]進(jìn)一步的,所述解碼組件評(píng)價(jià)單元為影響解碼組件的多個(gè)因素分配權(quán)重和分值并形成評(píng)價(jià)函數(shù),采用評(píng)價(jià)函數(shù)來對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià)獲取評(píng)價(jià)值。
[0020]進(jìn)一步的,若存在評(píng)價(jià)值相同的硬解組件和軟解組件,所述解碼組件選擇單元?jiǎng)t優(yōu)先選擇硬解組件。
[0021]本發(fā)明音視頻解碼組件選擇方法及系統(tǒng),根據(jù)終端性能及音視頻的媒體類型,對(duì)音視頻匹配解碼組件,同時(shí)對(duì)每個(gè)匹配的解碼組件根據(jù)影響因素進(jìn)行評(píng)價(jià),選擇評(píng)價(jià)值最高且能對(duì)音視頻解碼的一組解碼組件來對(duì)音視頻進(jìn)行解碼,這樣根據(jù)終端設(shè)備和解碼組件的性能來選擇解碼組件,而不是只是根據(jù)初始設(shè)定來選擇解碼組件,從而能夠避免終端設(shè)備不能選擇相應(yīng)的解碼組件對(duì)音視頻進(jìn)行播放,使得無法播放音視頻的問題,給用戶帶來極大的便利。
【附圖說明】
[0022]圖1是一個(gè)實(shí)施例中的音視頻解碼組件選擇方法的流程圖;
[0023]圖2是一個(gè)實(shí)施例中的音視頻解碼組件選擇系統(tǒng)的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0025]圖1是一個(gè)實(shí)施例中的音視頻解碼組件選擇方法的流程圖,如圖1所示,該方法包括如下步驟:
[0026]S10:解析獲取音視頻的媒體類型,根據(jù)媒體類型與終端設(shè)備上的所有組件進(jìn)行匹配,獲取所有能夠與該音視頻媒體類型匹配的解碼組件。
[0027]音視頻具有不同的媒體類型,不同的媒體類型需要不同的解碼組件來進(jìn)行解碼。由于終端設(shè)備可能具有多種解碼組件(軟解組件或者硬解組件),故終端設(shè)備針對(duì)每一媒體類型可能具有單一解碼組件,也可能具有多組解碼組件。在終端設(shè)備對(duì)音視頻進(jìn)行解碼播放時(shí),為能夠選擇能夠進(jìn)行解碼的解碼組件,需要首先獲取音視頻的媒體類型,在獲取音視頻的媒體類型后根據(jù)媒體類型來與終端設(shè)備上的解碼組件進(jìn)行匹配,將終端設(shè)備上所有能夠與該媒體類型匹配的解碼組件匹配出來。
[0028]在該實(shí)施例中,該步驟具體為:終端設(shè)備接收并獲取音視頻的媒體類型;當(dāng)需要進(jìn)行解碼播放時(shí),由終端設(shè)備加載具有媒體類型和對(duì)應(yīng)解碼組件信息的XML文件并進(jìn)行解析,將音視頻的媒體類型和XML文件解析出的媒體類型進(jìn)行匹配,若音視頻的媒體類型與XML文件中的媒體類型匹配成功,則獲取XML文件中媒體類型對(duì)應(yīng)的所有解碼組件。這樣,終端設(shè)備針對(duì)每一種媒體類型,將能夠與該媒體類型匹配的解碼組件建立對(duì)應(yīng)關(guān)系,并存儲(chǔ)在XML文件中。在解析到音視頻的媒體類型后,只需要與XML文件進(jìn)行比對(duì),根據(jù)XML文件中媒體類型與解碼組件的對(duì)應(yīng)關(guān)系,可快速的獲取所有與音視頻媒體類型匹配的所有組件。
[0029]更進(jìn)一步的,音視頻的媒體類型和XML文件解析出的媒體類型采用字符串比較的方式進(jìn)行匹配。
[0030]S20:采用預(yù)先設(shè)定的影響音視頻解碼播放的因素對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià),獲取每個(gè)解碼組件的評(píng)價(jià)值。
[0031]由于解碼組件對(duì)于音視頻的解碼會(huì)受到多個(gè)因素的影響,例如:網(wǎng)絡(luò)性能、用戶選擇音視頻播放質(zhì)量(高清、標(biāo)清等)、終端設(shè)備的配置(CPU、顯示等)、播放模式等等,多個(gè)因素會(huì)影響解碼組件的解碼質(zhì)量,故在對(duì)解碼組件進(jìn)行選擇時(shí),需要對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià),選擇最佳的解碼組件來進(jìn)行解碼。
[0032]在該實(shí)施例中,該步驟具體為:為影響解碼組件的多個(gè)因素分配權(quán)重和分值并形成評(píng)價(jià)函數(shù),采用評(píng)價(jià)函數(shù)來對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià)獲取評(píng)價(jià)值。這樣,通常初始設(shè)定的評(píng)價(jià)函數(shù),能夠?qū)γ總€(gè)匹配的解碼組件進(jìn)行評(píng)價(jià),從而根據(jù)評(píng)價(jià)值選擇最佳的解碼組件。
[0033]S30:選取評(píng)價(jià)值最高且能對(duì)音視頻解碼的一組解碼組件來對(duì)音視頻進(jìn)行解碼。
[0034]在對(duì)每個(gè)匹配的解碼組件進(jìn)行評(píng)價(jià)獲取評(píng)價(jià)值后,根據(jù)評(píng)價(jià)值來對(duì)選取評(píng)價(jià)值最高的一組解碼組件從而選擇出最佳的解碼組件來對(duì)音視頻進(jìn)行解碼,這樣根據(jù)終端設(shè)備和解碼組件的性能來選擇解碼組件,而不是只是根據(jù)初始設(shè)定來選擇解碼組件,從而能夠避免終端設(shè)備不能選擇相應(yīng)的解碼組件對(duì)音視頻進(jìn)行播放,使得無法播放音視頻的問題,給用戶帶來極大的便利。
[0035]考慮到硬解組件能更好的對(duì)音視頻進(jìn)行解碼,減少CPU占用,在進(jìn)一步的方式中,該步驟具體為:若存在評(píng)價(jià)值相同的硬解組件和軟解組件,則優(yōu)先選擇硬解組件。
[0036]該音視頻解碼組件選擇方法,根據(jù)終端性能及音視頻的媒體類型,對(duì)音視頻匹配解碼組件,同時(shí)對(duì)每個(gè)匹配的解碼組件根據(jù)影響因素進(jìn)行評(píng)價(jià),選擇評(píng)價(jià)值最高且能對(duì)音視頻解碼的一