本發(fā)明涉及通信領(lǐng)域,具體一種視頻信息描述文件獲取方法及內(nèi)容分發(fā)服務(wù)器、機(jī)頂盒、系統(tǒng)。
背景技術(shù):
ott是“overthetop”的縮寫(xiě),是指通過(guò)互聯(lián)網(wǎng)向用戶(hù)提供各種應(yīng)用服務(wù)。這種應(yīng)用和目前運(yùn)營(yíng)商所提供的通信業(yè)務(wù)不同,它僅利用運(yùn)營(yíng)商的網(wǎng)絡(luò),而服務(wù)由運(yùn)營(yíng)商之外的第三方提供。
hls(httplivestreaming)技術(shù)實(shí)現(xiàn)otttv技術(shù)之一。hls即是蘋(píng)果公司(appleinc.)實(shí)現(xiàn)的基于http的流媒體傳輸協(xié)議,可實(shí)現(xiàn)流媒體的直播和點(diǎn)播,主要應(yīng)用在ios系統(tǒng),為ios設(shè)備(如iphone、ipad)提供音視頻直播和點(diǎn)播方案。hls傳輸內(nèi)容包括兩部分,一是m3u8描述文件,二是ts媒體文件。機(jī)頂盒在播放ott片源時(shí)獲取到m3u8描述文件后,在本地每隔一段時(shí)間讀取m3u8描述文件,再根據(jù)m3u8描述文件獲取到對(duì)應(yīng)的ts媒體文件進(jìn)行播放。但是在編碼服務(wù)器發(fā)送異常重啟后,其可能會(huì)對(duì)頻道碼流進(jìn)行重新分割,排序;在斷網(wǎng)時(shí)就會(huì)導(dǎo)致ts片段終端。而這些機(jī)頂盒并不知道,導(dǎo)致機(jī)頂盒根據(jù)之前獲取的m3u8描述文件讀取到中斷的ts分片或序號(hào)重新排序后的ts分片,對(duì)于這些分片機(jī)頂盒并不能正常處理。而機(jī)頂盒當(dāng)前又沒(méi)有編碼服務(wù)器對(duì)頻道碼流進(jìn)行重新分割后生成的m3u8描述文件,不能正常進(jìn)行后續(xù)的流程處理,導(dǎo)致hls頻道畫(huà)面卡死,最終黑屏。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的主要技術(shù)問(wèn)題是,提供一種視頻信息描述文件獲取方法 及內(nèi)容分發(fā)服務(wù)器、機(jī)頂盒、系統(tǒng),解決現(xiàn)有機(jī)頂盒在編碼服務(wù)器異常后對(duì)獲取的中斷ts分片或序號(hào)重新排序后的ts分片不能正常處理又獲取不到新的描述文件導(dǎo)致hls頻道畫(huà)面卡死,最終黑屏的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種視頻信息描述文件下發(fā)方法,包括:
內(nèi)容分發(fā)服務(wù)器在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件;
所述內(nèi)容分發(fā)服務(wù)器獲取到視頻信息描述文件后,向機(jī)頂盒下發(fā)描述文件更新通知;
所述內(nèi)容分發(fā)服務(wù)器根據(jù)所述機(jī)頂盒反饋的第一描述文件獲取請(qǐng)求向其下發(fā)視頻信息描述文件。
在本發(fā)明的一種實(shí)施例中,所述預(yù)設(shè)獲取規(guī)則為按預(yù)設(shè)獲取周期定時(shí)獲取。
在本發(fā)明的一種實(shí)施例中,還包括:
所述內(nèi)容分發(fā)服務(wù)器接收所述機(jī)頂盒在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)未收到描述文件更新通知時(shí)發(fā)送的第二描述文件獲取請(qǐng)求;
所述內(nèi)容分發(fā)服務(wù)器根據(jù)所述第二描述文件獲取請(qǐng)求向所述機(jī)頂盒下發(fā)最新獲取的視頻信息描述文件。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種視頻信息描述文件獲取方法,包括:
機(jī)頂盒在節(jié)目播放過(guò)程中,接收內(nèi)容分發(fā)服務(wù)器從編碼服務(wù)器獲取到更新的視頻信息描述文件時(shí)下發(fā)的描述文件更新通知;
所述機(jī)頂盒根據(jù)所述描述文件更新通知向所述內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求;
所述機(jī)頂盒根據(jù)所述內(nèi)容分發(fā)服務(wù)器反饋的視頻信息描述文件判斷ts分片已更新時(shí),更新視頻信息描述文件及對(duì)應(yīng)的ts分片。
在本發(fā)明的一種實(shí)施例中,還包括:
所述機(jī)頂盒在節(jié)目播放過(guò)程中,超過(guò)預(yù)設(shè)時(shí)長(zhǎng)未收到內(nèi)容分發(fā)服務(wù)器下 發(fā)的描述文件更新通知時(shí),向所述內(nèi)容分發(fā)服務(wù)器發(fā)送第二描述文件獲取請(qǐng)求;
所述機(jī)頂盒接收所述內(nèi)容分發(fā)服務(wù)器根據(jù)所述第二描述文件獲取請(qǐng)求下發(fā)的視頻信息描述文件,根據(jù)該視頻信息描述文件判斷ts分片是否已更新。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種通信方法,包括:
內(nèi)容分發(fā)服務(wù)器在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件;
所述內(nèi)容分發(fā)服務(wù)器獲取到視頻信息描述文件后,向機(jī)頂盒下發(fā)描述文件更新通知;
所述機(jī)頂盒根據(jù)所述描述文件更新通知向所述內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求;
所述內(nèi)容分發(fā)服務(wù)器根據(jù)所述第一描述文件獲取請(qǐng)求向其下發(fā)視頻信息描述文件;
所述機(jī)頂盒根據(jù)所述視頻信息描述文件判斷ts分片已更新時(shí),更新視頻信息描述文件及對(duì)應(yīng)的ts分片
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種內(nèi)容分發(fā)服務(wù)器,包括:信息獲取模塊、通知模塊以及收發(fā)模塊;
所述信息獲取模塊用于在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件;
所述通知模塊用于向機(jī)頂盒下發(fā)描述文件更新通知;
所述收發(fā)模塊用于根據(jù)所述機(jī)頂盒反饋的第一描述文件獲取請(qǐng)求向其下發(fā)視頻信息描述文件。
在本發(fā)明的一種實(shí)施例中,所述收發(fā)模塊還用于接收所述機(jī)頂盒在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)未收到描述文件更新通知時(shí)發(fā)送的第二描述文件獲取請(qǐng)求,根據(jù)所述第二描述文件獲取請(qǐng)求向所述機(jī)頂盒下發(fā)最新獲取的視頻信息描述文件。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種機(jī)頂盒,包括信息接收模塊、請(qǐng)求模塊以及處理模塊;
所述信息接收模塊用于在節(jié)目播放過(guò)程中,接收內(nèi)容分發(fā)服務(wù)器從編碼服務(wù)器獲取到更新的視頻信息描述文件時(shí)下發(fā)的描述文件更新通知;
所述請(qǐng)求模塊用于根據(jù)所述描述文件更新通知向所述內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求;
所述處理模塊用于根據(jù)所述內(nèi)容分發(fā)服務(wù)器反饋的視頻信息描述文件判斷ts分片已更新時(shí),更新視頻信息描述文件及對(duì)應(yīng)的ts分片。
在本發(fā)明的一種實(shí)施例中,所述請(qǐng)求模塊還用于在節(jié)目播放過(guò)程中,所述信息接收模塊超過(guò)預(yù)設(shè)時(shí)長(zhǎng)未收到描述文件更新通知時(shí),向所述內(nèi)容分發(fā)服務(wù)器發(fā)送第二描述文件獲取請(qǐng)求;
所述信息接收模塊還用于接收所述內(nèi)容分發(fā)服務(wù)器根據(jù)所述第二描述文件獲取請(qǐng)求下發(fā)的視頻信息描述文件;
所述處理模塊還用于根據(jù)該視頻信息描述文件判斷ts分片是否已更新。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種通信系統(tǒng),包括內(nèi)容分發(fā)服務(wù)器以及機(jī)頂盒;
所述內(nèi)容分發(fā)服務(wù)器用于在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件,向機(jī)頂盒下發(fā)描述文件更新通知,以及接收到機(jī)頂盒發(fā)送的所述第一描述文件獲取請(qǐng)求后向其下發(fā)視頻信息描述文件;
所述機(jī)頂盒用于根據(jù)所述描述文件更新通知向所述內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求,以及根據(jù)所述視頻信息描述文件判斷ts分片已更新時(shí),更新視頻信息描述文件及對(duì)應(yīng)的ts分片。
本發(fā)明的有益效果是:
本發(fā)明提供的視頻信息描述文件獲取方法及內(nèi)容分發(fā)服務(wù)器、機(jī)頂盒、系統(tǒng),編碼服務(wù)器在異?;謴?fù)后對(duì)頻道碼流進(jìn)行重新分割或繼續(xù)發(fā)送之前的ts分片導(dǎo)致機(jī)頂盒收到中斷的ts分片時(shí),編碼服務(wù)器會(huì)得到更新的視頻信息描述文件和ts分片。本發(fā)明中內(nèi)容分發(fā)服務(wù)器在節(jié)目播放過(guò)程中按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件,向機(jī)頂盒下發(fā)描述文件更新通知,以便機(jī)頂盒及時(shí)的獲取。機(jī)頂盒收到通知后向內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求獲取視頻信息描述文件,根據(jù)最新獲取的視頻信息描述 文件判斷ts分片已更新時(shí),直接更新視頻信息描述文件及對(duì)應(yīng)的ts分片,這樣可以保證節(jié)目的繼續(xù)播放,避免出現(xiàn)hls頻道畫(huà)面卡死,最終黑屏的問(wèn)題,提升用戶(hù)體驗(yàn)滿意度。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一中播放hls頻道節(jié)目的通信流程示意圖;
圖2為本發(fā)明實(shí)施例一中機(jī)頂盒播放hls頻道節(jié)目的流程示意圖;
圖3為本發(fā)明實(shí)施例一中機(jī)頂盒判斷是否需要重新獲取分片的流程示意圖;
圖4為本發(fā)明實(shí)施例二中通信系統(tǒng)結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例二中內(nèi)容分發(fā)服務(wù)器結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例二中機(jī)頂盒結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明中的內(nèi)容分發(fā)服務(wù)器在節(jié)目播放過(guò)程中可按預(yù)設(shè)規(guī)則從編碼器服務(wù)器上獲取視頻信息描述文件并通知機(jī)頂盒進(jìn)行獲?。贿@樣機(jī)頂盒在節(jié)目播放過(guò)程中就可以獲取到編碼服務(wù)器上當(dāng)前的視頻信息描述文件,進(jìn)而判斷出ts分片是否已更新,如是,則重新獲取,保證節(jié)目的正常播放。避免出現(xiàn)機(jī)頂盒對(duì)之前的中斷分片和重新排序后的分片不能播放導(dǎo)致黑屏卡機(jī)的問(wèn)題出現(xiàn)。下面通過(guò)具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
實(shí)施例一:
請(qǐng)參見(jiàn)圖1所示,該圖所示為本實(shí)施例播放hls頻道節(jié)目的通信過(guò)程,其包括:包括:
s101:內(nèi)容分發(fā)服務(wù)器(cdn)在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件。
在上述過(guò)程中,編碼服務(wù)器可能會(huì)從異常恢復(fù),例如從斷電恢復(fù)或斷網(wǎng)恢復(fù)等。在異常恢復(fù)后,編碼服務(wù)器對(duì)頻道碼流進(jìn)行重新分割或繼續(xù)發(fā)送之前的ts分片導(dǎo)致機(jī)頂盒收到中斷的ts分片時(shí),編碼服務(wù)器會(huì)得到更新的 視頻信息描述文件和ts分片。
s102:內(nèi)容分發(fā)服務(wù)器獲取到視頻信息描述文件后,向機(jī)頂盒(stb)下發(fā)描述文件更新通知,以通知機(jī)頂盒獲取視頻信息描述文件。
s103:機(jī)頂盒接收內(nèi)容分發(fā)服務(wù)器下發(fā)的描述文件更新通知,向內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求。
s104:內(nèi)容分發(fā)服務(wù)器根據(jù)所述機(jī)頂盒發(fā)送的第一描述文件獲取請(qǐng)求向其下發(fā)獲取的視頻信息描述文件。
s105:機(jī)頂盒根據(jù)內(nèi)容分發(fā)服務(wù)器下發(fā)的視頻信息描述文件判斷ts分片是否已經(jīng)更新(例如重新排序或中斷過(guò)),如是,轉(zhuǎn)至s106;否則,轉(zhuǎn)至s107;
s106:機(jī)頂盒更新視頻信息描述文件以及對(duì)應(yīng)的ts分片。
具體的,機(jī)頂盒可以向內(nèi)容分發(fā)服務(wù)器發(fā)送重新獲取描述文件請(qǐng)求獲取新的視頻信息描述文件,并根據(jù)該視頻信息描述文件獲取到更新后的ts分片。
s107:繼續(xù)正常執(zhí)行播放流程。
本實(shí)施例中的視頻信息描述文件可以為m3u8描述文件;當(dāng)然應(yīng)當(dāng)理解的是也可以為其他格式的視頻信息描述文件。
上述s101中的按預(yù)設(shè)獲取規(guī)則具體可以為按預(yù)設(shè)獲取周期定時(shí)獲取,例如每隔10秒、20秒或1分鐘等從編碼服務(wù)器獲取一次視頻信息描述文件;當(dāng)然也可以采用其他獲取規(guī)則,例如不定時(shí)或其他動(dòng)態(tài)獲取方式。由于編碼服務(wù)器可能在節(jié)目播放過(guò)程中異常,然后恢復(fù),例如從斷電恢復(fù)或斷網(wǎng)恢復(fù)等。在異?;謴?fù)后,編碼服務(wù)器對(duì)頻道碼流進(jìn)行重新分割或繼續(xù)發(fā)送之前的ts分片導(dǎo)致機(jī)頂盒收到中斷的ts分片時(shí),編碼服務(wù)器會(huì)得到更新的視頻信息描述文件和ts分片。而內(nèi)容分發(fā)服務(wù)器定時(shí)從編碼服務(wù)器獲取到最新的視頻信息描述文件后就及時(shí)通知機(jī)頂盒,這樣機(jī)頂盒可以及時(shí)的獲取到編碼服務(wù)器上的視頻信息描述文件,并在判定ts分片更新后對(duì)應(yīng)更新ts分片,因此可保證節(jié)目的正常播放。
本實(shí)施例中,機(jī)頂盒根據(jù)內(nèi)容分發(fā)服務(wù)器反饋的視頻信息描述文件判斷ts分片是否更新(例如重排序)的方式可以采用以下任意一種方式。
機(jī)頂盒判斷當(dāng)前最新獲取的視頻信息描述文件的大小與之前獲取的視頻信息描述文件大小是否相同,如否,則可判定發(fā)生了更新;該更新可能是ts分片重排序,或者其他更新。
機(jī)頂盒判斷視頻信息描述文件中ts分片的時(shí)間段大小與已獲取的ts分片時(shí)間段大小是否一致,如否,則判定ts分片已更新。該更新也可能是ts分片重排序,或者其他更新。
為了更好的理解本發(fā)明,下面結(jié)合一具體的實(shí)現(xiàn)過(guò)程對(duì)本發(fā)明做進(jìn)一步示例說(shuō)明。
在本實(shí)施例中,機(jī)頂盒除了根據(jù)內(nèi)容分發(fā)服務(wù)器下發(fā)的更新通知被動(dòng)獲取視頻信息描述文件外;機(jī)頂盒還可以主動(dòng)向內(nèi)容分發(fā)服務(wù)器發(fā)送請(qǐng)求主動(dòng)獲取。例如:機(jī)頂盒在節(jié)目播放過(guò)程中,超過(guò)預(yù)設(shè)時(shí)長(zhǎng)(可以是預(yù)設(shè)獲取周期的2倍或2倍以上的數(shù)值)未收到內(nèi)容分發(fā)服務(wù)器下發(fā)的描述文件更新通知時(shí),此時(shí)表明內(nèi)容分發(fā)服務(wù)器可能出現(xiàn)異常,機(jī)頂盒可主動(dòng)向內(nèi)容分發(fā)服務(wù)器發(fā)送第二描述文件獲取請(qǐng)求;
內(nèi)容分發(fā)服務(wù)器接收到第二描述文件獲取請(qǐng)求后,將最新獲取的視頻信息描述文件下發(fā)給機(jī)頂盒;機(jī)頂盒則根據(jù)該視頻信息描述文件判斷ts分片是否已更新,如是,則及時(shí)對(duì)應(yīng)的更新,以保證節(jié)目的正常播放。
為了更好的理解本發(fā)明,下面以一個(gè)具體示例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
請(qǐng)參見(jiàn)圖2所示,機(jī)頂盒播放hls頻道節(jié)目的過(guò)程包括:
s201:機(jī)頂盒上電播放hls頻道節(jié)目。
s202:編碼服務(wù)器異常重啟后,繼續(xù)分割視頻源,對(duì)新的ts分片重新排序。
s203:內(nèi)容分發(fā)服務(wù)器每分鐘從編碼服務(wù)器上獲取更新視頻信息描述文件,并向下級(jí)的機(jī)頂盒發(fā)送描述更新通知。
s204:機(jī)頂盒根據(jù)內(nèi)容分發(fā)服務(wù)器發(fā)送過(guò)來(lái)的描述更新通知,向內(nèi)容分發(fā)服務(wù)器發(fā)送描述文件獲取請(qǐng)求以獲取到視頻信息描述文件。
s205:機(jī)頂盒根據(jù)獲取到的視頻信息描述文件判斷ts分片重新排序后,重新獲取ts分片。
s206:hls頻道節(jié)目正常播放。
其中,上述s205的執(zhí)行過(guò)程參見(jiàn)圖3所示,包括:
s301:機(jī)頂盒stb接收內(nèi)容分發(fā)服務(wù)器側(cè)發(fā)送的視頻信息描述文件(例如m3u8文件)。
s302:機(jī)頂盒分析m3u8文件中對(duì)ts分片的描述。
s303:機(jī)頂盒stb根據(jù)自身定時(shí)器命令,判斷ts分片序列時(shí)間段,根據(jù)分片的時(shí)間描述對(duì)比分片的時(shí)間大小是否有變化;如是,轉(zhuǎn)至s304;否則,轉(zhuǎn)至s305。
s304:更新m3u8文件和ts分片。
s305:繼續(xù)播放hls頻道節(jié)目。
上述方案通過(guò)對(duì)hls文件的實(shí)時(shí)請(qǐng)求和更新,使機(jī)頂盒處理能力更加及時(shí),避免影響用戶(hù)觀看視頻節(jié)目,提高了用戶(hù)體驗(yàn)。
基于上述介紹可知,本實(shí)施例基于編碼服務(wù)器(也即編碼器,encoder)、cdn、機(jī)頂盒(stb)這一系統(tǒng),在編碼服務(wù)器上對(duì)碼流進(jìn)行實(shí)時(shí)切片和生成m3u8描述文件;cdn接收并下發(fā)切片和m3u8文件;機(jī)頂盒讀取m3u8文件,下載和保存ts分片,展示ts分片內(nèi)容。為了解決視頻畫(huà)面卡死和黑屏現(xiàn)象,本實(shí)施例中的機(jī)頂盒可以需要實(shí)時(shí)讀取及時(shí)從cdn獲取分片m3u8描述文件,實(shí)時(shí)更新ts媒體文件的方法,以解決分片中斷或者分片序列號(hào)重新排列問(wèn)題。
實(shí)施例二:
本實(shí)施例提出了一種通信系統(tǒng),參見(jiàn)圖4所示,包括編碼服務(wù)器41、內(nèi)容分發(fā)服務(wù)器42以及機(jī)頂盒43,其中:
編碼服務(wù)器41用于在異?;謴?fù)后對(duì)頻道碼流進(jìn)行重新分割,得到更新的視頻信息描述文件(例如m3u8文件)和ts分片;
內(nèi)容分發(fā)服務(wù)器42用于在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器41獲取視頻信息描述文件后,向機(jī)頂盒43下發(fā)描述文件更新通知,以及接收到機(jī)頂盒43發(fā)送的第一描述文件獲取請(qǐng)求后向其下發(fā)視頻信息描述文件;
機(jī)頂盒43用于根據(jù)描述文件更新通知向內(nèi)容分發(fā)服務(wù)器42發(fā)送第一描述文件獲取請(qǐng)求,以及根據(jù)視頻信息描述文件判斷ts分片已更新時(shí),更新視頻信息描述文件及對(duì)應(yīng)的ts分片。
本實(shí)施例中,機(jī)頂盒在節(jié)目播放過(guò)程中,當(dāng)監(jiān)測(cè)到超過(guò)預(yù)設(shè)時(shí)長(zhǎng)未收到描述文件更新通知時(shí),主動(dòng)向內(nèi)容分發(fā)服務(wù)器發(fā)送第二描述文件獲取請(qǐng)求;內(nèi)容分發(fā)服務(wù)器接收到第二描述文件獲取請(qǐng)求后,將最新獲取的視頻信息描述文件下發(fā)給機(jī)頂盒;機(jī)頂盒則根據(jù)該視頻信息描述文件判斷ts分片是否已更新,如是,則及時(shí)對(duì)應(yīng)的更新,以保證節(jié)目的正常播放。
請(qǐng)參見(jiàn)圖5所示,本實(shí)施例中的內(nèi)容分發(fā)服務(wù)器42包括信息獲取模塊421、通知模塊422以及收發(fā)模塊423;
信息獲取模塊421用于在節(jié)目播放過(guò)程中,按預(yù)設(shè)獲取規(guī)則從編碼服務(wù)器獲取視頻信息描述文件;
通知模塊422用于向機(jī)頂盒下發(fā)描述文件更新通知;
收發(fā)模塊423用于根據(jù)機(jī)頂盒反饋的第一描述文件獲取請(qǐng)求向其下發(fā)視頻信息描述文件。
按預(yù)設(shè)獲取規(guī)則具體可以為按預(yù)設(shè)獲取周期定時(shí)獲取,例如每隔10秒、20秒或1分鐘等從編碼服務(wù)器獲取一次視頻信息描述文件。由于編碼服務(wù)器可能在節(jié)目播放過(guò)程中異常,然后恢復(fù),例如從斷電恢復(fù)或斷網(wǎng)恢復(fù)等。在異?;謴?fù)后,編碼服務(wù)器對(duì)頻道碼流進(jìn)行重新分割或繼續(xù)發(fā)送之前的ts分片導(dǎo)致機(jī)頂盒收到中斷的ts分片時(shí),編碼服務(wù)器會(huì)得到更新的視頻信息描述文件和ts分片。而信息獲取模塊421定時(shí)從編碼服務(wù)器獲取到最新的視頻信息描述文件后就及時(shí)通知機(jī)頂盒,這樣機(jī)頂盒可以及時(shí)的獲取到編碼服務(wù)器上的視頻信息描述文件,并在判定ts分片更新后對(duì)應(yīng)更新ts分片,因此可保證節(jié)目的正常播放。
收發(fā)模塊423還用于接收機(jī)頂盒43在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)未收到描述文件更新通知時(shí)發(fā)送的第二描述文件獲取請(qǐng)求,根據(jù)第二描述文件獲取請(qǐng)求向機(jī)頂盒下發(fā)最新獲取的視頻信息描述文件。
請(qǐng)參見(jiàn)圖6所示,本實(shí)施例中的機(jī)頂盒43包括信息接收模塊431、請(qǐng)求模塊432以及處理模塊433;
信息接收模塊431用于在節(jié)目播放過(guò)程中,接收內(nèi)容分發(fā)服務(wù)器從編碼服務(wù)器獲取到更新的視頻信息描述文件時(shí)下發(fā)的描述文件更新通知;
請(qǐng)求模塊432用于根據(jù)描述文件更新通知向內(nèi)容分發(fā)服務(wù)器發(fā)送第一描述文件獲取請(qǐng)求;
處理模塊433用于根據(jù)內(nèi)容分發(fā)服務(wù)器反饋的視頻信息描述文件判斷ts分片已更新時(shí),更新視頻信息描述文件及對(duì)應(yīng)的ts分片。
處理模塊433根據(jù)內(nèi)容分發(fā)服務(wù)器反饋的視頻信息描述文件判斷ts分片是否更新(例如重排序)的方式可以采用以下任意一種方式。
處理模塊433判斷當(dāng)前最新獲取的視頻信息描述文件的大小與之前獲取的視頻信息描述文件大小是否相同,如否,則可判定發(fā)生了更新。
處理模塊433判斷視頻信息描述文件中ts分片的時(shí)間段大小與已獲取的ts分片時(shí)間段大小是否一致,如否,則判定ts分片已更新。
本實(shí)施例中的請(qǐng)求模塊432還用于在節(jié)目播放過(guò)程中,在信息接收模塊431超過(guò)預(yù)設(shè)時(shí)長(zhǎng)未收到描述文件更新通知時(shí),向內(nèi)容分發(fā)服務(wù)器42發(fā)送第二描述文件獲取請(qǐng)求;
信息接收模塊431還用于接收內(nèi)容分發(fā)服務(wù)器根據(jù)第二描述文件獲取請(qǐng)求下發(fā)的視頻信息描述文件;
處理模塊433還用于根據(jù)該視頻信息描述文件判斷ts分片是否已更新。這樣實(shí)現(xiàn)了機(jī)頂盒主動(dòng)向內(nèi)容分發(fā)服務(wù)器發(fā)送請(qǐng)求主動(dòng)獲取,可保證視頻信息描述文件的可靠獲取。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)介質(zhì)(rom/ram、磁碟、光盤(pán))中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。所以,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。