一種流媒體倍速文件的生成及播放方法、裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種流媒體倍速文件的生成及播放方法、裝置。
【背景技術(shù)】
[0002]在目前的流媒體領(lǐng)域中,大部分的流媒體資源在服務(wù)器端存儲,并由客戶端播放。為便于用戶觀看和了解流媒體內(nèi)容,大多數(shù)流媒體服務(wù)器支持倍速播放功能。倍速的含義是指用戶可以以不同的播放時(shí)長播放完同一視頻,其中,正常播放可以理解為倍速為IX。例如,對同一視頻,倍速為2X時(shí),表示以正常播放時(shí)長的一半的時(shí)長播放完該視頻;倍速為4X時(shí),表示以正常播放時(shí)長的1/4的時(shí)長播放完該視頻。倍速還包括倍速方向,即正向倍速和反向倍速,其中,正向倍速即快進(jìn),反向倍速即快退。
[0003]目前,流媒體服務(wù)器未支持多種倍速,在每一種倍速的每一個(gè)倍速方向上,均對流媒體的源文件重新編解碼,生成一個(gè)倍速文件,例如當(dāng)一段視頻有兩個(gè)倍速時(shí),則有四個(gè)倍速文件。當(dāng)用戶請求倍速播放時(shí),將相應(yīng)的倍速文件發(fā)送給用戶的客戶端顯示。具體的,倍速文件由至少一個(gè)GOP(Group of Pictures,畫面組)組成,每個(gè)GOP的頭部包括用于控制播放的正向倍速播放信息,例如PCR(program clock reference,節(jié)目時(shí)鐘參考)、該GOP的DTS (decoding time stamp,節(jié)目時(shí)間戮),以及該GOP中的每一幀圖像的PTS(presentat1ntime stamp,顯示時(shí)間戳)??蛻舳嗽诓シ臛OP時(shí),根據(jù)該GOP頭部的PCR和DTS確定何時(shí)對該GOP進(jìn)行解碼,并根據(jù)該GOP頭部的PCR和PTS,確定每一幀圖像何時(shí)播放。
[0004]然而,上述實(shí)現(xiàn)倍速播放的方法,由于需要對源文件進(jìn)行重新編解碼,需要耗費(fèi)設(shè)備的計(jì)算資源,另外,每一種倍速下都有分別對應(yīng)兩個(gè)倍速方向上的倍速文件,那么流媒體服務(wù)器對應(yīng)同一視頻,在同一倍速下需要存儲兩個(gè)倍速文件,由此導(dǎo)致占用大量的存儲資源。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種流媒體倍速文件的生成及播放方法、裝置,以克服相關(guān)技術(shù)中為實(shí)現(xiàn)流媒體倍速播放導(dǎo)致占用較多存儲資源問題。
[0006]一方面,本發(fā)明提供一種流媒體倍速文件的生成方法,所述方法包括:
[0007]針對每一個(gè)流媒體,生成所述流媒體的預(yù)設(shè)倍速下的初始倍速文件;所述初始倍速文件中包括至少一個(gè)G0P,每一個(gè)GOP的頭部包括正向倍速播放信息;
[0008]針對每一個(gè)初始倍速文件的每一個(gè)G0P,在該GOP的尾部添加反向倍速播放信息。
[0009]另一方面,本發(fā)明提供一種流媒體倍速文件的播放方法,所述方法包括:
[0010]流媒體服務(wù)器接收客戶端發(fā)送來的,對流媒體進(jìn)行倍速播放的倍速播放請求,所述倍速播放請求中至少包括倍速文件標(biāo)識、開始倍速播放時(shí)間、以及倍速方向;其中,所述倍速文件標(biāo)識對應(yīng)的倍速文件中包括至少一個(gè)G0P,且每一個(gè)GOP的頭部包括正向倍速播放信息,尾部包括反向倍速播放信息;所述流媒體播放器不具有解析所述倍速文件中的反向倍速播放信息的功能;
[0011]根據(jù)所述倍速文件標(biāo)識,確定與所述倍速文件標(biāo)識對應(yīng)的倍速文件;并根據(jù)所述開始倍速播放時(shí)間和所述倍速方向,確定所述倍速文件中的待發(fā)送GOP ;
[0012]當(dāng)所述倍速方向?yàn)檎虮端贂r(shí),刪除所述待發(fā)送GOP的尾部的反向倍速播放信息;并,將刪除反向倍速播放信息的待發(fā)送GOP按照正向倍速播放時(shí)的先后順序發(fā)送給所述客戶端,由所述客戶端根據(jù)接收到的待發(fā)送GOP的頭部的正向倍速播放信息,播放該GOP ;
[0013]當(dāng)所述倍速方向?yàn)榉聪虮端贂r(shí),針對每一個(gè)待發(fā)送G0P,用該待發(fā)送GOP的反向倍速播放信息替換正向倍速播放信息,并刪除該待發(fā)送GOP的尾部的反向倍速播放信息;并,將刪除尾部的反向倍速播放信息的待發(fā)送G0P,按照反向倍速播放時(shí)的先后順序發(fā)送給所述客戶端,由所述客戶端根據(jù)接收到的待發(fā)送GOP的頭部的反向倍速播放信息,播放該GOP0
[0014]另一方面,本發(fā)明提供另一種流媒體倍速文件的播放方法,所述方法包括:
[0015]流媒體服務(wù)器接收客戶端發(fā)送來的,對流媒體進(jìn)行倍速播放的倍速播放請求,所述倍速播放請求中至少包括倍速文件標(biāo)識、開始倍速播放時(shí)間和倍速方向;其中,所述倍速文件標(biāo)識對應(yīng)的倍速文件中包括至少一個(gè)G0P,且每一個(gè)GOP的頭部包括正向倍速播放信息,尾部包括反向倍速播放信息;所述流媒體播放器具有解析所述倍速文件中的反向倍速播放信息的功能;
[0016]根據(jù)所述開始倍速播放時(shí)間和所述倍速方向,確定所述倍速文件中的待發(fā)送GOP ;
[0017]將所述待發(fā)送GOP按照播放的先后順序發(fā)送給所述客戶端,由所述客戶端根據(jù)接收到的待發(fā)送GOP中的與用戶請求的倍速方向?qū)?yīng)的倍速播放信息,完成對接收到的待發(fā)送GOP的播放。
[0018]另一方面,本發(fā)明提供一種流媒體倍速文件的生成裝置,所述裝置包括:
[0019]初始倍速文件生成模塊,用于針對每一個(gè)流媒體,生成所述流媒體的預(yù)設(shè)倍速下的初始倍速文件;所述初始倍速文件中包括至少一個(gè)畫面組G0P,每一個(gè)GOP的頭部包括正向倍速播放信息;
[0020]倍速文件生成模塊,用于針對每一個(gè)初始倍速文件的每一個(gè)G0P,在該GOP的尾部添加反向倍速播放信息。
[0021]另一方面,本發(fā)明提供一種流媒體倍速文件的播放裝置,所述裝置包括:
[0022]倍速請求接收模塊,用于接收客戶端發(fā)送來的,對流媒體進(jìn)行倍速播放的倍速播放請求,所述倍速播放請求中至少包括倍速文件標(biāo)識、開始倍速播放時(shí)間、以及倍速方向;其中,所述倍速文件標(biāo)識對應(yīng)的倍速文件中包括至少一個(gè)畫面組G0P,且每一個(gè)GOP的頭部包括正向倍速播放信息,尾部包括反向倍速播放信息;所述流媒體播放器不具有解析所述倍速文件中的反向倍速播放信息的功能;
[0023]確定模塊,用于根據(jù)所述倍速文件標(biāo)識,確定與所述倍速文件標(biāo)識對應(yīng)的倍速文件;并根據(jù)所述開始倍速播放時(shí)間和所述倍速方向,確定所述倍速文件中的待發(fā)送GOP ;
[0024]第一發(fā)送模塊,用于當(dāng)所述倍速方向?yàn)檎虮端贂r(shí),刪除所述待發(fā)送GOP的尾部的反向倍速播放信息;并,將刪除反向倍速播放信息的待發(fā)送GOP按照正向倍速播放時(shí)的先后順序發(fā)送給所述客戶端,由所述客戶端根據(jù)接收到的待發(fā)送GOP的頭部的正向倍速播放信息,播放該GOP ;
[0025]第二發(fā)送模塊,當(dāng)所述倍速方向?yàn)榉聪虮端贂r(shí),針對每一個(gè)待發(fā)送G0P,用該待發(fā)送GOP的反向倍速播放信息替換正向倍速播放信息,并刪除該待發(fā)送GOP的尾部的反向倍速播放信息;并,將刪除尾部的反向倍速播放信息的待發(fā)送G0P,按照反向倍速播放時(shí)的先后順序發(fā)送給所述客戶端,由所述客戶端根據(jù)接收到的待發(fā)送GOP的頭部的反向倍速播放信息,播放該GOP。
[0026]另一方面,本發(fā)明提供另一種流媒體倍速文件的播放裝置,所述裝置包括:
[0027]倍速請求接收模塊,用于接收客戶端發(fā)送來的,對流媒體進(jìn)行倍速播放的倍速播放請求,所述倍速播放請求中至少包括倍速文件標(biāo)識、開始倍速播放時(shí)間和倍速方向;其中,所述倍速文件標(biāo)識對應(yīng)的倍速文件中包括至少一個(gè)畫面組G0P,且每一個(gè)GOP的頭部包括正向倍速播放信息,尾部包括反向倍速播放信息;所述流媒體播放器具有解析所述倍速文件中的反向倍速播放信息的功能;
[0028]確定模塊,用于根據(jù)所述開始倍速播放時(shí)間和所述倍速方向,確定所述倍速文件中的待發(fā)送GOP ;
[0029]發(fā)送模塊,用于將所述待發(fā)送GOP按照播放的先后順序發(fā)送給所述客戶端,由所述客戶端根據(jù)接收到的待發(fā)送GOP中的與用戶請求的倍速方向?qū)?yīng)的倍速播放信息,完成對接收到的待發(fā)送GOP的播放。
[0030]本發(fā)明至少具有以下有益效果:本發(fā)明實(shí)施例中,在流媒體服務(wù)器中預(yù)先為每一個(gè)流媒體生成不同倍速下的倍速文件,例如對于流媒體A生成該流媒體A的2X、4X、16X和32X倍速下的倍速文件。并在每一個(gè)倍速文件中均包含該倍速文件正向倍速播放時(shí)所需的正向倍速播放信息,以及反向倍速播放時(shí)的反向倍速播放信息,從而使得對于一個(gè)流媒體,在一個(gè)倍速下僅有一個(gè)倍速文件,相比現(xiàn)有技術(shù)中在一個(gè)倍速下一個(gè)流媒體有兩個(gè)倍速文件的方法,能夠節(jié)約存儲資源。另外,在本發(fā)明實(shí)施例中,組成倍速文件的圖像是從流媒體的源文件中抽取的圖像,無需對源文件進(jìn)行重新編解碼。相比現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的倍速文件能夠減少對設(shè)備的計(jì)算資源的消耗。再者,本發(fā)明實(shí)施例中,因無需對流媒體的源文件進(jìn)行重新編解碼生成倍速文件,使得本發(fā)