計算準(zhǔn)確,解決了現(xiàn)有技術(shù)中基于心跳包計算流媒體播放時長準(zhǔn)確性差的問題。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0020]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1是根據(jù)本發(fā)明第一實施例的流媒體播放時長的獲取方法的流程圖;
圖2是根據(jù)本發(fā)明第二實施例的流媒體播放時長的獲取方法的流程圖;
圖3是根據(jù)本發(fā)明第三實施例的流媒體播放時長的獲取裝置的框圖。
【具體實施方式】
[0021]下面結(jié)合附圖和【具體實施方式】對本發(fā)明做進一步說明。需要指出的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0022]實施例一
首先,本發(fā)明實施例一提供了一種流媒體播放時長的獲取方法,該方法主要描述計算流媒體實際播放時長的過程,參見圖1,該方法可以包括以下步驟:
步驟S102:響應(yīng)用戶的操作命令,控制播放器播放流媒體,并獲取流媒體播放的起始時間信息。
[0023]用戶通過終端向流媒體服務(wù)器請求視頻資源時,向終端輸入操作命令,終端響應(yīng)操作命令,接收到流媒體服務(wù)器實時傳輸?shù)囊曨l資源,啟動播放器開始播放流媒體,例如,用戶終端為電視機時,電視機一邊接收視頻資源,一邊啟動播放器進行播放。在播放器開始播放流媒體后,獲取流媒體播放的起始時間信息,該起始時間信息可以為當(dāng)前的系統(tǒng)時間,也可以記為時間起點,例如零分零秒等。
[0024]步驟S104:在播放器播放流媒體的過程中,監(jiān)測播放器的播放狀態(tài)。
[0025]優(yōu)選地,在播放進程中啟動一個獨立的線程,以在播放流媒體的過程中,實時監(jiān)測播放器的播放狀態(tài),如果播放器處于流暢的播放狀態(tài),則播放器的播放狀態(tài)正常,如果由于網(wǎng)絡(luò)帶寬的降低、網(wǎng)絡(luò)傳輸時延等影響,播放器處于卡頓、斷播的播放狀態(tài),用戶不能正常觀看,則播放器的播放狀態(tài)異常。
[0026]步驟S106:若監(jiān)測到播放器的播放狀態(tài)異常,則獲取播放器的播放狀態(tài)異常的時間?目息,以得到異常時間?目息。
[0027]在監(jiān)測到播放器處于異常的播放狀態(tài)時,記錄下異常播放狀態(tài)的時間信息,例如,異常播放狀態(tài)發(fā)生時的系統(tǒng)時間和結(jié)束時的系統(tǒng)時間,或者異常播放狀態(tài)持續(xù)的時長等。
[0028]步驟S108:在流媒體播放結(jié)束時,獲取流媒體播放的結(jié)束時間信息。
[0029]其中,流媒體播放結(jié)束可能是由于用戶主動終止使用業(yè)務(wù)而使流媒體播放結(jié)束,也可能是由于用戶終端與流媒體服務(wù)器之間連接中斷超時而結(jié)束。
[0030]步驟SllO:根據(jù)結(jié)束時間信息、起始時間信息和異常時間信息計算流媒體的實際播放時長。
[0031]其中,根據(jù)結(jié)束時間信息、起始時間信息以及異常時間信息的具體表現(xiàn)形式的不同,可采用不同的計算方法。
[0032]例如,結(jié)束時間信息、起始時間信息以及異常時間信息均為系統(tǒng)時間,其中,起始時間信息包括流媒體播放的起始時刻,結(jié)束時間信息包括流媒體播放的結(jié)束時刻。
[0033]在播放器的播放狀態(tài)異常時,獲取播放器的播放狀態(tài)異常的起始時刻,在播放器的播放狀態(tài)恢復(fù)正常時,獲取播放器的播放狀態(tài)異常的結(jié)束時刻,通過播放狀態(tài)異常的結(jié)束時刻減去播放狀態(tài)異常的起始時刻得到播放器處于異常播放狀態(tài)的時長?;蛘?,在播放器的播放狀態(tài)異常時,計時器清零并啟動開始計時,在播放器的播放狀態(tài)恢復(fù)正常時,控制計時器計時結(jié)束,獲取計時器的計時長度,得到播放器處于異常播放狀態(tài)的時長。
[0034]在計算流媒體的實際播放時長時,由流媒體播放的結(jié)束時刻減去流媒體播放的起始時刻,再減去播放器處于異常播放狀態(tài)的時長所得的差,以得到實際播放時長。
[0035]又如,結(jié)束時間信息、起始時間信息以及異常時間信息均為計時器統(tǒng)計的時間。在播放器開始播放流媒體時,將第一計時器清零并開始計時,在流媒體播放結(jié)束時,第一計時器計時結(jié)束,結(jié)束時間信息為第一計時器的當(dāng)前時間,如I時30分28秒。在播放器的播放狀態(tài)第一次出現(xiàn)異常時,啟動第二計時器清零并開始計時,在該次異常的播放狀態(tài)恢復(fù)正常時,控制第二計時器計時結(jié)束,例如此時第二計時器的時間為O時O分20秒。在播放器的播放狀態(tài)第二次出現(xiàn)異常時,啟動第二計時器再次開始計時,在該次異常的播放狀態(tài)恢復(fù)正常時,控制第二計時器計時結(jié)束,例如,此時第二計時器的時間為O時2分18秒,以此類推,每次播放狀態(tài)出現(xiàn)異常時,啟動第二計時器進行計時,直到流媒體播放結(jié)束。
[0036]在計算流媒體的實際播放時長時,獲取第一計時器中的時長,得到I時30分28秒。再獲取第二計時器中的時長,得到O時2分18秒,從而I時30分28秒減去O時2分18秒得到I時28分10秒,該時間便為播放器此次播放流媒體是的實際播放時長。
[0037]采用該實施例提供的流媒體播放時長的獲取方法,在計算流媒體的實際播放時長時,首先響應(yīng)用戶的操作命令,控制播放器播放流媒體,并獲取流媒體播放的起始時間信息,在流媒體播放結(jié)束時,獲取流媒體播放的結(jié)束時間信息。其中,在播放器播放流媒體的過程中實時監(jiān)測播放器的播放狀態(tài),若監(jiān)測到播放狀態(tài)異常,則將異常播放狀態(tài)的時間信息進行記錄,在計算實際播放時長時,根據(jù)結(jié)束時間信息、起始時間信息和異常時間信息計算,從而在流媒體的播放過程中,如果由于網(wǎng)絡(luò)帶寬的影響,或者用戶的操作出現(xiàn)播放異常的情況時,將這些播放異常的時間信息作為播放時長的計算因子,使得播放時長的計算更為準(zhǔn)確。
[0038]實施例二
該實施例為在實施例一的基礎(chǔ)上進一步優(yōu)選的流媒體播放時長的獲取方法,參見圖2,該方法可以包括以下步驟:
步驟S202:響應(yīng)用戶的操作命令,控制播放器播放流媒體,并獲取流媒體播放的起始時刻。
[0039]步驟S204:獲取播放器的播放方式,其中,播放方式包括點播和直播,若播放方式為點播,則執(zhí)行步驟S206,若播放方式為直播,則執(zhí)行步驟S208。
[0040]步驟S206:監(jiān)測播放器是否處于卡頓狀態(tài)或被拖拽的狀態(tài),其中,若播放器處于卡頓狀態(tài)或被拖拽的狀態(tài),則播放器的播放狀態(tài)異常。
[0041]步驟S208:監(jiān)測播放器是否處于卡頓狀態(tài),其中,若播放器處于卡頓狀態(tài),則播放器的播放狀態(tài)異常。
[0042]由于播放方式為點播時,在播放器播放的過程中,允許用戶的拖拽。因而,播放器的異常播放狀態(tài)除了由于網(wǎng)絡(luò)狀況而引起播放的卡頓,還可能由于用戶的拖拽而引起播放中斷。
[0043