播放視頻的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種播放視頻的方法和裝置。
【背景技術(shù)】
[0002]隨著視頻技術(shù)的不斷發(fā)展,視頻編碼和解碼技術(shù)為視頻文件的存儲帶來了便利。經(jīng)過編碼的視頻中的圖像巾貞可以包括I巾貞(Important frame,關(guān)鍵巾貞)、P巾貞(Predictiveframe,預測巾貞)和B巾貞(Bidirect1nal predictive frame,雙向預測巾貞)。相應(yīng)地,在對視頻進行解碼時,I幀可以基于自身的數(shù)據(jù)直接進行解碼,P幀和B幀需要基于其對應(yīng)的參考圖像幀的數(shù)據(jù)進行解碼,P幀的參考圖像幀為該P幀之前的圖像幀,B幀的參考圖像幀為該B幀之前或該B幀之后的任意兩個圖像幀。一般地,在進行視頻編碼時,可以設(shè)置I幀間隔幀數(shù),以調(diào)節(jié)視頻中I幀的密度,I幀間隔幀數(shù)為相鄰兩個I幀之間間隔的其它類型的圖像幀(P幀和B幀)的數(shù)目。
[0003]在播放視頻的過程中,用戶常常會對當前播放的視頻進行跳轉(zhuǎn)操作,即用戶通過點擊當前視頻中的進度條上的任一位置,以使終端將當前播放的視頻由一個播放時間點跳轉(zhuǎn)到用戶指定的播放時間點繼續(xù)播放。當用戶對當前視頻進行跳轉(zhuǎn)時,終端根據(jù)當前視頻的時長和用戶在進度條上點擊的位置,確定跳轉(zhuǎn)時間點,終端根據(jù)預先存儲的當前視頻中所有I幀的時間點,確定位于跳轉(zhuǎn)時間點之前的I幀,并在位于跳轉(zhuǎn)時間點之前的I幀中,確定與跳轉(zhuǎn)時間點的時間差最小的目標I幀,終端從目標I幀開始,播放該視頻。雖然I幀基于自身的數(shù)據(jù)進行解碼,但是I幀的數(shù)據(jù)量一般較大,在進行視頻編碼時,如果視頻中設(shè)置的I幀的密度較大,會導致視頻的壓縮率較低,為了保證視頻的壓縮率,一般會將相鄰兩個I幀之間的時間間隔設(shè)置的比較大,如10秒。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005]由于相鄰兩個I幀的時間間隔都較大,很可能會出現(xiàn)目標I幀與跳轉(zhuǎn)時間點的時間差較大的情況,經(jīng)常會達到4秒或5秒,這樣使得視頻的跳轉(zhuǎn)精度較低。
【發(fā)明內(nèi)容】
[0006]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種播放視頻的方法和裝置。所述技術(shù)方案如下:
[0007]第一方面,提供了一種播放視頻的方法,所述方法包括:
[0008]接收跳轉(zhuǎn)請求,所述跳轉(zhuǎn)請求中攜帶有跳轉(zhuǎn)時間點;
[0009]根據(jù)所述跳轉(zhuǎn)時間點,在當前視頻的關(guān)鍵幀和多個預先標記的間隔預測幀中,選取與所述跳轉(zhuǎn)時間點滿足預設(shè)的時間差條件的目標圖像幀;其中,各間隔預測幀兩兩之間間隔有至少一個圖像幀且間隔幀數(shù)小于關(guān)鍵幀間隔幀數(shù),且每個間隔預測幀的參考圖像幀為關(guān)鍵幀或其它間隔預測幀;
[0010]從所述目標圖像幀開始,播放所述當前視頻。
[0011]第二方面,提供了一種播放視頻的裝置,所述裝置包括:
[0012]接收模塊,用于接收跳轉(zhuǎn)請求,所述跳轉(zhuǎn)請求中攜帶有跳轉(zhuǎn)時間點;
[0013]選取模塊,用于根據(jù)所述跳轉(zhuǎn)時間點,在當前視頻的關(guān)鍵幀和多個預先標記的間隔預測幀中,選取與所述跳轉(zhuǎn)時間點滿足預設(shè)的時間差條件的目標圖像幀;其中,各間隔預測幀兩兩之間間隔有至少一個圖像幀且間隔幀數(shù)小于關(guān)鍵幀間隔幀數(shù),且每個間隔預測幀的參考圖像幀為關(guān)鍵幀或其它間隔預測幀;
[0014]播放模塊,用于從所述目標圖像幀開始,播放所述當前視頻。
[0015]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0016]本發(fā)明實施例中,接收跳轉(zhuǎn)請求,跳轉(zhuǎn)請求中攜帶有跳轉(zhuǎn)時間點,根據(jù)跳轉(zhuǎn)時間點,在當前視頻的關(guān)鍵幀和多個預先標記的間隔預測幀中,選取與跳轉(zhuǎn)時間點滿足預設(shè)的時間差條件的目標圖像幀,其中,各間隔預測幀兩兩之間間隔有至少一個圖像幀且間隔幀數(shù)小于關(guān)鍵幀間隔幀數(shù),且每個間隔預測幀的參考圖像幀為關(guān)鍵幀或其它間隔預測幀,從目標圖像幀開始,播放當前視頻,這樣,由于相鄰兩個間隔預測幀的時間差小于相鄰兩個關(guān)鍵幀的時間差,因此,目標圖像幀的時間點到跳轉(zhuǎn)時間點的時間差小于或等于現(xiàn)有技術(shù)中目標關(guān)鍵幀的時間點到跳轉(zhuǎn)時間點的時間差,從而,可以提高視頻的跳轉(zhuǎn)精度。
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明實施例提供的一種播放視頻的方法流程圖;
[0019]圖2是本發(fā)明實施例提供的一種圖像幀排布示意圖;
[0020]圖3是本發(fā)明實施例提供的一種播放視頻的裝置結(jié)構(gòu)示意圖;
[0021]圖4是本發(fā)明實施例提供的一種終端結(jié)構(gòu)示意圖。
【具體實施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0023]實施例一
[0024]本發(fā)明實施例提供了一種播放視頻的方法,如圖1所示,該方法的處理流程可以包括如下的步驟:
[0025]步驟101,接收跳轉(zhuǎn)請求,跳轉(zhuǎn)請求中攜帶有跳轉(zhuǎn)時間點。
[0026]步驟102,根據(jù)跳轉(zhuǎn)時間點,在當前視頻的I幀和多個預先標記的間隔P幀(間隔預測幀)中,選取與跳轉(zhuǎn)時間點滿足預設(shè)的時間差條件的目標圖像幀;其中,各間隔P幀兩兩之間間隔有至少一個圖像幀且間隔幀數(shù)小于I幀間隔幀數(shù),且每個間隔P幀的參考圖像幀為I幀或其它間隔P幀。
[0027]步驟103,從目標圖像幀開始,播放當前視頻。
[0028]本發(fā)明實施例中,接收跳轉(zhuǎn)請求,跳轉(zhuǎn)請求中攜帶有跳轉(zhuǎn)時間點,根據(jù)跳轉(zhuǎn)時間點,在當前視頻的I幀和多個預先標記的間隔P幀中,選取與跳轉(zhuǎn)時間點滿足預設(shè)的時間差條件的目標圖像幀,其中,各間隔P幀兩兩之間間隔有至少一個圖像幀且間隔幀數(shù)小于I幀間隔幀數(shù),且每個間隔P幀的參考圖像幀為I幀或其它間隔P幀,從目標圖像幀開始,播放當前視頻,這樣,由于相鄰兩個間隔P幀的時間差小于相鄰兩個I幀的時間差,因此,目標圖像幀的時間點到跳轉(zhuǎn)時間點的時間差小于或等于現(xiàn)有技術(shù)中目標I幀的時間點到跳轉(zhuǎn)時間點的時間差,從而,可以提高視頻的跳轉(zhuǎn)精度。
[0029]實施例二
[0030]本發(fā)明實施例提供了一種播放視頻的方法,該方法可以由終端實現(xiàn)。其中的終端可以是具有播放視頻功能的終端,如手機、平板電腦等。
[0031]下面將結(jié)合【具體實施方式】,對圖1所示的處理流程進行詳細的說明,內(nèi)容可以如下:
[0032]步驟101,接收跳轉(zhuǎn)請求,跳轉(zhuǎn)請求中攜帶有跳轉(zhuǎn)時間點。
[0033]在實施中,用戶通過終端中的視頻播放器播放視頻,該視頻可以是終端本地存儲的本地視頻,也可以是從服務(wù)器實時獲取的網(wǎng)絡(luò)視頻,此時,視頻播放器可以獲取當前播放的視頻的時長,可以將該時長顯示在視頻播放器的進度條上。已編碼的視頻中可以包括I幀、P幀和B幀,視頻播放器中攜帶有解碼器,用于對視頻中的圖像幀進行解碼,不同的視頻文件格式的視頻對應(yīng)的解碼器可以不同,而且,解碼器中可以保存有相應(yīng)格式視頻中的I中貞的時間點,例如,視頻文件格式為mp4 (Moving Pictures Experts Group4,動態(tài)圖像專家組4)的視頻對應(yīng)的解碼器的STBL(Sample Table Box,樣本表盒)字段中記錄了 I幀的時間點。
[0034]當用戶需要將視頻由當前時間點跳轉(zhuǎn)到該用戶指定的播放時間點播放時,用戶可以點擊視頻播放器中的進度條上的某一位置,然后,根據(jù)當前視頻的時長和用戶在進度條上點擊的位置,確定跳轉(zhuǎn)時間點,例如,當前視頻的時長為L,若進度條預先劃分成100個單位長度,用戶在進度條上點擊的位置位于第k個單位長度,則跳轉(zhuǎn)時間點Tl = LX k/100,在計算的過程中,可以將跳轉(zhuǎn)時間點Tl的結(jié)果精確到微秒,以提高跳轉(zhuǎn)時間點的精度。此時可以觸發(fā)生成攜帶有跳轉(zhuǎn)時間點的跳轉(zhuǎn)請求,視頻播放器接收跳轉(zhuǎn)請求。視頻播放器的界面內(nèi)可以顯示提示信息,例如,正在加載視頻數(shù)據(jù)等。
[0035]步驟102,根據(jù)跳轉(zhuǎn)時間點,在當前視頻的I幀和多個預先標記的間隔P幀(間隔預測幀)中,選取與跳轉(zhuǎn)時間點滿足預設(shè)的時間差條件的目標圖像幀;其中,各間隔P幀兩兩之間間隔有至少一個圖像幀且間隔幀數(shù)小于I幀間隔幀數(shù),且每個間隔P幀的參考圖像幀為I幀或其它間隔P幀。
[0036]其中,間隔P幀是一種特殊的P巾貞,間隔P幀可以是在P幀的基礎(chǔ)上添加一個額外的標識,以標記該P幀為間隔P幀。優(yōu)選的,間隔P幀的參考圖像幀可以是該間隔P幀之前與其最接近的I幀,或是該間隔P幀與該I幀之間的其它間隔P幀,例如,該間隔P幀之前與其最接近的間隔P幀。在對視頻進行編碼時,可以設(shè)置間隔P幀之后的任一圖像幀的參考圖像中貞不為該間隔P巾貞之前的圖像巾貞。間隔P巾貞還可以稱作LDP (Long Distance Predictive,遠距離預測)幀。
[0037]可選地,預設(shè)的時間差條件可以為與跳轉(zhuǎn)時間點的時間差小于預設(shè)閾值,或者可以為與跳轉(zhuǎn)時間點的時間差小于當前視頻的I幀和多個預先標記的間隔P幀中的其它圖像幀。