專利名稱:一種解決播放時(shí)間跳變的方法及客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體技術(shù)領(lǐng)域,尤其涉及一種解決播放時(shí)間跳變的方法及客戶端。
背景技術(shù):
隨著多媒體技術(shù)的不斷發(fā)展,出現(xiàn)了多種播放器,如Media Player、KMPlayer等等,對(duì)于文件媒體的播放已經(jīng)做的非常好,然而,對(duì)于持續(xù)流媒體的播放,則缺乏后臺(tái)服務(wù)的支持,因此無(wú)法完成流媒體的直播,而必須先將媒體轉(zhuǎn)存為單獨(dú)的磁盤文件形式,再進(jìn)行播放。在現(xiàn)有技術(shù)中,客戶端可通過(guò)M3U8協(xié)議請(qǐng)求流媒體播放,其中,在M3U8協(xié)議中,流媒體是以分段TS (英文全稱為-Transport Stream)流的格式分段存放在多個(gè)服務(wù)器上的,且流媒體分段后的得到的分段TS流所在的服務(wù)器路徑可保存在該流媒體對(duì)應(yīng)的M3U8文件中,該M3U8文件則保存在某一個(gè)服務(wù)器上,客戶端通過(guò)M3U8協(xié)議向服務(wù)器請(qǐng)求流媒體播放時(shí),服務(wù)器將該返回該客戶端請(qǐng)求播放的流媒體的M3U8文件,且將解析該M3U8文件,獲取該流媒體的分段TS流的服務(wù)器地址,并分別按照分段TS流的服務(wù)器地址下載相應(yīng)的分段TS流進(jìn)行緩存,并等待客戶端的播放器對(duì)該流媒體的超文本傳輸協(xié)議(英文全稱為:Hypertext transfer protocol,縮寫為:http)請(qǐng)求,及播放保存的分段TS流。目前,客戶端依據(jù)M3U8文件中描述的分段TS流的播出時(shí)間標(biāo)記(英文全稱為:Presentation Time Stamp,縮寫為:PTS)輪流播放分段TS流,其中,PTS是TS流打包格式中的一個(gè)字段,客戶端在解析分段TS流時(shí)需要依據(jù)PTS確定解碼器何時(shí)對(duì)該分段TS流進(jìn)行解碼,播放時(shí)顯示播放時(shí)長(zhǎng)也需要利用PTS進(jìn)行確定。然而,由于分段TS流之間的PTS是不連續(xù)的,將導(dǎo)致在使用M3U8協(xié)議播放流媒體時(shí),播放時(shí)間會(huì)出現(xiàn)跳變,不是連續(xù)遞增顯示,且由于播放時(shí)間不能連續(xù)遞增顯示,將導(dǎo)致用戶體驗(yàn)較差。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種解決播放時(shí)間跳變的方法及客戶端,用于客戶端在播放流媒體時(shí),避免播放時(shí)間跳變的問(wèn)題,使得顯示的播放時(shí)間能夠連續(xù)遞增,改善用戶的體驗(yàn)。本發(fā)明提供了一種解決播放時(shí)間跳變的方法,可包括:在播放流媒體時(shí),獲取所述流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn);利用所述總播放時(shí)長(zhǎng)、所述初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算所述流媒體需要顯示的播放時(shí)間。本發(fā)明實(shí)提供了一種客戶端,可包括:第一獲取單元,用于在播放流媒體時(shí),獲取所述流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn);
計(jì)算單元,用于利用所述第一獲取單元獲取的所述總播放時(shí)長(zhǎng)、所述初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算所述流媒體需要顯示的播放時(shí)間。從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):在播放流媒體時(shí),客戶端獲取該流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn),并利用該總播放時(shí)長(zhǎng)、初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間,通過(guò)計(jì)算確定流媒體的播放時(shí)間,能夠有效的避免播放時(shí)間跳變的問(wèn)題,使得播放時(shí)間能夠連續(xù)遞增顯示,提高用戶的體驗(yàn)。
圖1為本發(fā)明實(shí)施例中一種解決播放時(shí)間跳變的方法的一個(gè)示意圖;圖2為本發(fā)明實(shí)施例中一種解決播放時(shí)間跳變的方法的另一示意圖;圖3為本發(fā)明實(shí)施例一個(gè)流媒體的分段TS流的一個(gè)示意圖;圖4為本發(fā)明實(shí)施例中客戶端的結(jié)構(gòu)的另一示意圖;圖5為本發(fā)明實(shí)施例中客戶端的結(jié)構(gòu)的另一示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種解決播放時(shí)間跳變的方法及客戶端,用于客戶端在播放流媒體時(shí),避免播放時(shí)間跳變的問(wèn)題,使得顯示的播放時(shí)間能夠連續(xù)遞增,改善用戶的體驗(yàn)。在本發(fā)明實(shí)施例中,客戶端若需要播放流媒體,可向保存了該流媒體的M3U8文件的服務(wù)器發(fā)送流媒體播放請(qǐng)求,且服務(wù)器在接收到該流媒體播放請(qǐng)求之后向該客戶端反饋相應(yīng)的M3U8文件,客戶端解析該M3U8文件獲取該流媒體的所有的分段TS流所在的服務(wù)器的下載地址,并按照獲取到的服務(wù)器的下載地址向相應(yīng)的服務(wù)器下載對(duì)應(yīng)的分段TS流,并進(jìn)行緩存。在本發(fā)明實(shí)施例中,客戶端將啟動(dòng)播放器,并發(fā)起播放器對(duì)該緩存的流媒體的分段TS流的http請(qǐng)求,播放器獲取流媒體的分段TS流的緩存地址,按照分段TS流的播放順序依次播放。下面將具體介紹在播放流媒體的分段TS流時(shí),避免播放時(shí)間跳變的方法,請(qǐng)參閱圖1,為本發(fā)明實(shí)施例中一種解決播放時(shí)間跳變的方法的實(shí)施例,包括:101、在播放流媒體時(shí),獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn);在本發(fā)明實(shí)施例中,在播放流媒體時(shí),客戶端將獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn),其中,流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng)為當(dāng)前播放的分段TS流之前播放的分段TS流總的播放時(shí)間,當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)為利用該分段TS流的PTS計(jì)算得到的該分段TS流在該流媒體上的播放時(shí)間點(diǎn)。例如:已播放的分段TS流包括分段TS流A和B,當(dāng)前播放的分段TS流為C,則總播放時(shí)長(zhǎng)為分段TS流A和B的播放時(shí)間的和。102、利用總播放時(shí)長(zhǎng)、初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間。在本發(fā)明實(shí)施例中,客戶端將利用已播放完的分段TS流的總播放時(shí)長(zhǎng)、當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間。在播放流媒體時(shí),客戶端獲取該流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn),并利用該總播放時(shí)長(zhǎng)、初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間,通過(guò)計(jì)算確定流媒體的播放時(shí)間,能夠有效的避免播放時(shí)間跳變的問(wèn)題,使得播放時(shí)間能夠連續(xù)遞增顯示,提高用戶的體驗(yàn)。為了更好的理解本發(fā)明實(shí)施例中的技術(shù)方案,請(qǐng)參閱圖2,為本發(fā)明實(shí)施例中一種解決播放時(shí)間跳變的方法的實(shí)施例,包括:201、在播放流媒體時(shí),獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn);在本發(fā)明實(shí)施例中,步驟201與圖1所示實(shí)施例中步驟101描述的內(nèi)容相似,此處不再贅述。202、將當(dāng)前播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放的分段TS流的已播放時(shí)間;在本發(fā)明實(shí)施例中,客戶端可將當(dāng)前播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放的分段TS流的已播放時(shí)間。例如:若當(dāng)前播放時(shí)間點(diǎn)為50分,初始播放時(shí)間點(diǎn)為40分,則當(dāng)前播放的分段TS流的已播放時(shí)間為10分。203、將當(dāng)前播放的分段TS流的已播放時(shí)間加上總播放時(shí)長(zhǎng)得到流媒體需要顯示的播放時(shí)間;在本發(fā)明實(shí)施例中,客戶端將當(dāng)前播放的分段TS流的已播放時(shí)間加上該流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng)得到流媒體需要顯示的播放時(shí)間,例如:若當(dāng)前播放的分段TS流已播放時(shí)間為10分鐘,已播放完的分段TS流的總播放時(shí)長(zhǎng)為40分鐘,則該流媒體需要顯示的播放時(shí)間為50分鐘。204、在當(dāng)前播放流媒體的播放器上顯示計(jì)算得到的播放時(shí)間。在本發(fā)明實(shí)施例中,客戶端在確定需要顯示的播放時(shí)間之后,將在當(dāng)前播放流媒體的播放器上顯示計(jì)算得到的播放時(shí)間。需要說(shuō)明的是,在本發(fā)明實(shí)施例中,每次在一個(gè)分段TS流播放完之后,都需要更新流媒體的已播放完的分段TS流的總播放時(shí)長(zhǎng),具體為:若當(dāng)前播放的分段TS流已經(jīng)播放完,則客戶端獲取該分段TS流的結(jié)束播放時(shí)間點(diǎn),利用該結(jié)束播放時(shí)間點(diǎn)及該分段TS流的初始播放時(shí)間更新總播放時(shí)長(zhǎng)。其中計(jì)算更新后的總播放時(shí)長(zhǎng)包括:將結(jié)束播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放分段TS流的播放時(shí)長(zhǎng);將總播放時(shí)長(zhǎng)加上播放時(shí)長(zhǎng)作為更新后的總播放時(shí)長(zhǎng)。在本發(fā)明實(shí)施例中,客戶端通過(guò)利用已播放完的分段TS流的總播放時(shí)長(zhǎng)、當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算播放器需要顯示的播放時(shí)間,能夠有效的避免播放時(shí)間的跳變問(wèn)題,使得播放時(shí)間能夠連續(xù)遞增,改善用戶的體驗(yàn)。為了更好的理解本發(fā)明實(shí)施例中的技術(shù)方案,下面將具體的描述一個(gè)應(yīng)用場(chǎng)景。請(qǐng)參閱圖3,為本發(fā)明實(shí)施例中的的一個(gè)流媒體的分段TS流,包括:分段TS流1,分段TS流2,分段TS流3,其中,A和B分別為分段TS流I的初始播放時(shí)間點(diǎn)和結(jié)束播放時(shí)間點(diǎn),C和D分別為分段TS流2的初始播放時(shí)間點(diǎn)和結(jié)束播放時(shí)間點(diǎn),E和F分別為分段TS流3的初始播放時(shí)間點(diǎn)和結(jié)束播放時(shí)間點(diǎn),且均是利用分段TS流的PTS計(jì)算得到的。在本發(fā)明實(shí)施例中,播放時(shí)間計(jì)算方式為:Time=Z+PTS (x)-P (y);其中,Time表示為計(jì)算得到的播放時(shí)間,Z表示流媒體已播放的分段TS流的總播放時(shí)長(zhǎng),PTS (X)表示當(dāng)前播放的分段TS流的當(dāng)前播放時(shí)間點(diǎn),P (y)表示當(dāng)前播放TS流的初始播放時(shí)間點(diǎn),其中,y可以是A,C或E。則在播放分段TS流I時(shí),Z=O,則播放時(shí)間的計(jì)算方式為Time=PTS (x) -P (A);在播放完分段TS流I后,更新Z的值,得到Z=PTS (B)-P (A) =Zl ;在播放分段TS流2時(shí),Z=Zl,則播放時(shí)間的計(jì)算方式為Time=Zl+PTS (x) -P (C);在播放完分段TS流2后,更新Z的值,得到Z=Z1+PTS (D) -P (C) =Z1+Z2 ;在播放分段TS流3時(shí),Z=Z1+Z2,則播放時(shí)間的計(jì)算方式為Time=Zl+Z2+PTS(x)_P(E)。在本發(fā)明實(shí)施例中,客戶端將根據(jù)計(jì)算得到的播放時(shí)間在播放器上顯示。請(qǐng)參閱圖4,為本發(fā)明實(shí)施例中客戶端的結(jié)構(gòu)的實(shí)施例,包括:第一獲取單元401,用于在播放流媒體時(shí),獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn);計(jì)算單元402,用于利用獲取單元獲取的總播放時(shí)長(zhǎng)、初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間。在本發(fā)明實(shí)施例中,在播放流媒體時(shí),第一獲取單元401獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn),及當(dāng)前播放時(shí)間點(diǎn),接著由計(jì)算單元402利用獲取單元401獲取到的參數(shù)計(jì)算流媒體需要顯示的播放時(shí)間。在播放流媒體時(shí),客戶端獲取該流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn),并利用該總播放時(shí)長(zhǎng)、初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間,通過(guò)計(jì)算確定流媒體的播放時(shí)間,能夠有效的避免播放時(shí)間跳變的問(wèn)題,使得播放時(shí)間能夠連續(xù)遞增顯示,提高用戶的體驗(yàn)。為了更好的理解本發(fā)明實(shí)施例中的客戶端,請(qǐng)參閱圖5,為本發(fā)明實(shí)施例中客戶端結(jié)構(gòu)的實(shí)施例,包括:如圖4所示實(shí)施例中的第一獲取單元401,及計(jì)算單元402,且與圖4所示實(shí)施例中描述的內(nèi)容相似,此處不再贅述。在本發(fā)明實(shí)施例中,計(jì)算單元402包括:第一計(jì)算單元501,用于在第一獲取單元之后,將當(dāng)前播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放的分段TS流的已播放時(shí)間;第二計(jì)算單元502,用于在第一計(jì)算單元得到當(dāng)前播放的分段TS流的已播放時(shí)間之后,將當(dāng)前播放的分段TS流的已播放時(shí)間加上總播放時(shí)長(zhǎng)得到流媒體需要顯示的播放時(shí)間。在本發(fā)明實(shí)施例中,客戶端還包括:第二獲取單元503,用于若當(dāng)前播放的分段TS流已經(jīng)播放完,則獲取當(dāng)前播放的分段TS流的結(jié)束播放時(shí)間點(diǎn);更新單元504,用于在第二獲取單元503獲取當(dāng)前播放的分段TS流的結(jié)束播放時(shí)間點(diǎn)之后,利用結(jié)束播放時(shí)間點(diǎn)及初始播放時(shí)間點(diǎn)更新總播放時(shí)長(zhǎng)。其中,更新單元504包括:第二計(jì)算單元5041,用于將結(jié)束播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放分段TS流的播放時(shí)長(zhǎng);第三計(jì)算單元5042,用于在第二計(jì)算單元得到播放時(shí)長(zhǎng)之后,將總播放時(shí)長(zhǎng)加上播放時(shí)長(zhǎng)作為更新后的總播放時(shí)長(zhǎng)。在本發(fā)明實(shí)施例中,客戶端還包括:顯示單元505,用于在計(jì)算單元402得到播放時(shí)間之后,在當(dāng)前播放流媒體的播放器上顯示計(jì)算得到的播放時(shí)間。在本發(fā)明實(shí)施例中,在播放流媒體時(shí),第一獲取單元401獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn),及當(dāng)前播放時(shí)間點(diǎn),接著由計(jì)算單元402中的第一計(jì)算單元501將當(dāng)前播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放的分段TS流的已播放時(shí)間;接著由計(jì)算單元402中的第二計(jì)算單元502將當(dāng)前播放的分段TS流的已播放時(shí)間加上總播放時(shí)長(zhǎng)得到流媒體需要顯示的播放時(shí)間,且由顯示單元505在當(dāng)前播放流媒體的播放器上顯示計(jì)算得到的播放時(shí)間。此外,若當(dāng)前播放的分段TS流已經(jīng)播放完,則第二獲取單元503獲取當(dāng)前播放的分段TS流的結(jié)束播放時(shí)間點(diǎn);更新單元504利用結(jié)束播放時(shí)間點(diǎn)及初始播放時(shí)間點(diǎn)更新總播放時(shí)長(zhǎng),使得在播放下一個(gè)分段TS流的播放時(shí)間時(shí),可利用更新后的總播放時(shí)長(zhǎng)計(jì)算,更新單元504的具體的更新過(guò)程包括:第二計(jì)算單元5041將結(jié)束播放時(shí)間點(diǎn)減去初始播放時(shí)間點(diǎn)得到當(dāng)前播放分段TS流的播放時(shí)長(zhǎng);接著,第三計(jì)算單元5042將總播放時(shí)長(zhǎng)加上播放時(shí)長(zhǎng)作為更新后的總播放時(shí)長(zhǎng)。在本發(fā)明實(shí)施例中,客戶端通過(guò)利用已播放完的分段TS流的總播放時(shí)長(zhǎng)、當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算播放器需要顯示的播放時(shí)間,能夠有效的避免播放時(shí)間的跳變問(wèn)題,使得播放時(shí)間能夠連續(xù)遞增,改善用戶的體驗(yàn)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。以上對(duì)本發(fā)明所提供的一種解決播放時(shí)間跳變的方法及客戶端進(jìn)行了詳細(xì)介紹,對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種解決播放時(shí)間跳變的方法,其特征在于,包括: 在播放流媒體時(shí),獲取所述流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn); 利用所述總播放時(shí)長(zhǎng)、所述初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算所述流媒體需要顯示的播放時(shí)間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述總播放時(shí)長(zhǎng),所述初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算所述流媒體需要顯示的播放時(shí)間包括: 將所述當(dāng)前播放時(shí)間點(diǎn)減去所述初始播放時(shí)間點(diǎn)得到所述當(dāng)前播放的分段TS流的已播放時(shí)間; 將所述當(dāng)前播放的分段TS流的已播放時(shí)間加上所述總播放時(shí)長(zhǎng)得到所述流媒體需要顯示的播放時(shí)間。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 若所述當(dāng)前播放的分段TS流已經(jīng)播放完,則獲取所述當(dāng)前播放的分段TS流的結(jié)束播放時(shí)間點(diǎn); 利用所述結(jié)束播放時(shí)間點(diǎn)及所述初始播放時(shí)間點(diǎn)更新所述總播放時(shí)長(zhǎng)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述利用所述結(jié)束播放時(shí)間點(diǎn)及所述初始播放時(shí)間點(diǎn)更新所述總播放時(shí)長(zhǎng)包括: 將所述結(jié)束播放時(shí)間點(diǎn)減去所述初始播放時(shí)間點(diǎn)得到所述當(dāng)前播放分段TS流的播放時(shí)長(zhǎng); 將所述總播放時(shí)長(zhǎng)加上所述播放時(shí)長(zhǎng)作為更新后的總播放時(shí)長(zhǎng)。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 在當(dāng)前播放所述流媒體的播放器上顯示計(jì)算得到的所述播放時(shí)間。
6.一種客戶端,其特征在于,包括: 第一獲取單元,用于在播放流媒體時(shí),獲取所述流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn); 計(jì)算單元,用于利用所述第一獲取單元獲取的所述總播放時(shí)長(zhǎng)、所述初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算所述流媒體需要顯示的播放時(shí)間。
7.根據(jù)權(quán)利要求6所述的客戶端,其特征在于,所述計(jì)算單元包括: 第一計(jì)算單元,用于在所述第一獲取單元之后,將所述當(dāng)前播放時(shí)間點(diǎn)減去所述初始播放時(shí)間點(diǎn)得到所述當(dāng)前播放的分段TS流的已播放時(shí)間; 第二計(jì)算單元,用于在所述第一計(jì)算單元得到所述當(dāng)前播放的分段TS流的已播放時(shí)間之后,將所述當(dāng)前播放的分段TS流的已播放時(shí)間加上所述總播放時(shí)長(zhǎng)得到所述流媒體需要顯示的播放時(shí)間。
8.根據(jù)權(quán)利要求6或7所述的客戶端,其特征在于,所述客戶端還包括: 第二獲取單元,用于若所述當(dāng)前播放的分段TS流已經(jīng)播放完,則獲取所述當(dāng)前播放的分段TS流的結(jié)束播放時(shí)間點(diǎn); 更新單元,用于在所述第二獲取單元獲取所述當(dāng)前播放的分段TS流的結(jié)束播放時(shí)間點(diǎn)之后,利用所述結(jié)束播放時(shí)間點(diǎn)及所述初始播放時(shí)間點(diǎn)更新所述總播放時(shí)長(zhǎng)。
9.根據(jù)權(quán)利要求8所述的客戶端,其特征在于,所述更新單元包括:第二計(jì)算單元,用于將所述結(jié)束播放時(shí)間點(diǎn)減去所述初始播放時(shí)間點(diǎn)得到所述當(dāng)前播放分段TS流的播放時(shí)長(zhǎng); 第三計(jì)算單元,用于在所述第二計(jì)算單元得到所述播放時(shí)長(zhǎng)之后,將所述總播放時(shí)長(zhǎng)加上所述播放時(shí)長(zhǎng)作為更新后的總播放時(shí)長(zhǎng)。
10.根據(jù)權(quán)利要求6或7所述的客戶端,其特征在于,所述客戶端還包括: 顯示單元,用于在所述計(jì)算單元得到所述播放時(shí)間之后,在當(dāng)前播放所述流媒體的播放器上顯示計(jì)算得到 的所述播放時(shí)間。
全文摘要
本發(fā)明實(shí)施例公開了一種解決播放時(shí)間跳變的方法及客戶端。本發(fā)明實(shí)施例方法包括在播放流媒體時(shí),獲取流媒體已播放完的分段TS流的總播放時(shí)長(zhǎng),當(dāng)前播放的分段TS流的初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn);利用總播放時(shí)長(zhǎng)、初始播放時(shí)間點(diǎn)及當(dāng)前播放時(shí)間點(diǎn)計(jì)算流媒體需要顯示的播放時(shí)間,使得客戶端在播放流媒體時(shí),能夠有效避免播放時(shí)間跳變的問(wèn)題,使得顯示的播放時(shí)間能夠連續(xù)遞增,改善用戶的體驗(yàn)。
文檔編號(hào)H04N21/845GK103152635SQ20131008198
公開日2013年6月12日 申請(qǐng)日期2013年3月14日 優(yōu)先權(quán)日2013年3月14日
發(fā)明者陳歡 申請(qǐng)人:深圳市茁壯網(wǎng)絡(luò)股份有限公司