一種視頻碼流的切換方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)了一種視頻碼流的切換方法及裝置,一種視頻碼流的切換方法,包括:在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;如果目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。應(yīng)用上述技術(shù)方案,在視頻播放器對(duì)目標(biāo)視頻碼流的加載進(jìn)度達(dá)到切換條件的情況下,才會(huì)停止對(duì)當(dāng)前視頻碼流的播放,能夠?qū)崿F(xiàn)不同視頻碼流之間的無(wú)縫切換,避免了視頻碼流切換過(guò)程中的“卡頓”或“黑屏”現(xiàn)象,用戶的觀賞體驗(yàn)較好。
【專利說(shuō)明】一種視頻碼流的切換方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻處理【技術(shù)領(lǐng)域】,特別涉及一種視頻碼流的切換方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)多媒體技術(shù)的快速發(fā)展,標(biāo)清視頻碼流、高清視頻碼流、超高清視頻碼流等滿足不同網(wǎng)絡(luò)播放環(huán)境的視頻碼流的出現(xiàn),使得視頻文件的播放形式不再局限于某種特定的視頻碼流。為了提高用戶的觀賞體驗(yàn),視頻播放器播放視頻的過(guò)程中,可以根據(jù)用戶的網(wǎng)絡(luò)播放環(huán)境,切換到適合當(dāng)前網(wǎng)絡(luò)播放環(huán)境的視頻碼流進(jìn)行播放。
[0003]現(xiàn)有技術(shù)中,視頻播放器接收到視頻碼流切換觸發(fā)之后,立即停止對(duì)當(dāng)前視頻碼流的播放,并啟動(dòng)目標(biāo)視頻碼流的下載操作,直至下載量滿足播放條件時(shí),對(duì)所下載的目標(biāo)視頻碼流進(jìn)行播放。
[0004]然而,由于從視頻播放器開(kāi)始啟動(dòng)目標(biāo)視頻碼流的下載操作到該目標(biāo)視頻碼流的下載量滿足播放條件需要一段等待時(shí)間,這就導(dǎo)致了視頻播放過(guò)程中的“卡頓”或“黑屏”現(xiàn)象,用戶的觀賞體驗(yàn)較差。
【發(fā)明內(nèi)容】
[0005]為了解決上述問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了一種視頻碼流的切換方法及裝置,具體技術(shù)方案如下:
[0006]一種視頻碼流的切換方法,包括:
[0007]在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0008]對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0009]檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0010]如果目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0011]優(yōu)選的,所述確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,包括:
[0012]根據(jù)用戶的觸發(fā)操作,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0013]優(yōu)選的,所述確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,包括:
[0014]監(jiān)測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài);
[0015]根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則,確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí),其中,不同的網(wǎng)絡(luò)狀態(tài)等級(jí)對(duì)應(yīng)不同的視頻碼流切換方案;
[0016]根據(jù)所確定的當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)路狀態(tài)等級(jí),確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0017]優(yōu)選的,所述對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,包括:
[0018]將接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn)記錄為時(shí)間起點(diǎn);
[0019]確定該時(shí)間起點(diǎn)之后所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0020]對(duì)該時(shí)間點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載。[0021]優(yōu)選的,所述檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,包括:
[0022]實(shí)時(shí)檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0023]或
[0024]根據(jù)預(yù)設(shè)的檢測(cè)周期,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度。
[0025]優(yōu)選的,所述檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,包括:
[0026]檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0027]所述如果目標(biāo)碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流,具體為:
[0028]如果在所述預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0029]優(yōu)選的,如果在所述預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度不大于當(dāng)前視頻碼流的播放進(jìn)度,則進(jìn)一步包括:
[0030]暫停對(duì)所述目標(biāo)視頻碼流的加載。
[0031]優(yōu)選的,該方法進(jìn)一步包括:
[0032]向用戶發(fā)送消息提示,所述消息提示用于提示用戶在當(dāng)前的播放環(huán)境下,無(wú)需進(jìn)行碼流切換操作。
[0033]優(yōu)選的,在接收視頻碼流切換觸發(fā)指令之前,還包括:
[0034]檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;
[0035]如果是,則自動(dòng)生成視頻碼流切換觸發(fā)指令,或向用戶發(fā)送提示消息,根據(jù)用戶的操作,生成視頻碼流切換觸發(fā)指令。
[0036]優(yōu)選的,所述檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化,包括:
[0037]實(shí)時(shí)檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;
[0038]或
[0039]按照預(yù)設(shè)的時(shí)間周期,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化。
[0040]優(yōu)選的,在將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流后,還包括:
[0041]向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
[0042]一種視頻碼流的切換裝置,包括:
[0043]碼流確定模塊,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0044]碼流加載模塊,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0045]進(jìn)度檢測(cè)模塊,用于檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0046]碼流切換模塊,用于在目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0047]優(yōu)選的,所述碼流確定模塊,具體用于:[0048]根據(jù)用戶的觸發(fā)操作,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0049]優(yōu)選的,所述碼流確定模塊,包括:
[0050]網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)子模塊,用于監(jiān)測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài);
[0051]網(wǎng)絡(luò)等級(jí)劃分子模塊,用于根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則,確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí),其中,不同的網(wǎng)絡(luò)狀態(tài)等級(jí)對(duì)應(yīng)不同的視頻碼流切換方案;
[0052]碼流確定子模塊,用于根據(jù)所確定的當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)路狀態(tài)等級(jí),確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0053]優(yōu)選的,所述碼流加載模塊,具體用于:
[0054]將接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn)記錄為時(shí)間起點(diǎn);
[0055]確定該時(shí)間起點(diǎn)之后所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0056]對(duì)該時(shí)間點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0057]優(yōu)選的,所述進(jìn)度檢測(cè)模塊,具體用于:
[0058]實(shí)時(shí)檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0059]或
[0060]根據(jù)預(yù)設(shè)的檢測(cè)周期,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度。
[0061]優(yōu)選的,所述進(jìn)度檢測(cè)模塊,具體用于:
[0062]檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0063]所述碼流切換模塊,具體用于在所述進(jìn)度檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0064]優(yōu)選的,該裝置進(jìn)一步包括:
[0065]碼流加載暫停模塊,用于在所述進(jìn)度檢測(cè)模塊的檢測(cè)結(jié)果為否的情況下,暫停對(duì)所述目標(biāo)視頻碼流的加載。
[0066]優(yōu)選的,該裝置進(jìn)一步包括:
[0067]消息提示發(fā)送模塊,用于向用戶發(fā)送消息提示,所述消息提示用于提示用戶在當(dāng)前的播放環(huán)境下,無(wú)需進(jìn)行碼流切換操作。
[0068]優(yōu)選的,該裝置還包括:
[0069]網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊和指令生成模塊;
[0070]所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊,用于檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;
[0071]所述指令生成模塊包括:第一生成子模塊、或第二生成子模塊;
[0072]所述第一生成子模塊,用于在所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,自動(dòng)生成視頻碼流切換觸發(fā)指令;
[0073]所述第二生成子模塊,用于在所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,向用戶發(fā)送提示消息,根據(jù)用戶的操作,生成視頻碼流切換觸發(fā)指令。
[0074]優(yōu)選的,所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊,具體用于:
[0075]實(shí)時(shí)檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;
[0076]或
[0077]按照預(yù)設(shè)的時(shí)間周期,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化。[0078]優(yōu)選的,該裝置還包括:
[0079]消息通知發(fā)送模塊,用于向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
[0080]應(yīng)用本發(fā)明實(shí)施例提供的技術(shù)方案,視頻播放器在接收到視頻碼流切換觸發(fā)指令后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,對(duì)該目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流,直至目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度時(shí),將當(dāng)前播放的視頻碼流切換到目標(biāo)視頻碼流。
[0081]與現(xiàn)有技術(shù)相比,視頻播放器對(duì)目標(biāo)視頻碼流的加載進(jìn)度達(dá)到切換條件時(shí),才會(huì)停止對(duì)當(dāng)前視頻碼流的播放,能夠?qū)崿F(xiàn)不同視頻碼流之間的無(wú)縫切換,避免了視頻碼流切換過(guò)程中的“卡頓”或“黑屏”現(xiàn)象,用戶的觀賞體驗(yàn)較好。
【專利附圖】
【附圖說(shuō)明】
[0082]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0083]圖1a為本發(fā)明實(shí)施例提供的一種視頻碼流的切換方法的第一種流程圖;
[0084]圖1b為本發(fā)明實(shí)施例提供的圖1a中SlOl的一種實(shí)施方式的流程圖;
[0085]圖1c為本發(fā)明實(shí)施例提供的圖1a中S102的一種實(shí)施方式的流程圖;
[0086]圖1d為本發(fā)明實(shí)施例提供的一種視頻碼流加載方法的流程圖;
[0087]圖2為本發(fā)明實(shí)施例提供的一種視頻碼流的切換方法的第二種流程圖;
[0088]圖3為本發(fā)明實(shí)施例提供的一種視頻碼流的切換方法的第三種流程圖;
[0089]圖4為本發(fā)明實(shí)施例提供的一種視頻碼流的切換方法的第四種流程圖;
[0090]圖5為本發(fā)明實(shí)施例提供的一種視頻碼流的切換方法的第五種流程圖;
[0091]圖6a為本發(fā)明實(shí)施例提供的一種視頻碼流的切換裝置的第一種結(jié)構(gòu)示意圖;
[0092]圖6b為本發(fā)明實(shí)施例提供的圖6a中網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)子模塊601的結(jié)構(gòu)示意圖;
[0093]圖7為本發(fā)明實(shí)施例提供的一種視頻碼流的切換裝置的第二種結(jié)構(gòu)示意圖;
[0094]圖8為本發(fā)明實(shí)施例提供的一種視頻碼流的切換裝置的第三種結(jié)構(gòu)示意圖;
[0095]圖9為本發(fā)明實(shí)施例提供的一種視頻碼流的切換裝置的第四種結(jié)構(gòu)示意圖;
[0096]圖10為本發(fā)明實(shí)施例提供的一種視頻碼流的切換裝置的第五種結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0097]為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0098]近年來(lái),網(wǎng)絡(luò)多媒體技術(shù)快速發(fā)展,標(biāo)清視頻碼流、高清視頻碼流、超清視頻碼流等滿足不同網(wǎng)絡(luò)播放環(huán)境的視頻碼流給用戶帶來(lái)不同的觀賞體驗(yàn),用戶希望不同視頻碼流之間相互切換時(shí),視頻的播放畫面流暢,不卡頓,為此本發(fā)明實(shí)施例提供了一種視頻碼流的切換方法及裝置。
[0099]下面首先對(duì)本發(fā)明實(shí)施例提供的一種視頻碼流的切換方法進(jìn)行介紹。
[0100]需要說(shuō)明的是,本發(fā)明實(shí)施例所提供的一種視頻碼流的切換方法可以應(yīng)用于電子設(shè)備中,在實(shí)際應(yīng)用中,該電子設(shè)備可以為臺(tái)式電腦、筆記本電腦、平板電腦、手機(jī)及智能電視等等,本發(fā)明實(shí)施例對(duì)此不作限定。
[0101]如圖1a所示,一種視頻碼流的切換方法,可以包括:
[0102]S101,在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0103]本發(fā)明實(shí)施例所述的“視頻碼流”可以理解為視頻文件在單位時(shí)間內(nèi)使用的數(shù)據(jù)流量,通常情況下以Kb/s或Mb/s為單位對(duì)碼流的大小進(jìn)行描述;視頻碼流是視頻編碼過(guò)程中控制視頻畫面質(zhì)量的重要因素,通常來(lái)說(shuō),相同分辨率下,視頻文件的碼流越大,視頻壓縮比就越小,圖像質(zhì)量就越好,畫質(zhì)也就越清晰。
[0104]為了便于理解,本發(fā)明實(shí)施例所述的“視頻碼流切換觸發(fā)指令”可以理解為用于觸發(fā)電子設(shè)備中的視頻客戶端軟件將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流的指令。
[0105]需要說(shuō)明的是,人們通常依據(jù)碼流值的大小,將視頻碼流劃分為以下幾種碼流類型:標(biāo)清視頻碼流、高清視頻碼流、超高清視頻碼流等等,本發(fā)明實(shí)施例對(duì)此不作限定。
[0106]在實(shí)際應(yīng)用中,一個(gè)視頻文件通常存在多個(gè)碼流類型不同的視頻文件,以保證在不同網(wǎng)絡(luò)環(huán)境下,都能夠滿足用戶的基本觀賞需求,比如,網(wǎng)絡(luò)環(huán)境較差的情況下,優(yōu)先保證視頻播放畫面的流暢;或網(wǎng)絡(luò)環(huán)境非常好的情況下,在視頻播放畫面較流暢的前提下,優(yōu)先保證視頻播放畫面的清晰。
[0107]在本發(fā)明的一個(gè)實(shí)施方式中,在接收到視頻碼流切換觸發(fā)指令之后,可以根據(jù)當(dāng)前的網(wǎng)絡(luò)狀態(tài),來(lái)確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,具體實(shí)現(xiàn)方式,如圖1b所示,可以包括:
[0108]SlOla,監(jiān)測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)。
[0109]在接收到視頻碼流切換觸發(fā)指令之后,可以立即啟動(dòng)對(duì)當(dāng)前網(wǎng)絡(luò)狀態(tài)的監(jiān)測(cè),以獲得監(jiān)測(cè)結(jié)果,從而根據(jù)該監(jiān)測(cè)結(jié)果繼續(xù)執(zhí)行后續(xù)的操作。本發(fā)明實(shí)施例所述的“網(wǎng)絡(luò)狀態(tài)”可以理解為網(wǎng)絡(luò)的寬帶速率,或網(wǎng)絡(luò)穩(wěn)定程度等等,本發(fā)明實(shí)施例對(duì)此不作限定。
[0110]SIO Ib,根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則,確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí)。
[0111]本發(fā)明實(shí)施例所述的“預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則”可以理解為電子設(shè)備或電子設(shè)備中的視頻客戶端預(yù)先設(shè)置的對(duì)不同的網(wǎng)絡(luò)狀態(tài)進(jìn)行等級(jí)劃分的規(guī)則,在實(shí)際情況中,可以為根據(jù)網(wǎng)絡(luò)帶寬速率的大小將不同的網(wǎng)絡(luò)狀態(tài)劃分成幾個(gè)不同的網(wǎng)絡(luò)等級(jí),比如網(wǎng)絡(luò)帶寬速率小于IMb/s,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)A,網(wǎng)絡(luò)帶寬速率大于IMb/s,而小于2Mb/s,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)B,網(wǎng)絡(luò)帶寬速率大于2Mb/s,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)C ;
[0112]或根據(jù)網(wǎng)絡(luò)穩(wěn)定程度將不同的網(wǎng)絡(luò)狀態(tài)劃分成幾個(gè)不同的網(wǎng)絡(luò)等級(jí),比如網(wǎng)絡(luò)穩(wěn)定性較差,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)A,網(wǎng)絡(luò)穩(wěn)定性一般,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)B,網(wǎng)絡(luò)穩(wěn)定性較好,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)C,網(wǎng)絡(luò)穩(wěn)定性非常好,對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)等級(jí)為網(wǎng)絡(luò)等級(jí)D。本發(fā)明實(shí)施例對(duì)所述預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則的劃分依據(jù)不作限定。
[0113]在監(jiān)測(cè)到當(dāng)前的網(wǎng)絡(luò)狀態(tài)之后,可以根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則。來(lái)確定所監(jiān)測(cè)到的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí)。
[0114]SlOlc,根據(jù)所確定的當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí),確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0115]在確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí)之后,可以根據(jù)所確定的網(wǎng)絡(luò)狀態(tài)等級(jí),來(lái)確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,比如,網(wǎng)絡(luò)狀態(tài)等級(jí)有網(wǎng)絡(luò)等級(jí)A、網(wǎng)絡(luò)等級(jí)B、網(wǎng)絡(luò)等級(jí)C,其中,網(wǎng)絡(luò)等級(jí)A對(duì)應(yīng)標(biāo)清視頻碼流、網(wǎng)絡(luò)等級(jí)B對(duì)應(yīng)高清視頻碼流、網(wǎng)絡(luò)等級(jí)C對(duì)應(yīng)超高清視頻碼流,當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)等級(jí)為A,則碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流為標(biāo)清視頻碼流。
[0116]S102,對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0117]比如,當(dāng)前播放的視頻碼流為高清視頻碼流,在確定目標(biāo)視頻碼流為標(biāo)清視頻碼流之后,啟動(dòng)對(duì)標(biāo)清視頻碼流的加載,同時(shí)繼續(xù)播放高清視頻碼流。
[0118]在本發(fā)明的一個(gè)實(shí)施方式中,在確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流之后,可以選擇某個(gè)時(shí)間點(diǎn)作為時(shí)間起點(diǎn),對(duì)該時(shí)間起點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載,具體實(shí)現(xiàn)方式,如圖1c所示,可以包括:
[0119]S102a,將接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn)記錄為時(shí)間起點(diǎn)。
[0120]為了使該過(guò)程更為直觀,如圖1d所示,①中,一個(gè)視頻文件對(duì)應(yīng)多個(gè)不同視頻碼流的視頻文件,每個(gè)視頻文件的時(shí)長(zhǎng)相同,比如當(dāng)前播放的視頻碼流所對(duì)應(yīng)的視頻文件的時(shí)長(zhǎng),與目標(biāo)視頻碼流所對(duì)應(yīng)的視頻文件時(shí)長(zhǎng)是相同的。
[0121]需要說(shuō)明的是,圖1d中黑色矩形部分表示視頻碼流已經(jīng)加載,白色矩形部分表示視頻碼流未加載。
[0122]在本發(fā)明實(shí)施例中,可以將電子設(shè)備或電子設(shè)備中的視頻客戶端軟件等接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn),記錄為時(shí)間起點(diǎn),如圖1d中“丨”所在的位置即為時(shí)間起點(diǎn)。
[0123]S102b,確定該時(shí)間起點(diǎn)之后所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0124]S102C,對(duì)該時(shí)間點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0125]如圖1d中②所示,對(duì)S102a中所確定的時(shí)間起點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載,同時(shí)繼續(xù)播放該時(shí)間起點(diǎn)之后的當(dāng)前視頻碼流,從而避免了從視頻文件的片頭就開(kāi)始對(duì)目標(biāo)視頻碼流進(jìn)行加載,所帶來(lái)的耗時(shí)過(guò)長(zhǎng)的問(wèn)題。
[0126]S103,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,如果是,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0127]在對(duì)目標(biāo)視頻碼流進(jìn)行加載,繼續(xù)播放當(dāng)前視頻碼流的過(guò)程中,可以通過(guò)實(shí)時(shí)地檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,或根據(jù)預(yù)設(shè)的檢測(cè)周期檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,以此來(lái)確定是否將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0128]如圖1d中③所示,在確定目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度時(shí),可以將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0129]需要說(shuō)明的是,本發(fā)明所述的“預(yù)設(shè)的檢測(cè)周期”可以是電子設(shè)備或電子設(shè)備中的視頻客戶端軟件事先自動(dòng)設(shè)置的一個(gè)時(shí)間周期值,比如40s;當(dāng)然在實(shí)際應(yīng)用中,用戶也可以根據(jù)自身需要,自行設(shè)置該預(yù)設(shè)的檢測(cè)周期的取值,本發(fā)明實(shí)施例對(duì)此不作限定。
[0130]由此可見(jiàn),視頻播放器在接收到視頻碼流切換觸發(fā)指令后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,對(duì)該目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流,直至目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度時(shí),將當(dāng)前播放的視頻碼流切換到目標(biāo)視頻碼流。
[0131]與現(xiàn)有技術(shù)相比,視頻播放器對(duì)目標(biāo)視頻碼流的加載進(jìn)度達(dá)到切換條件時(shí),才會(huì)停止對(duì)當(dāng)前視頻碼流的播放,能夠?qū)崿F(xiàn)不同視頻碼流之間的無(wú)縫切換,避免了視頻碼流切換過(guò)程中的“卡頓”或“黑屏”現(xiàn)象,用戶的觀賞體驗(yàn)較好。
[0132]用戶在電子設(shè)備上在線觀看視頻的過(guò)程中,網(wǎng)絡(luò)狀態(tài)不是一成不變的,有時(shí),用戶希望該電子設(shè)備上的視頻客戶端軟件或網(wǎng)頁(yè)客戶端能夠自動(dòng)根據(jù)當(dāng)前的網(wǎng)絡(luò)狀態(tài),為用戶提供較高觀賞效果視頻畫面,為此本發(fā)明實(shí)施例提供了另一種視頻碼流的切換方法,如圖2所示,該方法可以包括:
[0133]S200,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;如果是,則自動(dòng)生成視頻碼流切換觸發(fā)指令,或向用戶發(fā)送提示消息,根據(jù)用戶的操作生成視頻碼流切換觸發(fā)指令。
[0134]在本發(fā)明實(shí)施例中,可以通過(guò)實(shí)時(shí)檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化,或按照預(yù)設(shè)的時(shí)間周期,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化,本發(fā)明實(shí)施例對(duì)此不作限定。
[0135]需要說(shuō)明的是,本發(fā)明所述的“預(yù)設(shè)的時(shí)間周期”可以是電子設(shè)備或電子設(shè)備中的視頻客戶端軟件事先自動(dòng)設(shè)置的一個(gè)時(shí)間周期值,比如30s ;當(dāng)然在實(shí)際應(yīng)用中,用戶也可以根據(jù)自身需要,自行設(shè)置該預(yù)設(shè)的時(shí)間周期的取值,本發(fā)明實(shí)施例對(duì)此不作限定。
[0136]在本發(fā)明的一個(gè)實(shí)施方式中,在檢測(cè)到當(dāng)前的網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),可以自動(dòng)生成碼流切換觸發(fā)指令,以觸發(fā)后續(xù)的視頻碼流切換操作,從而為用戶自動(dòng)切換視頻碼流。
[0137]在本發(fā)明的另一個(gè)實(shí)施方式中,在檢測(cè)到當(dāng)前的網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),可以向用戶送一個(gè)提示消息,比如“當(dāng)前網(wǎng)絡(luò)狀態(tài)非常好,您是否切換到高清視頻碼流模式”,用戶通過(guò)可以選擇“是”,來(lái)實(shí)現(xiàn)在電子設(shè)備上輸入視頻碼流觸發(fā)操作;從而,該電子設(shè)備可以根據(jù)用戶輸入的操作生成視頻碼流觸發(fā)指令,以觸發(fā)后續(xù)的視頻碼流切換操作。
[0138]S201,在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0139]S202,對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0140]S203,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,如果是,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0141]本發(fā)明實(shí)施例中的S201、S202及S203與前一實(shí)施例中的S101、S102及S103相同,本發(fā)明實(shí)施例對(duì)此不再贅述。
[0142]由此可見(jiàn),本發(fā)明實(shí)施例通過(guò)對(duì)當(dāng)前的網(wǎng)絡(luò)狀態(tài)的檢測(cè),根據(jù)檢測(cè)結(jié)果自動(dòng)為用戶將當(dāng)前播放的視頻碼流為觀賞效果較高視頻畫面所對(duì)應(yīng)的視頻碼流切換,比如當(dāng)前播放的視頻碼流為高清視頻碼流,當(dāng)前的網(wǎng)絡(luò)狀態(tài)較差,電子設(shè)備上的視頻客戶端軟件可以根據(jù)當(dāng)前的網(wǎng)絡(luò)狀態(tài),自動(dòng)將當(dāng)前播放的視頻碼流切換為標(biāo)清視頻碼流,從而保證視頻畫面的流暢性,避免了持續(xù)播放同一種視頻碼流所帶來(lái)的卡頓等問(wèn)題。
[0143]在本發(fā)明的另一個(gè)實(shí)施例中,如圖3所示,一種視頻碼流的切換方法,可以包括:
[0144]S301,在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。[0145]S302,對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0146]S303,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,如果是,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0147]本發(fā)明實(shí)施例中的S301、S302及S303與前一實(shí)施例中的S101、S102及S103相同,本發(fā)明實(shí)施例對(duì)此不再贅述。
[0148]S304,向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
[0149]在視頻碼流切換成功之后,可以向用戶發(fā)送消息通知,告知用戶當(dāng)前視頻碼流的切換操作已經(jīng)成功,避免用戶誤以為視頻碼流切換操作未成功,而多次在電子設(shè)備上進(jìn)行視頻碼流切換觸發(fā)操作,增加服務(wù)器的處理壓力的情況發(fā)生。
[0150]上述實(shí)施例中默認(rèn)目標(biāo)視頻碼流的加載進(jìn)度可以大于當(dāng)前視頻碼流的播放進(jìn)度,然而在實(shí)際應(yīng)用中,可能會(huì)存在目標(biāo)視頻碼流的加載進(jìn)度不大于當(dāng)前視頻碼流的播放進(jìn)度的情形,在這種情形下,繼續(xù)加載目標(biāo)視頻碼流會(huì)造成網(wǎng)絡(luò)帶寬的浪費(fèi),進(jìn)一步會(huì)導(dǎo)致視頻播放過(guò)程中出現(xiàn)卡頓、黑屏等現(xiàn)象。
[0151]為了解決上述問(wèn)題,本發(fā)明實(shí)施例提供了另一種視頻碼流的切換方法,如圖4所示,該方法可以包括:
[0152]S401,在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0153]S402,對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0154]本發(fā)明實(shí)施例中的S401、S402與前一實(shí)施例中的SlOl、S102相同,本發(fā)明實(shí)施例對(duì)此不再贅述。
[0155]S403,檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,如果是,則轉(zhuǎn)到S404,否則轉(zhuǎn)到S405。
[0156]本發(fā)明實(shí)施例中,可以通過(guò)預(yù)先設(shè)置一個(gè)時(shí)間,來(lái)解決實(shí)際應(yīng)用中存在的目標(biāo)視頻碼流的加載進(jìn)度不大于當(dāng)前視頻碼流的播放進(jìn)度的問(wèn)題,比如IOmin,如果在IOmin之內(nèi),目標(biāo)視頻碼流的加載進(jìn)度不大于當(dāng)前視頻碼流的播放進(jìn)度,則可以停止對(duì)該目標(biāo)視頻碼流的加載。
[0157]需要說(shuō)明的是,本發(fā)明所述的“預(yù)設(shè)的時(shí)間”可以是電子設(shè)備或電子設(shè)備中的視頻客戶端軟件事先自動(dòng)設(shè)置的一個(gè)時(shí)間周期值,比如IOmin;當(dāng)然在實(shí)際應(yīng)用中,用戶也可以根據(jù)自身需要,自行設(shè)置該預(yù)設(shè)的時(shí)間的取值,本發(fā)明實(shí)施例對(duì)此不作限定。
[0158]S404,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0159]在檢測(cè)到在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,可以將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0160]S405,暫停對(duì)所述目標(biāo)視頻碼流的加載。
[0161]在檢測(cè)到在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度不大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,可以暫停對(duì)所述目標(biāo)視頻碼流的加載。
[0162]在本發(fā)明的另一個(gè)實(shí)施例中,如圖5所示,一種視頻碼流的切換方法,可以包括:
[0163]S501,在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0164]S502,對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0165]S503,檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,如果是,則轉(zhuǎn)到S504,否則轉(zhuǎn)到S505。[0166]S504,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0167]S505,暫停對(duì)所述目標(biāo)視頻碼流的加載。
[0168]本發(fā)明實(shí)施例中的S501、S502、S503及S504與前一實(shí)施例中的S401、S402、S403及S404相同,本發(fā)明實(shí)施例對(duì)此不再贅述。
[0169]S506,向用戶發(fā)送消息提示,所述消息提示用于提示用戶在當(dāng)前的播放環(huán)境下,無(wú)需進(jìn)行碼流切換操作。
[0170]在暫停對(duì)目標(biāo)視頻碼流的加載之后,可以向用戶發(fā)送消息提示,告知用戶當(dāng)前的播放環(huán)境下無(wú)需進(jìn)行碼流切換,避免用戶誤以為視頻碼流切換操作未成功,而多次在電子設(shè)備上進(jìn)行視頻碼流切換觸發(fā)操作,增加服務(wù)器的處理壓力的情況發(fā)生。
[0171]相應(yīng)于上面的方法實(shí)施例,本發(fā)明實(shí)施例還提供了一種視頻碼流的切換裝置。
[0172]如圖6a所示,一種視頻碼流的切換裝置,可以包括:
[0173]碼流確定模塊601,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0174]碼流加載模塊602,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0175]進(jìn)度檢測(cè)模塊603,用于檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0176]碼流切換模塊604,用于在目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0177]在本發(fā)明的一個(gè)實(shí)施方式中,如圖6b所示,所述碼流確定模塊601,包括:
[0178]網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)子模塊601a,用于監(jiān)測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài);
[0179]網(wǎng)絡(luò)等級(jí)劃分子模塊601b,用于根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則,確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí),其中,不同的網(wǎng)絡(luò)狀態(tài)等級(jí)對(duì)應(yīng)不同的視頻碼流切換方案;
[0180]碼流確定子模塊601c,用于根據(jù)所確定的當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)路狀態(tài)等級(jí),確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0181]在本發(fā)明的另一個(gè)實(shí)施方式中,所述碼流確定模塊601,用于根據(jù)用戶的觸發(fā)操作,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
[0182]在本發(fā)明的另一個(gè)實(shí)施方式中,所述碼流加載模塊602,用于將接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn)記錄為時(shí)間起點(diǎn);
[0183]確定該時(shí)間起點(diǎn)之后所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0184]對(duì)該時(shí)間點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
[0185]在本發(fā)明的另一個(gè)實(shí)施方式中,所述進(jìn)度檢測(cè)模塊603,具體用于:
[0186]實(shí)時(shí)檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0187]或
[0188]根據(jù)預(yù)設(shè)的檢測(cè)周期,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度。
[0189]在本發(fā)明另一個(gè)實(shí)施例中,如圖7所示,一種視頻碼流的切換裝置,可以包括:
[0190]網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊701,用于檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;[0191]指令生成模塊702包括:第一生成子模塊、或第二生成子模塊;
[0192]其中,所述第一生成子模塊,用于在所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,自動(dòng)生成視頻碼流切換觸發(fā)指令;
[0193]所述第二生成子模塊,用于在所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,向用戶發(fā)送提示消息,根據(jù)用戶的操作,生成視頻碼流切換觸發(fā)指令;
[0194]碼流確定模塊703,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0195]碼流加載模塊704,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0196]進(jìn)度檢測(cè)模塊705,用于檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0197]碼流切換模塊706,用于在目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
[0198]在本發(fā)明的一個(gè)實(shí)施方式中,所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊701,具體用于:
[0199]實(shí)時(shí)檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;
[0200]或
[0201]按照預(yù)設(shè)的時(shí)間周期,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化。
[0202]在本發(fā)明的另一個(gè)實(shí)施例中,如圖8所示,一種視頻碼流的切換裝置,可以包括:
[0203]碼流確定模塊801,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0204]碼流加載模塊802,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0205]進(jìn)度檢測(cè)模塊803,用于檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0206]碼流切換模塊804,用于在目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流;
[0207]消息通知發(fā)送模塊805,用于向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
[0208]在本發(fā)明的另一個(gè)實(shí)施例中,如圖9所示,一種視頻碼流的切換裝置,可以包括:
[0209]碼流確定模塊901,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0210]碼流加載模塊902,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0211]進(jìn)度檢測(cè)模塊903,用于檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0212]碼流切換模塊904,用于在所述進(jìn)度檢測(cè)模塊903的檢測(cè)結(jié)果為是的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流;
[0213]碼流加載暫停模塊905,用于在所述進(jìn)度檢測(cè)模塊903的檢測(cè)結(jié)果為否的情況下,暫停對(duì)所述目標(biāo)視頻碼流的加載。[0214]在本發(fā)明的另一個(gè)實(shí)施例中,如圖10所示,一種視頻碼流的切換裝置,可以包括:
[0215]碼流確定模塊1001,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流;
[0216]碼流加載模塊1002,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流;
[0217]進(jìn)度檢測(cè)模塊1003,用于檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;
[0218]碼流切換模塊1004,用于在所述進(jìn)度檢測(cè)模塊1003的檢測(cè)結(jié)果為是的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流;
[0219]碼流加載暫停模塊1005,用于在所述進(jìn)度檢測(cè)模塊1003的檢測(cè)結(jié)果為否的情況下,暫停對(duì)所述目標(biāo)視頻碼流的加載;
[0220]消息提示發(fā)送模塊1006,用于向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
[0221]對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0222]為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
[0223]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備
所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不排
除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0224]本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0225]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0226]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種視頻碼流的切換方法,其特征在于,該方法包括: 在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流; 對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流; 檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度; 如果目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,包括: 根據(jù)用戶的觸發(fā)操作,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流,包括: 監(jiān)測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài); 根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則,確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí),其中,不同的網(wǎng)絡(luò)狀態(tài) 等級(jí)對(duì)應(yīng)不同的視頻碼流切換方案; 根據(jù)所確定的當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)路狀態(tài)等級(jí),確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,包括: 將接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn)記錄為時(shí)間起點(diǎn); 確定該時(shí)間起點(diǎn)之后所對(duì)應(yīng)的目標(biāo)視頻碼流; 對(duì)該時(shí)間點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,包括: 實(shí)時(shí)檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度; 或 根據(jù)預(yù)設(shè)的檢測(cè)周期,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度,包括: 檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度;所述如果目標(biāo)碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流,具體為: 如果在所述預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度,則將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,如果在所述預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度不大于當(dāng)前視頻碼流的播放進(jìn)度,則進(jìn)一步包括: 暫停對(duì)所述目標(biāo)視頻碼流的加載。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,該方法進(jìn)一步包括: 向用戶發(fā)送消息提示,所述消息提示用于提示用戶在當(dāng)前的播放環(huán)境下,無(wú)需進(jìn)行碼流切換操作。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,在接收視頻碼流切換觸發(fā)指令之前,還包括: 檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化; 如果是,則自動(dòng)生成視頻碼流切換觸發(fā)指令,或向用戶發(fā)送提示消息,根據(jù)用戶的操作,生成視頻碼流切換觸發(fā)指令。
10.根據(jù)權(quán)利 要求9所述的方法,其特征在于,所述檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化,包括: 實(shí)時(shí)檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化; 或 按照預(yù)設(shè)的時(shí)間周期,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流后,還包括: 向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
12.一種視頻碼流的切換裝置,其特征在于,該裝置包括: 碼流確定模塊,用于在接收視頻碼流切換觸發(fā)指令之后,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流; 碼流加載模塊,用于對(duì)所述目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流; 進(jìn)度檢測(cè)模塊,用于檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度; 碼流切換模塊,用于在目標(biāo)視頻碼流的加載進(jìn)度大于當(dāng)前視頻碼流的播放進(jìn)度的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述碼流確定模塊,具體用于: 根據(jù)用戶的觸發(fā)操作,確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述碼流確定模塊,包括: 網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)子模塊,用于監(jiān)測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài); 網(wǎng)絡(luò)等級(jí)劃分子模塊,用于根據(jù)預(yù)設(shè)的網(wǎng)絡(luò)狀態(tài)等級(jí)劃分規(guī)則,確定當(dāng)前的網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)絡(luò)狀態(tài)等級(jí),其中,不同的網(wǎng)絡(luò)狀態(tài)等級(jí)對(duì)應(yīng)不同的視頻碼流切換方案; 碼流確定子模塊,用于根據(jù)所確定的當(dāng)前網(wǎng)絡(luò)狀態(tài)所屬的網(wǎng)路狀態(tài)等級(jí),確定碼流切換所對(duì)應(yīng)的目標(biāo)視頻碼流。
15.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述碼流加載模塊,具體用于: 將接收到視頻碼流切換觸發(fā)指令的時(shí)間點(diǎn)記錄為時(shí)間起點(diǎn); 確定該時(shí)間起點(diǎn)之后所對(duì)應(yīng)的目標(biāo)視頻碼流; 對(duì)該時(shí)間點(diǎn)之后的目標(biāo)視頻碼流進(jìn)行加載,并繼續(xù)播放當(dāng)前視頻碼流。
16.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述進(jìn)度檢測(cè)模塊,具體用于: 實(shí)時(shí)檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度; 或 根據(jù)預(yù)設(shè)的檢測(cè)周期,檢測(cè)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度。
17.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述進(jìn)度檢測(cè)模塊,具體用于: 檢測(cè)在預(yù)設(shè)的時(shí)間內(nèi)目標(biāo)視頻碼流的加載進(jìn)度是否大于當(dāng)前視頻碼流的播放進(jìn)度; 所述碼流切換模塊,具體用于在所述進(jìn)度檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,將當(dāng)前播放的視頻碼流切換為目標(biāo)視頻碼流。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,該裝置進(jìn)一步包括: 碼流加載暫停模塊,用于在所述進(jìn)度檢測(cè)模塊的檢測(cè)結(jié)果為否的情況下,暫停對(duì)所述目標(biāo)視頻碼流的加載。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,該裝置進(jìn)一步包括: 消息提示發(fā)送模塊,用于向用戶發(fā)送消息提示,所述消息提示用于提示用戶在當(dāng)前的播放環(huán)境下,無(wú)需進(jìn)行碼流切換操作。
20.根據(jù)權(quán)利要求12所述的裝置,其特征在于,該裝置還包括: 網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊和指令生成模塊; 所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊,用于檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化; 所述指令生成模塊包括:第一生成子模塊、或第二生成子模塊; 所述第一生成子模塊,用于在所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,自動(dòng)生成視頻碼流切換觸發(fā)指令; 所述第二生成子模塊,用于在所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊的檢測(cè)結(jié)果為是的情況下,向用戶發(fā)送提示消息,根據(jù)用戶的操作,生成視頻碼流切換觸發(fā)指令。
21.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊,具體用于: 實(shí)時(shí)檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化; 或 按照預(yù)設(shè)的時(shí)間周期,檢測(cè)當(dāng)前的網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化。
22.根據(jù)權(quán)利要求12所述的裝置,其特征在于,該裝置還包括: 消息通知發(fā)送模塊,用于向用戶發(fā)送消息通知,所述消息通知用于提示用戶視頻碼流已切換成功。
【文檔編號(hào)】H04N21/462GK103997680SQ201410250882
【公開(kāi)日】2014年8月20日 申請(qǐng)日期:2014年6月6日 優(yōu)先權(quán)日:2014年6月6日
【發(fā)明者】唐黃平, 盧茂強(qiáng) 申請(qǐng)人:北京奇藝世紀(jì)科技有限公司