本發(fā)明實施例涉及電子設備技術領域,尤其涉及一種視頻的碼流切換方法、裝置及電子設備。
背景技術:
視頻是一種被廣大用戶普遍接受的通信形式,具有廣泛的應用。例如,用戶在休閑時間可通過觀看娛樂類的視頻,豐富自己的娛樂生活,另外,用戶還可以觀看教學類的視頻,獲取多種知識。
目前,用戶通常利用客戶端訪問服務器的方式觀看視頻,例如,用戶可通過手機訪問樂視網站,觀看樂視網站提供的視頻。為了滿足用戶觀看視頻的需求,各個服務器往往為用戶提供多種形式的碼流,如標清、高清和超清等,在視頻播放時,服務器根據用戶的選擇,向客戶端反饋相應形式的碼流。其中,用戶對視頻的清晰度要求較高,則可選擇超清形式的碼流;若用戶對視頻的流暢度要求較高,則可選擇標清形式的碼流。
但是,通過對現有技術的研究,發(fā)明人發(fā)現,用戶在觀看視頻的過程中,有時需要切換碼流,在切換后往往會打斷視頻的播放過程。例如,在視頻播放一段時間后,用戶希望觀看清晰度更高的視頻,而當前播放的視頻為標清形式,則可通過對客戶端進行操作,將碼流由標清形式切換至高清形式或超清形式,而碼流切換后,視頻會暫時中斷一段時間,影響用戶的觀看體驗。
技術實現要素:
本發(fā)明實施例中提供了一種視頻的碼流切換方法、裝置及電子設備,以解決現有技術中,切換碼流會打斷視頻的播放過程的問題。
本發(fā)明實施例公開了如下技術方案:
第一方面,本發(fā)明實施例提供了一種視頻的碼流切換方法,包括:
接收到當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息;
根據所述目標碼流的播放信息,獲取所述目標碼流的播放地址,并在當前碼流的播放過程中,通過訪問所述目標碼流的播放地址,緩存所述目標碼流;
在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。
通過本發(fā)明實施例提供的視頻的碼流切換方法,能夠實現視頻的碼流切換,并且,切換過程不會中斷視頻播放,從而解決了現有技術中,碼流在切換時會出現中斷,影響用戶觀看體驗的問題。
可選的,在所述切換至所述目標碼流并播放之前,還包括:
確定所述目標碼流的預設緩存值。
可選的,所述確定所述目標碼流的預設緩存值,包括:
接收緩存值設置操作,并根據所述緩存值設置操作確定所述目標碼流的預設緩存值。
通過該步驟,能夠根據用戶的操作確定所述預設緩存值,從而滿足用戶需求。
可選的,所述確定所述目標碼流的預設緩存值,包括:
根據所述目標碼流的播放信息,確定所述目標碼流的容量;
根據所述目標碼流的容量以及當前網絡狀態(tài),計算所述目標碼流在順暢播放的情況下,需要緩存的目標碼流的容量,并將所述需要緩存的目標碼流的容量作為所述目標碼流的預設緩存值。
通過該步驟,能夠使獲取到的目標碼流的預設緩存值符合當前的網絡狀態(tài)。其中,若當前網絡狀態(tài)較好,網速較快,則所述需要緩存的目標碼流的容量較小,即所述目標碼流的預設緩存值較少,這種情況下,能夠在較短時間內達到目標碼流的預設緩存值,則能夠盡快完成碼流的切換;若當前網絡狀態(tài)較差,網絡較慢,則所述需要緩存的目標碼流的容量較大,即所述目標碼流的預設緩存值較大,才能保證切換至目標碼流進行播放后,目標碼流能夠順暢播放。
可選的,若所述目標碼流的播放信息中包含兩個以上播放地址,所述獲取所述目標碼流的播放地址,包括:
獲取電子設備的IP地址;
根據所述IP地址,從所述兩個以上播放地址中選擇反饋所述目標碼流速度最快的播放地址,并確定所述反饋所述目標碼流速度最快的播放地址為所述目標碼流的播放地址。
通過上述步驟,能夠在目標碼流的播放信息中包含兩個以上播放地址的情況下,選擇其中反饋目標碼流速度最高的播放地址,從而提高電子設備獲取目標碼流的速度。
可選的,所述在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,包括:
設定所述目標傳送流TS流為所述當前視頻對應的第t個TS流,在所述當前碼流中的目標傳送流TS流播放完畢后,查找緩存的所述目標碼流中的第(t+1)個TS流,并播放所述目標碼流中的第(t+1)個TS流。
針對同一視頻,不同碼流往往包含相同數量的TS流。在當前碼流中的目標TS流播放完畢后,說明當前視頻的第t個TS流播放完畢。這種情況下,播放目標碼流中的第(t+1)個TS流,能夠保障當前視頻的流暢和完整的播放。
第二方面,本發(fā)明實施例提供了一種視頻的碼流切換裝置,包括:
播放信息獲取模塊,用于接收到當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息;
目標碼流緩存模塊,用于根據所述目標碼流的播放信息,獲取所述目標碼流的播放地址,并在當前碼流的播放過程中,通過訪問所述目標碼流的播放地址,緩存所述目標碼流;
目標碼流切換模塊,用于在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。
通過本發(fā)明實施例提供的視頻的碼流切換裝置,能夠實現視頻的碼流切換,并且,切換過程不會中斷視頻播放,從而解決了現有技術中,碼流在切換時會出現中斷,影響用戶觀看體驗的問題。
可選的,還包括:
預設緩存值確定模塊,用于在切換至所述目標碼流并播放之前,確定所述目標碼流的預設緩存值。
可選的,所述目標碼流切換模塊包括:
第一確定單元,用于接收緩存值設置操作,并根據所述緩存值設置操作確定所述目標碼流的預設緩存值。
通過該模塊,能夠根據用戶的操作確定所述預設緩存值,從而滿足用戶需求。
可選的,所述目標碼流切換模塊包括:
容量確定單元,用于根據所述目標碼流的播放信息,確定所述目標碼流的容量;
第二確定單元,用于根據所述目標碼流的容量以及當前網絡狀態(tài),計算所述目標碼流在順暢播放的情況下,需要緩存的目標碼流的容量,并將所述需要緩存的目標碼流的容量作為所述目標碼流的預設緩存值。
通過該裝置,能夠使獲取到的目標碼流的預設緩存值符合當前的網絡狀態(tài)。其中,若當前網絡狀態(tài)較好,網速較快,則所述需要緩存的目標碼流的容量較小,即所述目標碼流的預設緩存值較少,這種情況下,能夠在較短時間內達到目標碼流的預設緩存值,則能夠盡快完成碼流的切換;若當前網絡狀態(tài)較差,網絡較慢,則所述需要緩存的目標碼流的容量較大,即所述目標碼流的預設緩存值較大,才能保證切換至目標碼流進行播放后,目標碼流能夠順暢播放。
可選的,若所述目標碼流的播放信息中包含兩個以上播放地址,所述目標碼流緩存模塊包括:
IP地址獲取單元,用于獲取電子設備的IP地址;
播放地址確定單元,用于根據所述IP地址,從所述兩個以上播放地址中選擇反饋所述目標碼流速度最快的播放地址,并確定所述反饋所述目標碼流速度最快的播放地址為所述目標碼流的播放地址。
可選的,設定所述目標傳送流TS流為所述當前視頻對應的第t個TS流,所述目標碼流切換模塊用于,在所述當前碼流中的目標傳送流TS流播放完畢后,查找緩存的所述目標碼流中的第(t+1)個TS流,并播放所述目標碼流中的第(t+1)個TS流。
針對同一視頻,不同碼流往往包含相同數量的TS流。在當前碼流中的目標TS流播放完畢后,說明當前視頻的第t個TS流播放完畢。這種情況下,播放目標碼流中的第(t+1)個TS流,能夠保障當前視頻的流暢和完整的播放。
第三方面,本發(fā)明實施例提供了一種電子設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的存儲器;其中,
所述存儲器存儲有可被所述一個處理器執(zhí)行的指令,所述指令被被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠:
接收到當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息;
根據所述目標碼流的播放信息,獲取所述目標碼流的播放地址,并在當前碼流的播放過程中,通過訪問所述目標碼流的播放地址,緩存所述目標碼流;
在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。
第四方面,本發(fā)明實施例還提供了一種非暫態(tài)計算機可讀存儲介質,所述非暫態(tài)計算機可讀存儲介質存儲計算機指令,所述計算機指令用于使所述計算機執(zhí)行上述第一方面任意一個實施例提供的所述視頻的碼流切換方法。
第五方面,本發(fā)明實施例還提供了一種計算機程序產品,所述計算機程序產品包括存儲在非暫態(tài)計算機可讀存儲介質上的計算程序,所述計算機程序包括程序指令,當所述程序指令被計算機執(zhí)行時,使所述計算機執(zhí)行上述第一方面任意一個實施例提供的所述視頻的碼流切換方法。
本發(fā)明實施例提供的技術方案可以包括以下有益效果:
本發(fā)明實施例公開一種視頻的碼流切換方法、裝置及電子設備。該方案中,在接收到針對當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息,并根據該播放信息,獲取目標碼流的播放地址,在當前碼流的播放過程中,緩存所述目標碼流,并在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。通過該方案,能夠實現視頻的碼流切換,并且,切換過程不會中斷視頻播放,從而解決了現有技術中,碼流在切換時會出現中斷,影響用戶觀看體驗的問題。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領域普通技術人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
一個或多個實施例通過與之對應的附圖中的圖片進行示例性說明,這些示例性說明并不構成對實施例的限定,附圖中具有相同參考數字標號的元件表示為類似的元件,除非有特別申明,附圖中的圖不構成比例限制。
圖1為本發(fā)明實施例提供的一種視頻的碼流切換方法的應用場景示意圖;
圖2為本發(fā)明實施例提供的一種視頻的碼流切換方法的工作流程示意圖;
圖3為本發(fā)明實施例提供的又一種視頻的碼流切換方法的工作流程示意圖;
圖4為本發(fā)明實施例提供的一種視頻的碼流切換裝置的結構示意圖;
圖5為本發(fā)明實施例提供的一種電子設備的結構示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
本發(fā)明實施例公開一種視頻的碼流切換方法、裝置及電子設備,以解決現有技術中,切換碼流會打斷視頻的播放過程的問題。
其中,本發(fā)明實施例視頻的碼流切換方法和裝置應用于電子設備,參見圖1所示的場景示意圖,圖1中包括電子設備100和服務器200,其中,所述電子設備100能夠通過網絡與服務器200進行通信,實現視頻的播放,例如,電子設備100通過網絡向服務器200發(fā)送請求信息,接收到請求信息的服務器200向所述電子設備100反饋相應的視頻碼流,電子設備100在接收到服務器200的反饋后,播放視頻。
另外,在圖1中,所述電子設備100為智能手機,在實際應用場景中,所述電子設備還可以為其他種類,如平板電腦、智能電視和計算機等,本發(fā)明實施例對此不做限定。
本發(fā)明第一實施例公開一種視頻的碼流切換方法,參見圖2所示的工作流程示意圖,所述視頻的碼流切換方法包括以下步驟:
步驟S11、接收到當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息。
其中,電子設備在接收到用戶對當前視頻的碼流切換操作后,會通過網絡向服務器傳輸碼流切換的請求信息。服務器在接收到該碼流切換的請求信息后,會向電子設備傳輸相應的目標碼流的播放信息,從而使電子設備獲取待切換的目標碼流的播放信息。
所述目標碼流的播放信息中,至少包括所述目標碼流的播放地址,另外,還可以包括所述目標碼流的集數、時長和/或容量等信息,本發(fā)明實施例對此不做限定。
步驟S12、根據所述目標碼流的播放信息,獲取所述目標碼流的播放地址,并在當前碼流的播放過程中,通過訪問所述目標碼流的播放地址,緩存所述目標碼流。
在所述目標碼流的播放信息中,包括所述目標碼流的播放地址,通過查找所述目標碼流的播放信息,即可獲取所述目標碼流的播放地址,再通過訪問該播放地址,即可將目標碼流緩存至電子設備中。
步驟S13、在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。
本發(fā)明實施例中,為目標碼流設置相應的預設緩存值。當目標碼流在電子設備內的緩存值達到預設緩存值時,通常認為目標碼流可實現平滑播放,不會出現卡頓現象。
另外,服務器向電子設備傳輸目標碼流時,通常按照TS(transport stream,傳送流)流的形式進行傳輸。相應的,電子設備以TS流的形式緩存所述目標碼流。并且,電子設備通過依次播放各個TS流的形式,實現視頻的播放。
在所述目標碼流的緩存值達到預設緩存值之后,電子設備查看當前碼流中正在播放的目標TS流是否播放完畢,若未完畢,則等待,直到所述目標TS流播放完畢,再切換至目標碼流并播放。
本發(fā)明實施例公開一種視頻的碼流切換方法。該方法中,在接收到針對當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息,并根據該播放信息,獲取目標碼流的播放地址,在當前碼流的播放過程中,緩存所述目標碼流,并在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。通過該方案,能夠實現視頻的碼流切換,并且,切換過程不會中斷視頻播放,從而解決了現有技術中,碼流在切換時會出現中斷,影響用戶觀看體驗的問題。
本發(fā)明另一實施例公開一種視頻的碼流切換方法,該方法中,在所述切換至所述目標碼流并播放之前,還包括:確定所述目標碼流的預設緩存值。具體的,可參見圖3所示的工作流程示意圖,其中,該方法包括以下步驟:
步驟S21、接收到當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息。
步驟S22、根據所述目標碼流的播放信息,獲取所述目標碼流的播放地址,并在當前碼流的播放過程中,通過訪問所述目標碼流的播放地址,緩存所述目標碼流。
其中,步驟S21至步驟S22的操作過程與步驟S11至步驟S12的操作過程相同,可相互參照,此處不再贅述。
步驟S23、確定所述目標碼流的預設緩存值。
其中,所述目標碼流的預設緩存值可通過多種方式確定。
步驟S24、在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。
其中,步驟S24的操作過程與步驟S13的操作過程相同,可相互參照,此處不再贅述。
另外,在上述步驟S21至步驟S24的描述中,以及圖3所示的工作流程示意圖中,在緩存所述目標碼流后,才執(zhí)行確定所述目標碼流的預設緩存值。在實際操作過程中,該步驟只要在步驟S24之前操作即可,本發(fā)明實施例對此不做限定。
其中,本發(fā)明實施例中,可通過多種方式確定所述目標碼流的預設緩存值。在其中一種方式中,所述確定所述目標碼流的預設緩存值,包括:接收緩存值設置操作,并根據所述緩存值設置操作確定所述目標碼流的預設緩存值。
這種情況下,用戶會對電子設備執(zhí)行緩存值設置操作,通過該操作,設置所述預設緩存值。例如,通過用戶的緩存值設置操作,可設定所述預設緩存值為20個TS流,則目標碼流在電子設備中的緩存值達到20個TS流時,確定目標碼流的緩存值達到預設緩存值。
另外,接收到緩存值設置操作后,還可以存儲本次緩存值設置操作指示的預設緩存值,這種情況下,每次需要獲取目標碼流的預設緩存值時,通過查找存儲空間中存儲的所述預設緩存值即可。
通過該方式,能夠根據用戶的操作確定所述預設緩存值,從而滿足用戶需求。
在另外一種方式中,所述確定所述目標碼流的預設緩存值,包括以下步驟:
首先,根據所述目標碼流的播放信息,確定所述目標碼流的容量。
然后,根據所述目標碼流的容量以及當前網絡狀態(tài),計算所述目標碼流在順暢播放的情況下,需要緩存的目標碼流的容量,并將所述需要緩存的目標碼流的容量作為所述目標碼流的預設緩存值。
該種方式中,所述播放信息中包含所述目標碼流的容量。在獲取目標碼流的容量后,需要根據所述目標碼流的容量以及當前網絡狀態(tài),計算所述目標碼流在順暢播放的情況下,需要緩存的目標碼流的容量。其中,若當前網絡狀態(tài)較好,網速較快,則所述需要緩存的目標碼流的容量較小,即所述目標碼流的預設緩存值較少,這種情況下,能夠在較短時間內達到目標碼流的預設緩存值,則能夠盡快完成碼流的切換;若當前網絡狀態(tài)較差,網絡較慢,則所述需要緩存的目標碼流的容量較大,即所述目標碼流的預設緩存值較大,才能保證切換至目標碼流進行播放后,目標碼流能夠順暢播放。
通過該方式,能夠使獲取到的目標碼流的預設緩存值符合當前的網絡狀態(tài)。
進一步的,在本發(fā)明實施例公開的方案中,需要獲取目標碼流的播放地址。其中,若所述目標碼流的播放信息中包含兩個以上播放地址,所述獲取所述目標碼流的播放地址,包括:
首先,獲取電子設備的IP地址;
然后,根據所述IP地址,從所述兩個以上播放地址中選擇反饋所述目標碼流速度最快的播放地址,并確定所述反饋所述目標碼流速度最快的播放地址為所述目標碼流的播放地址。
服務器向電子設備反饋的目標碼流的播放信息中,包含目標碼流的播放地址,有些情況下,播放信息中包含兩個以上的播放地址。為了選取較為合適的播放地址,需要獲取電子設備的IP地址,然后根據該IP地址,從所述兩個以上播放地址中查找反饋所述目標碼流速度最快的播放地址,將其作為所述目標碼流的播放地址。
例如,若根據電子設備的IP地址,確定電子設備所在區(qū)域為紐約,而所述播放信息中包含的播放地址分別為紐約服務器的播放地址和北京服務器的地址,這種情況下,往往距離電子設備所在區(qū)域近的服務器向電子設備反饋目標碼流的速度較快,則確定紐約服務器的播放地址為目標碼流的播放地址。
通過上述步驟,能夠在目標碼流的播放信息中包含兩個以上播放地址的情況下,選擇其中反饋目標碼流速度最高的播放地址,從而提高電子設備獲取目標碼流的速度。
進一步的,在本發(fā)明實施例中,公開了在當前碼流中的目標TS流播放完畢后,切換至所述目標碼流并播放的操作。其中,所述在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,包括:
設定所述目標傳送流TS流為所述當前視頻對應的第t個TS流,在所述當前碼流中的目標傳送流TS流播放完畢后,查找緩存的所述目標碼流中的第(t+1)個TS流,并播放所述目標碼流中的第(t+1)個TS流。
針對同一視頻,不同碼流往往包含相同數量的TS流。在當前碼流中的目標TS流播放完畢后,說明當前視頻的第t個TS流播放完畢。這種情況下,播放目標碼流中的第(t+1)個TS流,能夠保障當前視頻的流暢和完整的播放。
相應的,本發(fā)明實施例還公開一種視頻的碼流切換裝置。參見圖4所示的結構示意圖,所述視頻的碼流切換裝置包括:播放信息獲取模塊110、目標碼流緩存模塊120和目標碼流切換模塊130。
其中,所述播放信息獲取模塊110,用于接收到當前視頻的碼流切換操作后,獲取待切換的目標碼流的播放信息。
其中,電子設備在接收到用戶對當前視頻的碼流切換操作后,會通過網絡向服務器傳輸碼流切換的請求信息。服務器在接收到該碼流切換的請求信息后,會向電子設備傳輸相應的目標碼流的播放信息,從而使電子設備獲取待切換的目標碼流的播放信息。
另外,所述目標碼流的播放信息中,至少包括所述目標碼流的播放地址,還可以包括所述目標碼流的集數、時長和/或容量等信息,本發(fā)明實施例對此不做限定。
所述目標碼流緩存模塊120,用于根據所述目標碼流的播放信息,獲取所述目標碼流的播放地址,并在當前碼流的播放過程中,通過訪問所述目標碼流的播放地址,緩存所述目標碼流。
在所述目標碼流的播放信息中,包括所述目標碼流的播放地址,通過查找所述目標碼流的播放信息,即可獲取所述目標碼流的播放地址,再通過訪問該播放地址,即可將目標碼流緩存至電子設備中。
所述目標碼流切換模塊130,用于在所述當前碼流中的目標傳送流TS流播放完畢后,切換至所述目標碼流并播放,其中,所述目標傳送流TS流為所述目標碼流的緩存值達到預設緩存值時,所述當前碼流中正在播放的TS流。
本發(fā)明實施例中,為目標碼流設置相應的預設緩存值。當目標碼流在電子設備內的緩存值達到預設緩存值時,通常認為目標碼流可實現平滑播放,不會出現卡頓現象。
另外,服務器向電子設備傳輸目標碼流時,通常按照TS(transport stream,傳送流)流的形式進行傳輸。相應的,電子設備以TS流的形式緩存所述目標碼流。并且,電子設備通過依次播放各個TS流的形式,實現視頻的播放。
在所述目標碼流的緩存值達到預設緩存值之后,電子設備查看當前碼流中正在播放的目標TS流是否播放完畢,若未完畢,則等待,直到所述目標TS流播放完畢,再播放所述目標碼流。
通過本發(fā)明實施例公開的視頻的碼流切換裝置,能夠實現視頻的碼流切換,并且,切換過程不會中斷視頻播放,從而解決了現有技術中,碼流在切換時會出現中斷,影響用戶觀看體驗的問題。
進一步的,所述視頻的碼流切換裝置還包括:
預設緩存值確定模塊,用于在切換至所述目標碼流并播放之前,確定所述目標碼流的預設緩存值。
其中,所述預設緩存值確定模塊可通過多種形式實現。
在其中一種形式中,所述目標碼流切換模塊包括:
第一確定單元,用于接收緩存值設置操作,并根據所述緩存值設置操作確定所述目標碼流的預設緩存值。
這種情況下,用戶會對電子設備執(zhí)行緩存值設置操作,通過該操作,設置所述預設緩存值。例如,通過用戶的緩存值設置操作,可設定所述預設緩存值為20個TS流,則目標碼流在電子設備中的緩存值達到20個TS流時,確定目標碼流的緩存值達到預設緩存值。
在另一種形式中,所述目標碼流切換模塊包括:
容量確定單元,用于根據所述目標碼流的播放信息,確定所述目標碼流的容量;
第二確定單元,用于根據所述目標碼流的容量以及當前網絡狀態(tài),計算所述目標碼流在順暢播放的情況下,需要緩存的目標碼流的容量,并將所述需要緩存的目標碼流的容量作為所述目標碼流的預設緩存值。
該種形式中,所述播放信息中包含所述目標碼流的容量。在獲取目標碼流的容量后,需要根據所述目標碼流的容量以及當前網絡狀態(tài),計算所述目標碼流在順暢播放的情況下,需要緩存的目標碼流的容量。其中,若當前網絡狀態(tài)較好,網速較快,則所述需要緩存的目標碼流的容量較小,即所述目標碼流的預設緩存值較少,這種情況下,能夠在較短時間內達到目標碼流的預設緩存值,則能夠盡快完成碼流的切換;若當前網絡狀態(tài)較差,網絡較慢,則所述需要緩存的目標碼流的容量較大,即所述目標碼流的預設緩存值較大,才能保證切換至目標碼流進行播放后,目標碼流能夠順暢播放。
這種情況下,能夠使獲取到的目標碼流的預設緩存值符合當前的網絡狀態(tài)。
另外,在本發(fā)明公開的視頻的碼流切換裝置中,若所述目標碼流的播放信息中包含兩個以上播放地址,所述目標碼流緩存模塊120包括:
IP地址獲取單元,用于獲取電子設備的IP地址;
播放地址確定單元,用于根據所述IP地址,從所述兩個以上播放地址中選擇反饋所述目標碼流速度最快的播放地址,并確定所述反饋所述目標碼流速度最快的播放地址為所述目標碼流的播放地址。
另外,在本發(fā)明公開的視頻的碼流切換裝置中,設定所述目傳送流標TS流為所述當前視頻對應的第t個TS流,所述目標碼流切換模塊130用于,在所述當前碼流中的目標傳送流TS流播放完畢后,查找緩存的所述目標碼流中的第(t+1)個TS流,并播放所述目標碼流中的第(t+1)個TS流。
針對同一視頻,不同碼流往往包含相同數量的TS流。在當前碼流中的目標TS流播放完畢后,說明當前視頻的第t個TS流播放完畢。這種情況下,播放目標碼流中的第(t+1)個TS流,能夠保障當前視頻的流暢和完整的播放。
本發(fā)明實施例提供了一種非暫態(tài)計算機存儲介質,所述計算機存儲介質存儲有計算機可執(zhí)行指令,該計算機可執(zhí)行指令可執(zhí)行上述任意方法實施例中的視頻的碼流切換方法。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成。相應的,本發(fā)明實施例還提供了一種計算機程序產品,所述計算機程序產品包括存儲在非暫態(tài)計算機可讀存儲介質上的計算程序,所述計算機程序包括程序指令,當所述程序指令被計算機執(zhí)行時,使所述計算機執(zhí)行上述第一方面任意一個實施例提供的所述視頻的碼流切換方法。所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random AccessMemory,RAM)等。
圖5是本發(fā)明實施例七提供的執(zhí)行視頻的碼流切換方法的電子設備的硬件結構示意圖,如圖5所示,該設備包括:
一個或多個處理器510以及存儲器520,圖5中以一個處理器510為例。
執(zhí)行視頻的碼流切換的設備還可以包括:輸入裝置530和輸出裝置540。
處理器510、存儲器520、輸入裝置530和輸出裝置540可以通過總線或者其他方式連接,圖5中以通過總線連接為例。
存儲器520作為一種非易失性計算機可讀存儲介質,可用于存儲非易失性軟件程序、非易失性計算機可執(zhí)行程序以及模塊,如本發(fā)明實施例中的視頻的碼流切換方法對應的程序指令/模塊(例如,附圖4所示的播放信息獲取模塊110、目標碼流緩存模塊120和目標碼流切換模塊130)。處理器510通過運行存儲在存儲器520中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務器的各種功能應用以及數據處理,即實現上述方法實施例中的視頻的碼流切換方法。
存儲器520可以包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需要的應用程序;存儲數據區(qū)可存儲根據視頻的碼流切換裝置的使用所創(chuàng)建的數據等。此外,存儲器520可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實施例中,存儲器520可選包括相對于處理器510遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至視頻的碼流切換裝置。上述網絡的實例包括但不限于互聯網、企業(yè)內部網、局域網、移動通信網及其組合。
輸入裝置530可接收輸入的數字或字符信息,以及產生與視頻的碼流切換裝置的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置540可包括顯示屏等顯示設備。
所述一個或者多個模塊存儲在所述存儲器520中,當被所述一個或者多個處理器510執(zhí)行時,執(zhí)行上述任意方法實施例中的視頻的碼流切換方法。
上述產品可執(zhí)行本發(fā)明實施例所提供的方法,具備執(zhí)行方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節(jié),可參見本發(fā)明實施例所提供的方法。
本發(fā)明實施例的電子設備以多種形式存在,包括但不限于:
(1)移動通信設備:這類設備的特點是具備移動通信功能,并且以提供話音、數據通信為主要目標。這類終端包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
(2)超移動個人計算機設備:這類設備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網特性。這類終端包括:PDA、MID和UMPC設備等,例如iPad。
(3)便攜式娛樂設備:這類設備可以顯示和播放多媒體內容。該類設備包括:音頻、視頻播放器(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導航設備。
(4)服務器:提供計算服務的設備,服務器的構成包括處理器、硬盤、內存、系統(tǒng)總線等,服務器和通用的計算機架構類似,但是由于需要提供高可靠的服務,因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
(5)其他具有數據交互功能的電子裝置。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對相關技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。