一種流媒體的播放方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及視頻播放領(lǐng)域,特別涉及一種流媒體的播放方法及裝置。
【背景技術(shù)】
[0002]在線視頻一般都是以流媒體的方式進(jìn)行播放的,即在服務(wù)器端提供持續(xù)的數(shù)據(jù)流,終端接收、緩存該視頻流,并在緩存的同時(shí)將該視頻展示給用戶。但數(shù)據(jù)傳輸網(wǎng)絡(luò)通常是不穩(wěn)定的,如果在一定的時(shí)間長度內(nèi)基本沒有網(wǎng)絡(luò),或者視頻流的下載速率非常低,則將導(dǎo)致終端中緩存數(shù)據(jù)量的減少,當(dāng)這種情況維持較長時(shí)間時(shí),將會(huì)導(dǎo)致緩存數(shù)據(jù)量的枯竭。
[0003]在終端緩存數(shù)據(jù)量枯竭的情況下,由于無數(shù)據(jù)可播,將會(huì)造成整個(gè)播放過程的卡頓,這會(huì)在很大程度上降低用戶的觀影體驗(yàn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例的目的在于提供一種流媒體的播放方法及裝置,用以解決在網(wǎng)絡(luò)不穩(wěn)定的情況下流媒體視頻播放卡頓的問題。
[0005]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種流媒體的播放方法,應(yīng)用于終端,所述方法包括步驟:
[0006]獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量,判斷該緩存數(shù)據(jù)量是否小于預(yù)設(shè)的下限閾值Dl ;
[0007]如果是,獲取當(dāng)前播放視頻的下載速率;
[0008]判斷當(dāng)前播放視頻的下載速率是否小于該視頻原始的碼率;
[0009]如果是,降低當(dāng)前播放視頻的播放速率。
[0010]較佳的,所述降低當(dāng)前播放視頻的播放速率包括:
[0011]根據(jù)當(dāng)前播放視頻的下載速率、該視頻原始的碼率、該視頻原始的幀率,確定降低后的當(dāng)前播放視頻的播放速率。
[0012]較佳的,在所述降低當(dāng)前播放視頻的播放速率之前,還包括:
[0013]判斷當(dāng)前播放視頻是否緩存完成;
[0014]當(dāng)當(dāng)前播放視頻緩存完成時(shí),保持當(dāng)前播放視頻的播放速率不變。
[0015]較佳的,所述方法還包括:
[0016]獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量,判斷該緩存數(shù)據(jù)量是否大于預(yù)設(shè)的上限閾值D2 ;
[0017]如果是,則提高當(dāng)前播放視頻的播放速率。
[0018]較佳的,所述方法還包括:
[0019]判斷當(dāng)前播放視頻的下載速率是否小于該視頻原始的碼率;
[0020]如果否,則提高當(dāng)前播放視頻的播放速率。
[0021]本發(fā)明實(shí)施例還公開了一種流媒體的播放裝置,應(yīng)用于終端,所述裝置包括:
[0022]第一獲取判斷模塊,用于獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量,判斷該緩存數(shù)據(jù)量是否小于預(yù)設(shè)的下限閾值Dl ;
[0023]第二獲取判斷模塊,用于當(dāng)?shù)谝猾@取判斷模塊判斷結(jié)果為是時(shí),獲取當(dāng)前播放視頻的下載速率;判斷當(dāng)前播放視頻的下載速率是否小于該視頻原始的碼率;
[0024]調(diào)整模塊,用于當(dāng)?shù)诙@取判斷模塊判斷結(jié)果為是時(shí),降低當(dāng)前播放視頻的播放速率。
[0025]較佳的,所述調(diào)整模塊,具體用于根據(jù)當(dāng)前播放視頻的下載速率、該視頻原始的碼率、該視頻原始的幀率,確定降低后的當(dāng)前播放視頻的播放速率。
[0026]較佳的,所述裝置還包括:
[0027]緩存完成執(zhí)行模塊,用于判斷當(dāng)前播放視頻是否緩存完成;
[0028]所述調(diào)整模塊,還用于當(dāng)所述緩存完成執(zhí)行模塊判斷當(dāng)前播放視頻緩存完成時(shí),保持當(dāng)前播放視頻的播放速率不變。
[0029]較佳的,所述第一獲取判斷模塊,還用于獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量,判斷該緩存數(shù)據(jù)量是否大于預(yù)設(shè)的上限閾值D2 ;
[0030]所述調(diào)整模塊,還用于當(dāng)所述第一獲取判斷模塊判斷緩存數(shù)據(jù)量大于預(yù)設(shè)的上限閾值D2時(shí),提高當(dāng)前播放視頻的播放速率。
[0031]較佳的,所述第二獲取判斷模塊,還用于判斷當(dāng)前播放視頻的下載速率是否小于該視頻原始的碼率;
[0032]所述調(diào)整模塊,還用于當(dāng)所述第二獲取判斷模塊判斷當(dāng)前播放視頻的下載速率不小于該視頻原始的碼率時(shí),提高當(dāng)前播放視頻的播放速率。
[0033]本發(fā)明實(shí)施例提供了一種流媒體的播放方法及裝置,該方法中終端獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量,判斷該緩存數(shù)據(jù)量是否小于預(yù)設(shè)的下限閾值D1,如果小于該下限閾值,則獲取當(dāng)前播放視頻的下載速率,并判斷當(dāng)前播放視頻的下載速率是否小于該視頻原始的視頻碼流速率,如果是,降低當(dāng)前播放視頻的播放速率。由于本發(fā)明實(shí)施例中針對(duì)當(dāng)前播放視頻獲取該當(dāng)前播放視頻的緩存數(shù)據(jù)量,并在該緩存數(shù)據(jù)量小于預(yù)設(shè)的下限閾值,且該當(dāng)前播放視頻的下載速率小于該視頻的原始的碼率時(shí),降低該當(dāng)前播放視頻的播放速率,從而可以在一定程度上增加該視頻的緩存量,避免緩存量出現(xiàn)枯竭,保證視頻播放的連續(xù)性。
【附圖說明】
[0034]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0035]圖1為本發(fā)明實(shí)施例一提供的一種流媒體的播放方法的流程示意圖;
[0036]圖2為本發(fā)明實(shí)施例二提供的一種流媒體的播放方法的流程示意圖;
[0037]圖3為本發(fā)明實(shí)施例三提供的一種流媒體的播放方法的流程示意圖;
[0038]圖4為本發(fā)明實(shí)施例四提供的一種流媒體的播放方法的流程示意圖;
[0039]圖5為本發(fā)明實(shí)施例五提供的一種流媒體的播放裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0041]本發(fā)明實(shí)施例提供了一種流媒體的播放方法及裝置,該方法中終端獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量,判斷該緩存數(shù)據(jù)量是否小于預(yù)設(shè)的下限閾值D1,如果小于該下限閾值,則獲取當(dāng)前播放視頻的下載速率,并判斷當(dāng)前播放視頻的下載速率是否小于該視頻原始的視頻碼流速率,如果是,降低當(dāng)前播放視頻的播放速率。由于本發(fā)明實(shí)施例中針對(duì)當(dāng)前播放視頻獲取該當(dāng)前播放視頻的緩存數(shù)據(jù)量,并在該緩存數(shù)據(jù)量小于預(yù)設(shè)的下限閾值,且該當(dāng)前播放視頻的下載速率小于該視頻的原始的碼率時(shí),降低該當(dāng)前播放視頻的播放速率,從而可以在一定程度上增加該視頻的緩存量,避免緩存量出現(xiàn)枯竭,保證視頻播放的連續(xù)性。
[0042]下面通過具體實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0043]圖1為本發(fā)明實(shí)施例一提供的一種流媒體的播放方法的流程示意圖,該方法應(yīng)用于終端,包括如下步驟:
[0044]SlOl:獲取當(dāng)前播放視頻的緩存數(shù)據(jù)量。
[0045]可以按照每隔一段設(shè)定的時(shí)間間隔,獲取一次當(dāng)前視頻的緩存數(shù)據(jù)量;如果該設(shè)定的時(shí)間間隔較短,也可以理解為終端實(shí)時(shí)獲取當(dāng)前視頻的緩存數(shù)據(jù)量或者每當(dāng)本發(fā)明實(shí)施例一提供的流程結(jié)束時(shí),獲取一次當(dāng)前視頻的緩存數(shù)據(jù)量。
[0046]在本發(fā)明實(shí)施例中該終端可以為智能手機(jī)、平板電腦、筆記本/臺(tái)式電腦等電子設(shè)備。
[0047]S102:判斷當(dāng)前播放視頻的緩存數(shù)據(jù)量是否小于預(yù)設(shè)的下限閾值D1,若是,執(zhí)行S103,若否,則保持當(dāng)前播放視頻的播放速率不變。
[0048]該下限閾值可以預(yù)先配置在終端中,并且可以針對(duì)不同類型的視頻配置不同的下限閾值,當(dāng)進(jìn)行流媒體播放時(shí),終端可以根據(jù)視頻的類型選擇對(duì)應(yīng)的下限閾值。
[0049]終端也可以提供一個(gè)Dl值設(shè)置界面,使用戶根據(jù)自己的使用習(xí)慣自行設(shè)置Dl值。設(shè)置界面可以提供數(shù)據(jù)輸入框供用戶輸入Dl數(shù)值,也可以提供數(shù)據(jù)選擇欄給用戶提供可選擇的Dl值。
[0050]或者,終端也可以從服務(wù)器獲取該預(yù)設(shè)的下限閾值。服務(wù)器中可以針對(duì)不同類型的視頻設(shè)置相同的下限閾值,或者不同的下限閾值。當(dāng)終端進(jìn)行流媒體播放時(shí),從服務(wù)器獲取該流媒體對(duì)應(yīng)的下限閾值;服務(wù)器也可以將針對(duì)不同類型的視頻設(shè)置的下限閾值發(fā)送到終端,以便終端在進(jìn)行流媒體播放時(shí),可以根據(jù)從服務(wù)器接收到的預(yù)設(shè)的下限閾值進(jìn)行相應(yīng)的判斷。
[0051]例如,無論在終端還是服務(wù)器都可以針對(duì)不同的視頻類型設(shè)置不同的Dl值,視頻類型可以以視頻格式來進(jìn)行區(qū)分。例如,對(duì)于MP4格式的視頻,確定其預(yù)設(shè)的下限閾值為IMB ;對(duì)于MKV格式的視頻,確定其預(yù)設(shè)的下限閾值為10MB。
[0052]可針對(duì)不同的終端資源設(shè)置不同的Dl值。例如,終端向服務(wù)器請(qǐng)求進(jìn)行視頻下載時(shí),也向服務(wù)器發(fā)送自己所接入網(wǎng)絡(luò)的帶寬信息;服務(wù)器收到該終端的帶寬信息后,將與該帶寬信息對(duì)應(yīng)的預(yù)設(shè)下限閾值Dl發(fā)送給該終端,以作后續(xù)該終端的判斷之用;或者,當(dāng)有終端向服務(wù)器請(qǐng)求視頻下載時(shí),服務(wù)器在向其傳輸視頻資源之前,先將預(yù)設(shè)的最新版的終端本地保存的網(wǎng)絡(luò)帶寬及對(duì)應(yīng)下限閾值的對(duì)應(yīng)關(guān)系的查找表發(fā)送給終端,終端獲得該查找表后,自行根據(jù)所接入的網(wǎng)絡(luò)帶寬查找對(duì)應(yīng)的下限閾值,作為后續(xù)判斷之用。例如,服務(wù)器在該查找表中設(shè)置的10MB帶寬網(wǎng)絡(luò)對(duì)應(yīng)的Dl值可以小于20MB帶寬網(wǎng)絡(luò)對(duì)應(yīng)的Dl值,以節(jié)省緩存數(shù)據(jù)所占終端的存儲(chǔ)空間。
[0053]S103:獲