国产精品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>

      一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法及裝置與流程

      文檔序號(hào):12629061閱讀:1061來(lái)源:國(guó)知局
      一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法及裝置與流程

      本發(fā)明涉及多媒體處理技術(shù)領(lǐng)域,特別涉及一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法及裝置。



      背景技術(shù):

      用戶在觀看視頻時(shí),可以通過(guò)快進(jìn)或快退操作快速定位到自己感興趣的視頻播放位置;播放系統(tǒng)響應(yīng)于用戶觸發(fā)的快進(jìn)或快退操作,在播放界面為用戶顯示對(duì)應(yīng)的快進(jìn)或快退畫面,在快進(jìn)或快退過(guò)程中畫面是否流暢直接影響用戶的視頻觀看體驗(yàn)。

      現(xiàn)有技術(shù)中,大多數(shù)播放系統(tǒng)采用以下方法實(shí)現(xiàn)視頻流的快進(jìn)或快退。在一種方法中,播放系統(tǒng)主要通過(guò)獲取與快進(jìn)或快退請(qǐng)求點(diǎn)鄰近的可同步幀(I幀),從該I幀開(kāi)始解碼剩余的視頻流,將解碼的視頻流進(jìn)行播放;這種方法忽略快進(jìn)或快退請(qǐng)求段內(nèi)其他序列組的視頻幀,容易出現(xiàn)播放不平滑、跳躍現(xiàn)象。

      在另一種方法中,播放系統(tǒng)主要是通過(guò)獲取快進(jìn)或快退請(qǐng)求段內(nèi)的I幀,通過(guò)跳頻方式對(duì)I幀進(jìn)行播放;這種方法對(duì)播放倍率和I幀間隔有嚴(yán)格要求,當(dāng)I幀間隔不固定等長(zhǎng)時(shí)或當(dāng)播放倍率與I幀間隔沒(méi)有整數(shù)倍數(shù)關(guān)系時(shí),這種方法也容易出現(xiàn)播放不平滑現(xiàn)象,用戶體驗(yàn)較差。



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

      本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法,用以解決現(xiàn)有技術(shù)中快進(jìn)或快退時(shí)容易出現(xiàn)播放不平滑的問(wèn)題,以提升用戶體驗(yàn)。

      本發(fā)明還提供了一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置,用以保證上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。

      一方面,本發(fā)明提供了一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法,所述方法 包括:

      接收用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳;

      根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流;

      按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。

      又一方面,本發(fā)明提供了一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置,所述裝置包括:

      時(shí)間戳定位單元,用于接收用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳;

      元數(shù)據(jù)流獲取單元,用于根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流;

      播放單元,用于按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。

      通過(guò)上述本發(fā)明實(shí)施例可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:

      本發(fā)明首先根據(jù)用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳;然后根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流;最后按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。本發(fā)明完全拋棄了現(xiàn)有技術(shù)的從臨近I幀開(kāi)始或以I幀為基礎(chǔ)的快進(jìn)或快退的技術(shù)思路,而是關(guān)注在快進(jìn)或快退過(guò)程中滿足播放倍率的視頻幀,不論這些視頻幀是什么類型,就會(huì)被解碼播放,這樣本發(fā)明既不會(huì)忽略快進(jìn)或快退請(qǐng)求段內(nèi)一些序列組,也不會(huì)受到I幀間隔的影響,因此,本發(fā)明能夠避免出現(xiàn)不平滑的問(wèn)題,能夠提升用戶體驗(yàn)。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述 中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是本發(fā)明提供的實(shí)現(xiàn)視頻流快進(jìn)或快退的方法實(shí)施例1的流程圖;

      圖2是本發(fā)明提供的先進(jìn)先出工作模式的緩存區(qū)的結(jié)構(gòu)圖;

      圖3是本發(fā)明提供的一段帶有層級(jí)預(yù)測(cè)參考的視頻流結(jié)構(gòu)圖;

      圖4是本發(fā)明提供的一種跳頻播放方式示意圖;

      圖5是本發(fā)明提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法實(shí)施例2的流程圖;

      圖6是本發(fā)明提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置實(shí)施例1的結(jié)構(gòu)圖;

      圖7是本發(fā)明提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置實(shí)施例2的結(jié)構(gòu)圖。

      具體實(shí)施方式

      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算裝置環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或設(shè)備的分布式計(jì)算環(huán)境等等。

      本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。

      參考圖1,圖1是本發(fā)明提供的實(shí)現(xiàn)視頻流快進(jìn)或快退的方法實(shí)施例1的流程圖,該方法可以包括以下步驟:

      S101:接收用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳。

      在實(shí)際應(yīng)用中,用戶利用終端觀看視頻時(shí)可以通過(guò)點(diǎn)擊快進(jìn)或快退按鈕來(lái)觸發(fā)快進(jìn)或快退請(qǐng)求,用戶也可以在播放頁(yè)面,通過(guò)拖動(dòng)播放進(jìn)度條的方式來(lái)觸發(fā)快進(jìn)或快退請(qǐng)求,當(dāng)然,用戶還可以通過(guò)鍵盤上的快捷鍵來(lái)觸發(fā)快進(jìn)或快退請(qǐng)求。

      針對(duì)軟件按鈕和硬件快進(jìn)鍵的觸發(fā)方式,播放系統(tǒng)預(yù)先定義點(diǎn)擊快進(jìn)或者快退按鈕或者快捷鍵的操作時(shí)長(zhǎng),如2s,還需要預(yù)先定義與點(diǎn)擊按鈕或快捷鍵方式對(duì)應(yīng)的單次快進(jìn)或快退請(qǐng)求時(shí)長(zhǎng),如10s,以方便定位用戶觸發(fā)的快進(jìn)或快退請(qǐng)求位置的時(shí)間戳。在實(shí)際應(yīng)用中,該操作時(shí)長(zhǎng)和單次快進(jìn)或快退請(qǐng)求時(shí)長(zhǎng)的大小可以根據(jù)需求作適應(yīng)性調(diào)整單次快進(jìn)請(qǐng)求時(shí)長(zhǎng)可以與單次快退請(qǐng)求時(shí)長(zhǎng)相同,也可以不相同。針對(duì)拖動(dòng)播放進(jìn)度條的觸發(fā)方式,播放系統(tǒng)將用戶拖動(dòng)的時(shí)長(zhǎng)記為操作時(shí)長(zhǎng),根據(jù)用戶停止拖動(dòng)時(shí)視頻流的位置定位快進(jìn)或快退請(qǐng)求位置。

      為了滿足用戶對(duì)快進(jìn)或快退的個(gè)人需求,在實(shí)際應(yīng)用中,播放系統(tǒng)還可以為用戶提供單次快進(jìn)或快退請(qǐng)求時(shí)長(zhǎng)的設(shè)置功能,用戶在觸發(fā)快進(jìn)或者快退操作之前,先設(shè)置單次快進(jìn)或快退請(qǐng)求時(shí)長(zhǎng)的大小。當(dāng)然,播放系統(tǒng)可以為用戶提供一個(gè)設(shè)置范圍,由用戶在該設(shè)置范圍內(nèi)隨意設(shè)置。

      S102,根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流。

      在實(shí)際應(yīng)用中,播放系統(tǒng)可以向服務(wù)器發(fā)送攜帶快進(jìn)或快退業(yè)務(wù)類型、當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳的請(qǐng)求,服務(wù)器根據(jù)該請(qǐng)求向播放系統(tǒng)返回對(duì)應(yīng)的視頻元數(shù)據(jù)流。

      但發(fā)明人發(fā)現(xiàn)播放系統(tǒng)與服務(wù)器之間頻繁交互,有時(shí)候會(huì)出現(xiàn)網(wǎng)絡(luò)加載現(xiàn)象,會(huì)影響用戶觀看視頻,為了避免出現(xiàn)網(wǎng)絡(luò)加載現(xiàn)象,本發(fā)明提供了另一種實(shí)現(xiàn)方式以使播放系統(tǒng)快速獲取視頻元數(shù)據(jù)流,該方式具體 包括:從本地的先進(jìn)先出工作模式的緩存區(qū)中,獲取從所述當(dāng)前播放位置的時(shí)間戳到所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳的時(shí)間段對(duì)應(yīng)的視頻元數(shù)據(jù)流;所述緩存區(qū)包括前向緩存區(qū)和后向緩存區(qū),所述前向緩存區(qū)用于儲(chǔ)存當(dāng)前播放位置之前的數(shù)據(jù),所述后向緩存區(qū)用于儲(chǔ)存當(dāng)前播放位置之后的數(shù)據(jù)。

      下面通過(guò)一個(gè)示例對(duì)本發(fā)明提供的先進(jìn)先出工作模式的緩存區(qū)進(jìn)行解釋說(shuō)明。參見(jiàn)圖2,圖2是本發(fā)明提供的先進(jìn)先出工作模式的緩存區(qū)的結(jié)構(gòu)圖,如圖2所示,該緩存區(qū)前向緩存M秒,后向緩存N秒;在T0時(shí)刻,當(dāng)前播放位置為A0;在T1(T1>T0)時(shí)刻,T0時(shí)刻黑色背景部分的緩存數(shù)據(jù)被移除,而新增加T1時(shí)刻白色背景的緩存數(shù)據(jù),T1時(shí)刻的播放位置為A1。

      基于這種帶有前向和后向緩存區(qū)的緩存結(jié)構(gòu),使得播放系統(tǒng)直接在本地獲取對(duì)應(yīng)的視頻元數(shù)據(jù)流,從而避免頻繁地向服務(wù)端發(fā)送請(qǐng)求,避免頻繁出現(xiàn)網(wǎng)絡(luò)加載現(xiàn)象。

      S103,按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。

      在實(shí)際應(yīng)用中,播放系統(tǒng)可以按照預(yù)先設(shè)置的固定播放倍率進(jìn)行處理。但這種預(yù)先設(shè)置的固定播放倍率無(wú)法適應(yīng)于每個(gè)用戶的實(shí)際需求,為了滿足用戶的這種實(shí)際需求,本發(fā)明提供了根據(jù)用戶觸發(fā)的操作,自適應(yīng)性調(diào)整播放倍率的方式,該方式具體為:

      按照公式PlayMul=2^CeilLog2(Duractual/Durrequest)計(jì)算播放倍率;PlayMul表示播放倍率;CeilLog2(Duractual/Durrequest)公式表示對(duì)Log2(Duractual/Durrequest)的結(jié)果取上限整數(shù)值;Duractual表示快進(jìn)或快退請(qǐng)求段的時(shí)長(zhǎng);Durrequest表示快進(jìn)或快退請(qǐng)求的操作時(shí)長(zhǎng)。

      下面通過(guò)一個(gè)示例對(duì)該方式進(jìn)行解釋說(shuō)明。

      假設(shè):快進(jìn)或快退請(qǐng)求的操作時(shí)長(zhǎng)Durrequest=2秒,快進(jìn)或快退請(qǐng)求段的時(shí)長(zhǎng)Duractual=7秒;按照上述公式計(jì)算出播放倍率PlayMul=4。

      假設(shè):快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流如圖3所示,當(dāng)播放倍率為4時(shí),從該視頻元數(shù)據(jù)流中確定的待播放的視頻幀,包括第1幀、以及 從第1幀開(kāi)始每間隔4幀位置對(duì)應(yīng)的視頻幀,如圖3中黑色三角區(qū)標(biāo)注的視頻幀。

      發(fā)明人考慮到在實(shí)際應(yīng)用中存在多種結(jié)構(gòu)的視頻流,為了適應(yīng)于不同結(jié)構(gòu)的視頻流,發(fā)明人提出了更具體的實(shí)現(xiàn)方案。發(fā)明人將視頻流結(jié)構(gòu)劃分為兩大類,一類視頻流是具有分層結(jié)構(gòu)的視頻流,另一類是不具有分層結(jié)構(gòu)的視頻流。發(fā)明人綜合考慮這兩大類視頻流的結(jié)構(gòu),提出了一種實(shí)現(xiàn)方式以適應(yīng)于這兩類視頻流,該方式具體包括:

      A1:解析所述視頻元數(shù)據(jù)流得到每個(gè)圖像組的I幀偏移位置,根據(jù)每個(gè)圖像組的I幀偏移位置并行解碼圖像組得到每個(gè)圖像組的數(shù)據(jù);以及,

      A2:按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,從每個(gè)圖像組的數(shù)據(jù)中選擇待播放的視頻幀對(duì)應(yīng)的數(shù)據(jù)進(jìn)行播放。

      這種實(shí)現(xiàn)方式是以圖像組(Group of Pictures,Gop)為基本單元,從圖像組的角度出發(fā),不受層間結(jié)構(gòu)和非層間結(jié)構(gòu)的影響,先解析出每個(gè)圖像組的I幀偏移位置,為并行解碼打好基礎(chǔ),采用并行解碼圖像組以保證后續(xù)快進(jìn)或快退過(guò)程中數(shù)據(jù)播放的時(shí)效性,避免出現(xiàn)緩沖、停頓等現(xiàn)象。

      發(fā)明人考慮到具有分層結(jié)構(gòu)的視頻流,視頻流中的視頻幀間存在參考依賴關(guān)系,分層結(jié)構(gòu)包含全幀速、1/2幀速、1/4幀速等,針對(duì)這種具有層間依賴關(guān)系的視頻流,發(fā)明人又提出了一種實(shí)現(xiàn)方式,該方式包括:

      B1:解析所述視頻元數(shù)據(jù)流得到每個(gè)視頻幀的結(jié)構(gòu)信息,所述結(jié)構(gòu)信息包括:視頻幀順序號(hào)、載荷偏移和參考幀;以及,

      B2:按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,根據(jù)所述待播放的視頻幀的結(jié)構(gòu)信息對(duì)所述待播放的視頻幀進(jìn)行解碼,將解碼得到的數(shù)據(jù)進(jìn)行播放。

      這種實(shí)現(xiàn)方式是從視頻幀的參考依賴關(guān)系出發(fā),以參考依賴關(guān)系為基礎(chǔ),就無(wú)需解碼所有的視頻幀,而是僅實(shí)現(xiàn)對(duì)待播放的視頻幀進(jìn)行解碼,這種處理方式既能夠保證后續(xù)快進(jìn)或快退過(guò)程中數(shù)據(jù)播放的時(shí)效性,避免出現(xiàn)緩沖、停頓等現(xiàn)象,又能夠減少解碼處理的數(shù)據(jù)量,使得播放更加平滑。

      另外,針對(duì)具有層間結(jié)構(gòu)的視頻流,發(fā)明人提供了更具體的實(shí)現(xiàn)方式,以進(jìn)一步避免播放不平滑的問(wèn)題。該方式具體實(shí)現(xiàn)過(guò)程中,在選擇待播放的 視頻幀時(shí),直接先選擇層級(jí)優(yōu)先級(jí)較高的視頻幀,在播放幀時(shí),以起始跳幀、后續(xù)等間距的方式進(jìn)行播放。

      例如,視頻流的結(jié)構(gòu)如圖3所示,用戶觸發(fā)快進(jìn)或快退請(qǐng)求的位置是左邊起第2個(gè)幀,采用起始跳幀、后續(xù)等間距的方式,在播放倍率為2的情況下,各個(gè)視頻幀的播放如圖4所示。如圖4所示,跳過(guò)的B幀不需要再做解碼處理,進(jìn)一步保證在快進(jìn)或快退過(guò)程中對(duì)視頻播放的時(shí)效性。仍舊以圖3的視頻流結(jié)構(gòu)為基礎(chǔ),在播放時(shí)直接采用等間距解碼輸出播放,在某些視頻幀被選擇輸出但其依賴的參考幀未被選擇輸出時(shí),其所依賴的參考幀也需要被解碼輸出。

      另外,考慮到上述采用起始跳幀、后續(xù)等間距的方式,起始跳幀位置與當(dāng)前播放位置的間距和后續(xù)正常等間距跳幀播放間距不相同的情況下,尤其是在起始跳幀的間距較小,后續(xù)跳幀間距較大的情況下,快進(jìn)或快退的起始播放階段出現(xiàn)不平滑現(xiàn)象。針對(duì)這種情況,發(fā)明人進(jìn)一步提出了一種實(shí)現(xiàn)方式。該方式具體是利用起始跳幀間距和后續(xù)跳幀間距計(jì)算起始階段的播放間距;具體的,起始階段的播放間距等于起始跳幀間距和后續(xù)跳幀間距的平均值,則在首次跳幀的視頻幀解碼之后,延遲播放間距的時(shí)間之后再播放,這樣以緩解起始播放不平滑的問(wèn)題。例如,起始跳幀間距a=1,后續(xù)跳幀間距b=4,則確定起始播放間距c=(a+b)/2=2.5,這里需要說(shuō)明的是,在實(shí)際應(yīng)用中,還需要將計(jì)算的平均值四舍五入取整,因此最終確定出c=3,最后根據(jù)起始播放間距計(jì)算出延遲等待時(shí)間t=(c-a)*s,其中,s表示一個(gè)視頻幀的播放時(shí)長(zhǎng)。

      另外,考慮到在實(shí)際應(yīng)用中,還存在對(duì)多媒體流的快進(jìn)或快退處理,本發(fā)明為了適應(yīng)于多媒體流的應(yīng)用場(chǎng)景,進(jìn)一步提供了具體的解決方案,參見(jiàn)圖5,圖5是本發(fā)明提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法實(shí)施例2的流程圖,該方法包括:

      S501,接收用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳。

      S502,根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流。

      S503,按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀。

      S504,根據(jù)待播放的視頻幀的視頻幀順序號(hào)和時(shí)間戳,從音頻元數(shù)據(jù)流中選擇待播放的音頻幀,對(duì)所述待播放的音頻幀和所述待播放的視頻幀作音視頻同步處理并播放。

      圖5所示的方法與圖1所示的方法的主要區(qū)別在于,在播放視頻幀之前,先根據(jù)待播放的視頻幀的時(shí)間戳選擇待播放的音頻幀,再對(duì)待播放的視頻幀和音頻幀進(jìn)行同步處理,最后分別將音頻幀和視頻幀輸出至對(duì)應(yīng)的播放設(shè)備進(jìn)行播放,這樣就能夠?qū)崿F(xiàn)對(duì)多媒體流的快進(jìn)或快退的播放。

      與上述方法相對(duì)應(yīng)的,本發(fā)明提供了一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置。參見(jiàn)圖6,圖6是本發(fā)明提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置實(shí)施例1的結(jié)構(gòu)圖,該裝置包括:

      時(shí)間戳定位單元601,用于接收用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳;

      元數(shù)據(jù)流獲取單元602,用于根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流;

      播放單元603,用于按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。

      可選的,所述選擇播放單元,包括:

      結(jié)構(gòu)信息解析子單元,用于解析所述視頻元數(shù)據(jù)流得到每個(gè)視頻幀的結(jié)構(gòu)信息,所述結(jié)構(gòu)信息包括:視頻幀順序號(hào)、載荷偏移和參考幀;

      解碼播放子單元,用于按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,根據(jù)所述待播放的視頻幀的結(jié)構(gòu)信息對(duì)所述待播放的視頻幀進(jìn)行解碼,將解碼得到的數(shù)據(jù)進(jìn)行播放。

      可選的,所述選擇播放單元,包括:

      并行解碼子單元,用于解析所述視頻元數(shù)據(jù)流得到每個(gè)圖像組的I幀偏移位置,根據(jù)每個(gè)圖像組的I幀偏移位置并行解碼圖像組得到每個(gè)圖像組的數(shù)據(jù);

      選擇播放子單元,用于按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,從每個(gè)圖像組的數(shù)據(jù)中選擇待播放的視頻幀對(duì)應(yīng)的數(shù)據(jù)進(jìn)行播放。

      可選的,所述裝置還包括:

      播放倍率計(jì)算單元,用于按照公式PlayMul=2^CeilLog2(Duractual/Durrequest)計(jì)算播放倍率;PlayMul表示播放倍率;CeilLog2(Duractual/Durrequest)公式表示對(duì)Log2(Duractual/Durrequest)的結(jié)果取上限整數(shù)值;Duractual表示快進(jìn)或快退請(qǐng)求段的時(shí)長(zhǎng);Durrequest表示快進(jìn)或快退請(qǐng)求的操作時(shí)長(zhǎng);

      則所述播放單元,用于根據(jù)所述播放倍率計(jì)算單元計(jì)算得到的播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。

      可選的,所述元數(shù)據(jù)流獲取單元,包括:

      第一獲取子單元,用于從本地的先進(jìn)先出工作模式的緩存區(qū)中,獲取從所述當(dāng)前播放位置的時(shí)間戳到所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳的時(shí)間段對(duì)應(yīng)的視頻元數(shù)據(jù)流;所述緩存區(qū)包括前向緩存區(qū)和后向緩存區(qū),所述前向緩存區(qū)用于儲(chǔ)存當(dāng)前播放位置之前的數(shù)據(jù),所述后向緩存區(qū)用于儲(chǔ)存當(dāng)前播放位置之后的數(shù)據(jù);或者,

      第二獲取子單元,用于向服務(wù)器發(fā)送攜帶快進(jìn)或快退業(yè)務(wù)類型、所述當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳的請(qǐng)求,接收服務(wù)器根據(jù)所述請(qǐng)求返回的視頻元數(shù)據(jù)流。

      參見(jiàn)圖7,圖7是本發(fā)明提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的裝置實(shí)施例2的結(jié)構(gòu)圖,該裝置是在上述圖6結(jié)構(gòu)的基礎(chǔ)上還包括:

      可選的,所述裝置還包括:

      音視頻同步單元604,用于根據(jù)待播放的視頻幀的視頻幀順序號(hào)和時(shí)間戳,從音頻元數(shù)據(jù)流中選擇待播放的音頻幀,對(duì)所述待播放的音頻幀和所述待播放的視頻幀作音視頻同步處理并播放。

      本發(fā)明首先根據(jù)用戶觸發(fā)的快進(jìn)或快退請(qǐng)求,定位所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳;然后根據(jù)當(dāng)前播放位置的時(shí)間戳和所述快進(jìn)或快退請(qǐng)求位置的時(shí)間戳,獲取所述快進(jìn)或快退請(qǐng)求段對(duì)應(yīng)的視頻元數(shù)據(jù)流;最 后按照播放倍率從所述視頻元數(shù)據(jù)流中選擇待播放的視頻幀,將所述待播放的視頻幀進(jìn)行播放。本發(fā)明完全拋棄了現(xiàn)有技術(shù)的從臨近I幀開(kāi)始或以I幀為基礎(chǔ)的快進(jìn)或快退的技術(shù)思路,而是關(guān)注在快進(jìn)或快退過(guò)程中滿足播放倍率的視頻幀,不論這些視頻幀是什么類型,就會(huì)被解碼播放,這樣本發(fā)明既不會(huì)忽略快進(jìn)或快退請(qǐng)求段內(nèi)一些序列組,也不會(huì)受到I幀間隔的影響,因此,本發(fā)明能夠避免出現(xiàn)不平滑的問(wèn)題,能夠提升用戶體驗(yàn)。

      需要說(shuō)明的是,本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。

      最后,還需要說(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è)備中還存在另外的相同要素。

      以上對(duì)本發(fā)明所提供的一種實(shí)現(xiàn)視頻流快進(jìn)或快退的方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1