国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      快進快退的處理方法及終端與流程

      文檔序號:11064977閱讀:1021來源:國知局
      快進快退的處理方法及終端與制造工藝

      本發(fā)明涉及流媒體通信技術領域,尤其涉及一種快進快退的處理方法及終端。



      背景技術:

      目前OTT(Over The Top)業(yè)務是互聯(lián)網(wǎng)業(yè)務中最常見的業(yè)務,且基于開放互聯(lián)網(wǎng)的OTT移動視頻服務業(yè)務是將來滿足直播(Live)、點播(On Demand)以及時移(Time Shift)等諸多應用需求的最佳解決方案之一。

      常見的OTT業(yè)務的播放控制采用的是碼流自適應方式,常用的協(xié)議包括:Http Live Streaming,MPEG DASH,Microsoft Smooth Streaming等等。且一般的OTT業(yè)務在快進快退時都是采用底層定位的方式,這種方式下的當前節(jié)目的快進快退的用戶體驗比網(wǎng)絡協(xié)定電視(Internet Protocol Television,IPTV)業(yè)務中的快進快退的用戶體驗要差,其中IPTV業(yè)務是采用的I幀(I Frame)播放模式實現(xiàn)快進快退的。其中,I幀是一種全幀壓縮編碼幀,也可稱為幀內編碼幀,I幀的數(shù)據(jù)量一般比較大,且I幀不需要參考其他幀而生成,屬于參考幀,解碼時僅用一個I鎮(zhèn)就可以重構一個完整的圖像。

      目前,OTT視頻播放使用的協(xié)議也在考慮支持快進快退的I幀播放模式,且基于OTT視頻播放業(yè)務,一般是終端從服務器將當前正在播放的節(jié)目的所有I幀的I幀數(shù)據(jù)都下載下來,在進入快進快退的狀態(tài)之后,依次將下載的I幀數(shù)據(jù)輸出。

      然而,由于I幀的數(shù)據(jù)量較大,下載當前節(jié)目的所有I幀對帶寬的要求較高。

      上述內容僅用于輔助理解本發(fā)明的技術方案,并不代表承認上述內容是現(xiàn)有技術。



      技術實現(xiàn)要素:

      本發(fā)明的主要目的在于提供一種快進快退的處理方法及終端,旨在解決現(xiàn)有技術中在實現(xiàn)快進快退時需要下載大量的I幀的I幀數(shù)據(jù)帶來的對帶寬的要求太高的問題。

      為實現(xiàn)上述目的,本發(fā)明提供一種快進快退的處理方法,包括:

      當接收到快進或快退請求時,根據(jù)當前節(jié)目已播放時長、預先保存的所述當前節(jié)目的各I幀的索引信息及所述快進或快退請求中包含的倍速選取I幀,得到I幀序列;

      每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且所述數(shù)據(jù)請求消息中依次攜帶所述I幀序列中的I幀的索引信息;

      接收并解碼輸出所述服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)。

      優(yōu)選地,所述當接收到快進或快退請求時,根據(jù)當前節(jié)目已播放時長、預先保存的所述當前節(jié)目的各I幀的索引信息及所述快進或快退請求中包含的倍速選取I幀,得到I幀序列,包括:

      當接收到快進請求或快退請求時,根據(jù)所述快進或快退的倍速確定第二時長;

      根據(jù)所述當前節(jié)目已播放時長,所述第二時長及所述當前節(jié)目的各I幀的時間點選取I幀,得到所述I幀序列,所述I幀的時間點包含在所述I幀的索引信息中。

      優(yōu)選地,所述根據(jù)所述當前節(jié)目已播放時長,所述第二時長及所述當前節(jié)目的各I幀的時間點選取I幀,得到所述I幀序列,包括:

      若為快進,則m的初始值為0,執(zhí)行以下步驟:

      步驟1:將所述當前節(jié)目已播放時長加上m倍的所述第二時長的和作為有效時間點;

      步驟2:根據(jù)所述當前節(jié)目的各I幀的時間點,判斷所述有效時間點往后是否還有I幀;

      步驟3:若所述有效時間點往后還有I幀,則往后選取時間點與所述有效時間點最近的一個I幀作為所述I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若所述有效時間點往后沒有I幀,則結束對I幀的選取。

      優(yōu)選地,所述根據(jù)所述當前節(jié)目已播放時長,所述第二時長及所述當前節(jié)目的各I幀的索引信息中包含的I幀的時間點選取I幀,得到所述I幀序列,包括:

      若為快退,則m的初始值為0,執(zhí)行以下步驟:

      步驟1:將所述當前節(jié)目已播放時長減去m倍的所述第二時長的差作為有效時間點;

      步驟2:根據(jù)所述當前節(jié)目的各I幀的時間點,判斷所述有效時間點往前是否還有I幀;

      步驟3:若所述有效時間點往前還有I幀,則往前選取時間點與所述有效時間點最近的一個I幀作為所述I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若所述有效時間點往前沒有I幀,則結束對I幀的選取。

      優(yōu)選地,所述預先設置的第一時長為預先設置的小于或等于1秒的時間值,或者為基于所述倍速計算得到的小于或等于1秒的時間值。

      為了解決上述問題,本發(fā)明還提供一種終端,包括:

      選取模塊,用于當接收到快進或快退請求時,根據(jù)當前節(jié)目已播放時長、預先保存的所述當前節(jié)目的各I幀的索引信息及所述快進或快退請求中包含的倍速選取I幀,得到I幀序列;

      發(fā)送模塊,用于在所述選取模塊得到所述I幀序列之后,每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且所述數(shù)據(jù)請求消息中依次攜帶所述I幀序列中的I幀的索引信息;

      接收輸出模塊,用于在所述發(fā)送模塊發(fā)送數(shù)據(jù)請求消息之后,接收并解碼輸出所述服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)。

      優(yōu)選地,所述選取模塊包括:

      時長確定模塊,用于當接收到快進請求或快退請求時,根據(jù)所述快進或快退的倍速確定第二時長;

      幀選取模塊,用于在所述時長確定模塊確定所述第二時長之后,根據(jù)所述當前節(jié)目已播放時長,所述第二時長及所述當前節(jié)目的各I幀的時間點選取I幀,得到所述I幀序列,所述I幀的時間點包含在所述I幀的索引信息 中。

      優(yōu)選地,所述幀選取模塊具體用于:

      若為快進,則m的初始值為0,執(zhí)行以下步驟:

      步驟1:將所述當前節(jié)目已播放時長加上m倍的所述第二時長的和作為有效時間點;

      步驟2:根據(jù)所述當前節(jié)目的各I幀的時間點,判斷所述有效時間點往后是否還有I幀;

      步驟3:若所述有效時間點往后還有I幀,則往后選取時間點與所述有效時間點最近的一個I幀作為所述I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若所述有效時間點往后沒有I幀,則結束對I幀的選取。

      優(yōu)選地,所述幀選取模塊具體用于:

      若為快退,則m的初始值為0,執(zhí)行以下步驟:

      步驟1:將所述當前節(jié)目已播放時長減去m倍的所述第二時長的差作為有效時間點;

      步驟2:根據(jù)所述當前節(jié)目的各I幀的時間點,判斷所述有效時間點往前是否還有I幀;

      步驟3:若所述有效時間點往前還有I幀,則往前選取時間點與所述有效時間點最近的一個I幀作為所述I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若所述有效時間點往前沒有I幀,則結束對I幀的選取。

      優(yōu)選地,所述預先設置的第一時長為預先設置的小于或等于1秒的時間值,或者為基于所述倍速計算得到的小于或等于1秒的時間值。

      本發(fā)明提供的快進快退的方法的實施例是在接收到快進或快退請求時,終端根據(jù)當前節(jié)目已播放時長、預先保存的當前節(jié)目的各I幀的索引信息及快進快退請求中包含的倍速選取I幀,得到I幀序列,且每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且發(fā)送的數(shù)據(jù)請求消息中依次攜帶該I幀序列中的一個I幀,終端還將接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀的數(shù)據(jù),以實現(xiàn)快進快退。由于選取的I幀為當前節(jié)目的一部分I幀,使得在實現(xiàn)快進快退時,不需要將當前節(jié)目的所有I 幀的I幀數(shù)據(jù)都下載下來,能夠在實現(xiàn)快進快退的輸出效果的同時有效的減少I幀數(shù)據(jù)的下載量,且I幀數(shù)據(jù)下載量的降低能夠有效降低對寬帶的要求。

      附圖說明

      圖1為本發(fā)明快進快退的處理方法的第一實施例的流程示意圖;

      圖2為本發(fā)明快進快退的處理方法的第二實施例的流程示意圖;

      圖3為本發(fā)明終端的第一實施例的功能模塊的示意圖;

      圖4為本發(fā)明終端的第二實施例的功能模塊的示意圖。

      本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。

      具體實施方式

      應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      本發(fā)明實施例的主要解決方案是:在接收到快進或快退請求時,終端根據(jù)當前節(jié)目已播放時長、預先保存的當前節(jié)目的各I幀的索引信息及快進快退請求中包含的倍速選取I幀,得到I幀序列,該I幀序列中包含當前節(jié)目的部分I幀。終端在選取該I幀序列之后,每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且發(fā)送的數(shù)據(jù)請求消息中依次攜帶該I幀序列中的一個I幀,且終端還將接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀的數(shù)據(jù),以實現(xiàn)快進快退。由于選取的I幀為當前節(jié)目的一部分I幀,使得在實現(xiàn)快進快退的過程中,不需要將當前節(jié)目的所有I幀的I幀數(shù)據(jù)都下載下來,能夠在實現(xiàn)快進快退的輸出效果的同時有效的減少I幀數(shù)據(jù)的下載量,且I幀數(shù)據(jù)下載量的降低能夠有效降低對寬帶的要求。

      具體地,請參閱圖1,為本發(fā)明提出的一種快進快退的處理方法的第一實施例的示意圖,該方法包括:

      步驟101、當接收到快進或快退請求時,根據(jù)當前節(jié)目已播放時長、預先保存的當前節(jié)目的各I幀的索引信息及快進或快退請求中包含的倍速選取I幀,得到I幀序列;

      在本發(fā)明實施例中,終端在最初開始播放節(jié)目時,將向服務器發(fā)送I幀 索引信息請求消息,服務器在接收到該I幀索引信息請求消息之后,將解析該終端當前節(jié)目的視頻源,獲取該當前節(jié)目的各I幀的索引信息,并將獲取到的各I幀的索引信息反饋給終端。

      其中,終端在接收到其當前節(jié)目的各I幀的索引信息之后,將保存該當前節(jié)目的各I幀的索引信息。

      其中,I幀的索引信息至少包含I幀的時間點,且I幀的時間點是指該I幀在當前節(jié)目中所處的時間點。

      此外,I幀的索引信息中還可以包括I幀所在分片的名稱、I幀在分片中的偏移位置及I幀的大小等等參數(shù)。

      在本發(fā)明實施例中,用戶可通過遙控器控制或者觸摸屏觸摸等方式向終端發(fā)出快進或快退的請求,該快進或快退的請求中包含快進或快退的倍速,其中,快進或快退的倍速可以是2、4、8、16等等。

      終端在接收到該快進或快退請求之后,將根據(jù)當前節(jié)目已播放時長、預先保存的該當前節(jié)目的各I幀的索引信息及該快進或快退請求中包含的倍速選取I幀,得到I幀序列。

      其中,終端在接收到快進或快退請求之后,將停止正常播放速度的播放模式,且終端將獲取到當前節(jié)目在接收到快進或快退請求時的已播放時長,例如:若在當前節(jié)目播放10分鐘的時候接收到快進或快退請求,則當前節(jié)目已播放時長為10分鐘。

      在本發(fā)明實施例中,終端可以是電視機、電腦、機頂盒、PAD、智能手機等等。

      步驟102、每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;

      步驟103、接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀的數(shù)據(jù)。

      在本發(fā)明實施例中,終端在選取I幀并得到I幀序列之后,將每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息。

      需要說明的是,在本發(fā)明實施例中,I幀序列中的I幀是按照時間點的先后順序進行排列的,若是在快進情況下得到的I幀序列,則I幀序列中的I 幀是按照時間點逐漸增大的順序排列的,若是在快退情況下得到的I幀序列,則I幀序列中的I幀是按照時間點逐漸減小的順序排列的。

      終端每發(fā)送一個數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息中都將包含I幀序列中的I幀的索引信息,且終端是按照I幀序列中的I幀的排列順序依次攜帶在數(shù)據(jù)請求消息中發(fā)送的。

      例如:I幀序列為[I0,I1,I2,I3,……,I10],則終端在得到該I幀序列之后,將每間隔預先設置的第一時長,依次發(fā)送攜帶I0的索引信息的數(shù)據(jù)請求消息、攜帶I1的索引信息的數(shù)據(jù)請求消息,攜帶I2的索引信息的數(shù)據(jù)請求消息、攜帶I3的索引信息的數(shù)據(jù)請求消息,……,攜帶I10的索引信息的數(shù)據(jù)請求消息。

      其中,終端在向服務器發(fā)送數(shù)據(jù)請求消息時,其攜帶的I幀的索引信息包含該I幀的時間點、I幀所在分片名稱、I幀在分片的偏移位置及I幀大小。

      服務器在接收到數(shù)據(jù)請求消息之后,將利用其攜帶的I幀的索引信息中的I幀的時間點確定I幀在當前節(jié)目的總時長上的位置,并利用I幀所在的分片名稱確定I幀所在的分片,且在確定分片之后,利用I幀在該分片中的偏移位置及I幀大小提取I幀數(shù)據(jù),且將提取的I幀數(shù)據(jù)反饋給終端。

      服務器每次接收到數(shù)據(jù)請求消息之后,都將按照上述方式基于I幀的索引信息確定對應的I幀數(shù)據(jù),并將獲取到的I幀數(shù)據(jù)反饋給終端。且終端每次在接收到I幀數(shù)據(jù)之后,都將對接收到I幀數(shù)據(jù)進行解碼輸出,使得能夠在終端的顯示界面上顯示快進或快退的輸出效果。

      在本發(fā)明實施例中,當終端接收到快進或快退請求時,將根據(jù)當前節(jié)目已播放時長、當前節(jié)目各I幀的索引信息及快進或快退的倍速選取I幀,得到I幀序列,且每隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息,在接收到服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)后,終端將解碼輸出該I幀數(shù)據(jù)。通過上述方式,使得只需要從服務器下載選取的部分的I幀即可實現(xiàn)快進快退的輸出效果,而不需要將當期節(jié)目的所有I幀下載下來,有效減少I幀數(shù)據(jù)的下載量,且能夠有效的降低對寬帶的要求。

      為了更好的理解本發(fā)明實施例中的技術方案,請參閱圖2,為本發(fā)明提供 的快進快退的處理方法的第二實施例的示意圖,該方法中的步驟201和步驟202是對第一實施例中的步驟101的細化,具體的,該方法包括:

      步驟201、當接收到快進請求或快退請求時,根據(jù)快進或快退的倍速確定第二時長;

      在本發(fā)明實施例中,當接收到快進或快退請求時,終端將根據(jù)快進或快退的倍速確定第二時長,其中,該第二時長用于選取I幀。

      其中,快進或快退的倍速是攜帶在快進或快退請求中的,使用終端的用戶可以通過選擇確定快進或快退的倍速。

      進一步的,根據(jù)快進或快退的倍速確定第二時長可以是:若快進或快退的倍速為N,則確定第二時長為N秒,或者確定第二時長為N秒的倍速。

      進一步的,第二時長可以與第一時長相關,該第一時長是預先設置的向服務器發(fā)送數(shù)據(jù)請求消息的時間間隔,具體的:第二時長等于快進或快退的倍速與第一時長的乘積,即若第一時長為1秒,倍速為N時,則確定第二時長為N秒,若第一時長為1/3秒時,則確定第二時長為N/3秒。

      步驟202、根據(jù)當前節(jié)目已播放時長,第二時長及當前節(jié)目的各I幀的索引信息中包含的I幀的時間點選取I幀,得到I幀序列;

      在本發(fā)明實施例中,終端還將根據(jù)當前節(jié)目已播放時長,第二時長及當前節(jié)目的各I幀的時間點選取I幀,得到I幀序列,其中,I幀的索引信息中包含I幀的時間點,此外,I幀的索引信息中還可包含I幀的時間點、I幀所在分片的名稱、I幀在分片的偏移位置及I幀大小等等參數(shù)。

      下面將基于快進和快退不同的情況分別描述終端選取I幀的過程:

      若為快進,則m的初始值為0,終端執(zhí)行以下步驟:

      步驟1:將當前節(jié)目已播放時長加上m倍的第二時長的和作為有效時間點;

      步驟2:根據(jù)當前節(jié)目的各I幀的時間點,判斷有效時間點往后是否還有I幀;

      步驟3:若有效時間點往后還有I幀,則往后選取時間點與有效時間點最近的一個I幀作為I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若有效時間點往后沒有I幀,則結束對I幀的選取。

      或者;

      若為快退,則m的初始值為0,終端執(zhí)行以下步驟:

      步驟1:將當前節(jié)目已播放時長減去m倍的第二時長的差作為有效時間點;

      步驟2:根據(jù)當前節(jié)目的各I幀的時間點,判斷有效時間點往前是否還有I幀;

      步驟3:若有效時間點往前還有I幀,則往前選取時間點與有效時間點最近的一個I幀作為I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若有效時間點往前沒有I幀,則結束對I幀的選取。

      需要說明的是,按照上述方式得到的I幀序列,該I幀序列中的I幀是按照時間點的先后順序排列的,便于在向服務器發(fā)送數(shù)據(jù)請求消息時,能夠按照I幀的時間點的順序依次將I幀的索引信息攜帶在數(shù)據(jù)請求消息中,且使得終端接收到的I幀數(shù)據(jù)也將是按照時間點順序排列的,這樣終端能夠按照時間點的先后順序依次解碼輸出I幀數(shù)據(jù),具有較好的快進快退的輸出效果,避免輸出出現(xiàn)紊亂。

      需要說明的是,在本發(fā)明實施例中,往前往后是基于當前節(jié)目的播放時間來描述的,若是快進,則是往該當前節(jié)目未播放的時間的方向,若是快退,則是往該當前節(jié)目已播放時間的方向。

      步驟203、每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;

      在本發(fā)明實施例中,終端將每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息。

      具體的:在sT時刻,終端向服務器發(fā)送數(shù)據(jù)請求消息,數(shù)據(jù)請求消息中攜帶I幀序列中的第s+1個I幀,其中,s的值為[0,1,2,……,S],T為第一時長,且I幀序列中包含S+1個I幀。其中,當s為0時,是表示終端在得到I幀序列之后,將立即開始向服務器發(fā)送攜帶I幀序列中的第1個I幀的數(shù)據(jù)請求消息。

      在本發(fā)明實施例中,該預先設置的第一時長可以是預先設置的小于或等于1秒的時間值,或者為基于倍速計算得到的小于或等于1秒的時間值。

      例如:若該第一時長為1秒,則終端將每隔1秒發(fā)送一次數(shù)據(jù)請求消息,且通過每秒發(fā)送一次數(shù)據(jù)請求消息,可以實現(xiàn)通過第一時長作為步長的速度來體現(xiàn)不同快進或快退的倍速之間的差異,用戶體驗好。

      進一步的,終端還可基于快進或快退的倍速計算第一時長,在倍速為N時,則第一時長為1/logsN,其中s大于1,例如:若快進或快退的倍速為8,則終端每隔1/3秒向服務器發(fā)送一個數(shù)據(jù)請求消息。

      需要說明的是,在本發(fā)明實施例中,數(shù)據(jù)請求消息是一種超文本傳輸協(xié)議(Hyper Text Transfer Protocol,http)請求。

      步驟204、接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)。

      在本發(fā)明實施例中,服務器在接收到終端發(fā)送的數(shù)據(jù)請求消息之后,解析該數(shù)據(jù)請求消息,獲取該數(shù)據(jù)請求消息中包含的I幀的索引信息,并根據(jù)該I幀的索引信息獲取相應的I幀數(shù)據(jù),并將獲取的I幀數(shù)據(jù)反饋給終端。

      終端在接收到服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)之后,將對該I幀數(shù)據(jù)進行解碼輸出,由于終端是每間隔一個第一時長向服務器發(fā)送數(shù)據(jù)請求消息,則終端也將每間隔一個時長接收到服務器反饋的I幀數(shù)據(jù),使得能夠在終端的顯示界面上實現(xiàn)快進快退的有效輸出。

      其中,終端在解碼I幀數(shù)據(jù)之后,可以按照正常的播放模式輸出解碼后的I幀數(shù)據(jù),也可以按照I幀的播放模式輸出解碼后的I幀數(shù)據(jù),在實際應用中科根據(jù)具體的需要進行設置,此處不做限定。

      需要說明的是,在本發(fā)明實施例中,終端是循環(huán)執(zhí)行步驟203和步驟204的,即終端每次發(fā)送一個數(shù)據(jù)請求消息之后,都要接收一次服務器根據(jù)該數(shù)據(jù)請求消息中包含的I幀的索引信息反饋的I幀數(shù)據(jù)并解碼輸出,并在距離上一次發(fā)送間隔第一時長的情況下,發(fā)送一次數(shù)據(jù)請求消息,并接收服務器的反饋的I幀數(shù)據(jù)并解碼輸出,依次類推,直至針對I幀序列中的每一個I幀都發(fā)送了一個數(shù)據(jù)請求消息并接收了反饋的I幀數(shù)據(jù)。且在執(zhí)行步驟203和步驟204過程中,終端的輸出界面將形成快進快退的輸出效果。

      在本發(fā)明實施例中,當接收到快進或快退請求時,根據(jù)快進或快退的倍速確定第二時長,并根據(jù)當前節(jié)目已播放時長,第二時長及當前節(jié)目的各I幀的索引信息中包含的I幀時間選取I幀,得到I幀序列,且在得到I幀序列之后,終端將每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;且終端還將接收并解碼輸出服務器根據(jù)接收到的數(shù)據(jù)請求消息中的I幀的索引信息反饋 的I幀數(shù)據(jù)。通過上述的方式,使得僅需要從服務器下載選取的I幀序列中的I幀,而不需要下載當前節(jié)目中的所有I幀,能夠有效的降低I幀的下載量,降低對寬帶的要求。

      為了更好的理解本發(fā)明實施例中的技術方案,下面將詳細介紹一個具體的應用場景,包括:

      1)終端接收到快進請求中,提取該快進請求中包含的快進倍速N,及確定當前節(jié)目已播放時長T1;

      2)終端確定向服務器發(fā)送數(shù)據(jù)請求消息的時間間隔第一時長為1/logsN,用于選取I幀的第二時長為N/logsN;

      3)終端利用第二時長N/logsN,當前節(jié)目已播放時長T1及終端已保存的當前節(jié)目的各I幀的時間點確定I幀序列,該I幀序列為[I0,I1,I2,I3,……,I10];

      4)終端向服務器發(fā)送數(shù)據(jù)請求消息,請求I幀序列中的I0的I幀數(shù)據(jù);

      5)終端接收服務器反饋的I0的I幀數(shù)據(jù),并解碼輸出;

      6)終端向服務器發(fā)送數(shù)據(jù)請求消息,請求I幀序列中的I1的I幀數(shù)據(jù);

      7)終端接收服務器反饋的I1的I幀數(shù)據(jù),并解碼輸出;

      ……

      8)終端向服務器發(fā)送數(shù)據(jù)請求消息,請求I幀序列中的I10的I幀數(shù)據(jù);

      9)終端接收服務器反饋的I10的I幀數(shù)據(jù),并解碼輸出。

      在本發(fā)明實施例中,N倍速快進或快退時,每秒的節(jié)目時間步長為N,但是不用每秒獲取N秒內的所有I幀,而是1/T0個I幀,該T0是指第一時長,這樣就可以很大程度上減少需要下載的I幀的數(shù)量,降低對帶寬的需求,同時,倍數(shù)越大,獲取的I幀個數(shù)也多,輸出的快進快退的畫面切換效果更好,也能進一步提升用戶體驗。

      在本發(fā)明實施例中,通過對當前節(jié)目的各I幀進行選取,使得只需要下載部分I幀的I幀數(shù)據(jù),而不需要下載當前節(jié)目的所有I幀的I幀數(shù)據(jù),能夠有效的減少I幀數(shù)據(jù)的下載量,同時降低對寬帶的要求。

      請參閱圖3,為本發(fā)明實施例中終端的結構的實施例,包括:

      選取模塊301,用于當接收到快進或快退請求時,根據(jù)當前節(jié)目已播放時長、預先保存的當前節(jié)目的各I幀的索引信息及快進或快退請求中包含的倍 速選取I幀,得到I幀序列;

      發(fā)送模塊302,用于在選取模塊301得到I幀序列之后,每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;

      接收輸出模塊303,用于在發(fā)送模塊302發(fā)送數(shù)據(jù)請求消息之后,接收并解碼輸出服務器根據(jù)接收到的I幀索引信息反饋的I幀數(shù)據(jù)。

      在本發(fā)明實施例中,終端在最初開始播放節(jié)目時,將向服務器發(fā)送I幀索引信息請求消息,服務器在接收到該I幀索引信息請求消息之后,將解析該終端當前節(jié)目的視頻源,獲取該當前節(jié)目的各I幀的索引信息,并將獲取到的各I幀的索引信息反饋給終端。

      其中,終端在接收到其當前節(jié)目的各I幀的索引信息之后,將保存該當前節(jié)目的各I幀的索引信息。

      其中,I幀的索引信息至少包含I幀的時間點,且I幀的時間點是指該I幀在當前節(jié)目中所處的時間點。

      此外,I幀的索引信息中還可以包括I幀所在分片的名稱、I幀在分片中的偏移位置及I幀的大小等等參數(shù)。

      在本發(fā)明實施例中,用戶可通過遙控器控制或者觸摸屏觸摸等方式向終端發(fā)出快進或快退的請求,該快進或快退的請求中包含快進或快退的倍速,其中,快進或快退的倍速可以是2、4、8、16等等。

      終端在接收到該快進或快退請求之后,將根據(jù)當前節(jié)目已播放時長、預先保存的該當前節(jié)目的各I幀的索引信息及該快進或快退請求中包含的倍速選取I幀,得到I幀序列。

      其中,終端在向服務器發(fā)送數(shù)據(jù)請求消息時,其攜帶的I幀的索引信息包含該I幀的時間點、I幀所在分片名稱、I幀在分片的偏移位置及I幀大小。

      服務器在接收到數(shù)據(jù)請求消息之后,將利用其攜帶的I幀的索引信息中的I幀的時間點確定I幀在當前節(jié)目的總時長上的位置,并利用I幀所在的分片名稱確定I幀所在的分片,且在確定分片之后,利用I幀在該分片中的偏移位置及I幀大小提取I幀數(shù)據(jù),且將提取的I幀數(shù)據(jù)反饋給終端。

      在本發(fā)明實施例中,終端可以是電視機、電腦、機頂盒、PAD、智能手機等等。

      在本發(fā)明實施例中,當接收到快進或快退請求時,選取模塊301根據(jù)當前節(jié)目已播放時長、預先保存的當前節(jié)目的各I幀的索引信息及快進或快退請求中包含的倍速選取I幀,得到I幀序列;接著,發(fā)送模塊302每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;且由接收輸出模塊303接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)。

      在本發(fā)明實施例中,當終端接收到快進或快退請求時,將根據(jù)當前節(jié)目已播放時長、當前節(jié)目各I幀的索引信息及快進或快退的倍速選取I幀,得到I幀序列,且每隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息,在接收到服務器根據(jù)接收到的數(shù)據(jù)請求消息包含的I幀索引信息反饋的I幀數(shù)據(jù)后,終端將解碼輸出該I幀數(shù)據(jù)。通過上述方式,使得只需要從服務器下載選取的部分的I幀即可實現(xiàn)快進快退的輸出效果,而不需要將當期節(jié)目的所有I幀下載下來,有效減少I幀數(shù)據(jù)的下載量,且有效的降低對寬帶的要求。

      為了更好的理解本發(fā)明實施例中的終端,請參閱圖4,為本發(fā)明實施例中終端的結構的實施例,包括如圖3所示實施例中描述的選取模塊301,發(fā)送模塊302,接收輸出模塊303,且與圖3所示實施例中描述的內容相似,此處不再贅述。

      在本發(fā)明實施例中,選取模塊301包括:

      時長確定模塊401,用于當接收到快進請求或快退請求時,根據(jù)快進或快退的倍速確定第二時長;

      幀選取模塊402,用于在時長確定模塊401確定第二時長之后,根據(jù)當前節(jié)目已播放時長,第二時長及當前節(jié)目的各I幀的時間點選取I幀,得到I幀序列,I幀的時間點包含在I幀的索引信息中。

      其中,幀選取模塊402具體用于:

      若為快進,則m的初始值為0,執(zhí)行以下步驟:

      步驟1:將當前節(jié)目已播放時長加上m倍的第二時長的和作為有效時間點;

      步驟2:根據(jù)當前節(jié)目的各I幀的時間點,判斷有效時間點往后是否還有I幀;

      步驟3:若有效時間點往后還有I幀,則往后選取時間點與有效時間點最 近的一個I幀作為I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若有效時間點往后沒有I幀,則結束對I幀的選取。

      或者,幀選取模塊402具體用于:

      若為快退,則m的初始值為0,執(zhí)行以下步驟:

      步驟1:將當前節(jié)目已播放時長減去m倍的第二時長的差作為有效時間點;

      步驟2:根據(jù)當前節(jié)目的各I幀的時間點,判斷有效時間點往前是否還有I幀;

      步驟3:若有效時間點往前還有I幀,則往前選取時間點與有效時間點最近的一個I幀作為I幀序列的第m+1個幀,令m=m+1,返回執(zhí)行步驟1;

      步驟4:若有效時間點往前沒有I幀,則結束對I幀的選取。

      在本發(fā)明實施例中,預先設置的第一時長為預先設置的小于或等于1秒的時間值,或者為基于倍速計算得到的小于或等于1秒的時間值。

      在本發(fā)明實施例中,當接收到快進或快退請求時,選取模塊301根據(jù)當前節(jié)目已播放時長、預先保存的當前節(jié)目的各I幀的索引信息及快進或快退請求中包含的倍速選取I幀,得到I幀序列;具體的:選取模塊301中的時長確定模塊401根據(jù)快進或快退的倍速確定第二時長,并由幀選取模塊402根據(jù)當前節(jié)目已播放時長,第二時長及當前節(jié)目的各I幀的時間點選取I幀,得到I幀序列,索引信息中包含I幀的時間點。

      接著,發(fā)送模塊302每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;且由接收輸出模塊303接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)。

      在本發(fā)明實施例中,當接收到快進或快退請求時,根據(jù)快進或快退的倍速確定第二時長,并根據(jù)當前節(jié)目已播放時長,第二時長及當前節(jié)目的各I幀的索引信息中包含的I幀時間選取I幀,得到I幀序列,且在得到I幀序列之后,終端將每間隔預先設置的第一時長,向服務器發(fā)送一個數(shù)據(jù)請求消息,且數(shù)據(jù)請求消息中依次攜帶I幀序列中的I幀的索引信息;且終端還將接收并解碼輸出服務器根據(jù)接收到的I幀的索引信息反饋的I幀數(shù)據(jù)。通過上述的方式,使得僅需要從服務器下載選取的I幀序列中的I幀,而不需要下載當前節(jié)目中的所有I幀,能夠有效的降低I幀的下載量,降低對寬帶的 要求。

      通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例的方法。

      以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1