專利名稱:網(wǎng)絡(luò)電視時(shí)移播放方法、網(wǎng)絡(luò)電視系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻播放技術(shù),尤其涉及一種網(wǎng)絡(luò)電視時(shí)移播放方法、網(wǎng)絡(luò)電視系統(tǒng)和裝置。
背景技術(shù):
隨著寬帶網(wǎng)絡(luò)和視頻網(wǎng)站的普及,網(wǎng)絡(luò)電視(簡(jiǎn)稱WebTV)技術(shù)的應(yīng)用越來(lái)越廣泛。WebTV采用基于超文本傳輸協(xié)議(Hyper Text Transfer Protocol,簡(jiǎn)稱HTTP)技術(shù)的HTTP動(dòng)態(tài)碼率自適應(yīng)(HTTP Live Streaming,簡(jiǎn)稱HLS)協(xié)議。在現(xiàn)有的HLS協(xié)議中,進(jìn)行視頻直播的方法為:播放器使用統(tǒng)一資源定位符(Uniform Resource Locator,簡(jiǎn)稱URL)向媒體服務(wù)器請(qǐng)求播放列表,媒體服務(wù)器根據(jù)該URL向播放器返回播放列表。該播放列表包括媒體文件的按照時(shí)間順序排列的3個(gè)分片的列表。根據(jù)上述現(xiàn)有的 HLS協(xié)議,視頻時(shí)移播放的方法包括以下兩種。方法一:用戶每次進(jìn)入直播操作、時(shí)移操作或定位操作都重新初始化播放器,每次初始化后,為該播放器設(shè)置新的URL,媒體服務(wù)器向播放器返回該URL指定的包括3個(gè)分片的播放列表。方法二:在每一次播放器向媒體服務(wù)器請(qǐng)求播放列表時(shí),媒體服務(wù)器根據(jù)所需的時(shí)移長(zhǎng)度將自身存儲(chǔ)的分片組成播放列表,在每一次向播放器提供播放列表時(shí),媒體服務(wù)器直接向播放器返回當(dāng)前最新的播放列表,每一次返回的播放列表中均包括從該次的當(dāng)前時(shí)刻起時(shí)間長(zhǎng)度為所需時(shí)移長(zhǎng)度的全部分片。采用上述方法一時(shí),用戶每次進(jìn)入直播操作、時(shí)移操作或定位操作都必須重新初始化播放器,導(dǎo)致該方法過(guò)程復(fù)雜,初始化時(shí)間長(zhǎng),并且由于初始化過(guò)程中導(dǎo)致黑屏,因此采用方法一會(huì)頻繁地出現(xiàn)黑屏現(xiàn)象,從而導(dǎo)致時(shí)移播放過(guò)程的效率低、效果差。采用上述方法二時(shí),原HLS協(xié)議中每個(gè)分片的長(zhǎng)度通常為10秒,播放器按照分片長(zhǎng)度的時(shí)間間隔定時(shí)從媒體服務(wù)器獲取最新的播放列表,現(xiàn)有的HLS協(xié)議無(wú)法對(duì)直播播放狀態(tài)和時(shí)移播放狀態(tài)進(jìn)行區(qū)分,媒體服務(wù)器向播放器返回完整的時(shí)移長(zhǎng)度的播放列表,而對(duì)于時(shí)移播放過(guò)程,時(shí)移長(zhǎng)度通常為1-2小時(shí),因此該方法對(duì)播放列表中包括的分片個(gè)數(shù)擴(kuò)大了幾百倍,從而極大地消耗了用戶的帶寬,造成用戶的播放帶寬不足,從而導(dǎo)致時(shí)移播放過(guò)程的效率低、效果差。
發(fā)明內(nèi)容
本發(fā)明的第一個(gè)方面是提供一種網(wǎng)絡(luò)電視時(shí)移播放方法,用以解決現(xiàn)有技術(shù)中的缺陷,提高時(shí)移播放效率。本發(fā)明的另一個(gè)方面是提供一種網(wǎng)絡(luò)電視系統(tǒng),用以解決現(xiàn)有技術(shù)中的缺陷,提高時(shí)移播放效率。本發(fā)明的又一個(gè)方面是提供一種播放代理裝置,用以解決現(xiàn)有技術(shù)中的缺陷,提高時(shí)移播放效率。本發(fā)明的又一個(gè)方面是提供一種時(shí)移服務(wù)器,用以解決現(xiàn)有技術(shù)中的缺陷,提高時(shí)移播放效率。本發(fā)明的第一個(gè)方面是提供一種網(wǎng)絡(luò)電視時(shí)移播放方法,包括:從時(shí)移服務(wù)器獲取時(shí)移播放列表,從直播服務(wù)器獲取直播播放列表;根據(jù)所述時(shí)移播放列表和所述直播播放列表,生成當(dāng)前時(shí)移窗口播放列表;向播放器提供所述當(dāng)前時(shí)移窗口播放列表,以供所述播放器在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片;當(dāng)所述定位分片屬于直播分片時(shí),從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器;當(dāng)所述定位分片屬于時(shí)移分片時(shí),從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器。本發(fā)明的另一個(gè)方面是提供一種網(wǎng)絡(luò)電視系統(tǒng),包括:時(shí)移服務(wù)器,用于向代理播放裝置提供時(shí)移播放列表和時(shí)移分片;直播服務(wù)器,用于向代理播放裝置提供直播播放列表和直播分片;播放代理裝置,用于根據(jù)所述時(shí)移播放列表和所述直播播放列表生成當(dāng)前時(shí)移窗口播放列表并提供給播放器;當(dāng)所述播放器選擇的定位分片屬于直播分片時(shí),從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器;當(dāng)所述播放器選擇的定位分片屬于時(shí)移分片時(shí),從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器; 播放器,用于在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片,獲取所述播放代理裝置轉(zhuǎn)發(fā)的直播分片或時(shí)移分片。本發(fā)明的又一個(gè)方面是提供一種播放代理裝置,包括:第一交互單元,用于從時(shí)移服務(wù)器獲取時(shí)移播放列表并從直播服務(wù)器獲取直播播放列表;播放列表生成單元,用于根據(jù)所述時(shí)移播放列表和所述直播播放列表,生成當(dāng)前時(shí)移窗口播放列表;第二交互單元,用于向播放器提供所述當(dāng)前時(shí)移窗口播放列表,以供所述播放器在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片;分片轉(zhuǎn)發(fā)單元,用于當(dāng)所述定位分片屬于直播分片時(shí)從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器,當(dāng)所述定位分片屬于時(shí)移分片時(shí)從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器。本發(fā)明的又一個(gè)方面是提供一種時(shí)移服務(wù)器,包括:播放列表提供單元,用于向播放代理裝置提供時(shí)移播放列表,以使播放代理裝置生成當(dāng)前時(shí)移窗口播放列表并提供給播放器,以供播放器從所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片;分片提供單元,用于當(dāng)播放器選擇的定位分片屬于時(shí)移分片時(shí),向所述播放代理裝置提供從定位分片起的時(shí)移分片,以使所述播放代理裝置向播放器轉(zhuǎn)發(fā)所述時(shí)移分片。本發(fā)明一個(gè)方面的技術(shù)效果是:在上述網(wǎng)絡(luò)電視時(shí)移播放方法中,當(dāng)需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),從時(shí)移服務(wù)器獲取時(shí)移播放列表,將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,從而提高時(shí)移播放效率。
本發(fā)明另一個(gè)方面的技術(shù)效果是:在上述網(wǎng)絡(luò)電視系統(tǒng)中,播放代理裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表并將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,從能夠提高時(shí)移播放效率。本發(fā)明又一個(gè)方面的技術(shù)效果是:采用上述播放代理裝置,第一交互單元從時(shí)移服務(wù)器獲取時(shí)移播放列表,播放列表生成單兀將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,第二交互單兀向播放器提供當(dāng)前時(shí)移窗口播放列表并獲取播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇的定位分片,從而能夠提高時(shí)移播放效率。本發(fā)明又一個(gè)方面的技術(shù)效果是:在上述時(shí)移播放器中,播放列表提供單元向播放代理裝置提供時(shí)移播放列表,以便播放代理裝置將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,分片提供單元向播放代理裝置提供時(shí)移分片,從而能夠提高時(shí)移播放效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一的網(wǎng)絡(luò)電視時(shí)移播放方法的流程圖;圖2為本發(fā)明實(shí)施例二的網(wǎng)絡(luò)電視時(shí)移播放方法的信令流程圖;圖3為本發(fā)明實(shí)施例三的網(wǎng)絡(luò)電視系統(tǒng)的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例四的播放代理裝置的結(jié)構(gòu)示意
圖5為本發(fā)明實(shí)施例五的時(shí)移服務(wù)器的結(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ù)的范圍。現(xiàn)有的網(wǎng)絡(luò)電視系統(tǒng)由位于終端側(cè)的播放器和位于網(wǎng)絡(luò)側(cè)的直播服務(wù)器組成。在本發(fā)明的下述各實(shí)施例中,在現(xiàn)有的網(wǎng)絡(luò)電視系統(tǒng)中增加播放代理裝置和時(shí)移服務(wù)器。其中,播放代理裝置位于終端側(cè),用于代理播放器與直播服務(wù)器和時(shí)移服務(wù)器之間的信息交互。時(shí)移服務(wù)器位于網(wǎng)絡(luò)側(cè),用于對(duì)直播內(nèi)容進(jìn)行錄制并存儲(chǔ),提供時(shí)移服務(wù)。直播服務(wù)器僅用于提供直播服務(wù),不對(duì)直播內(nèi)容進(jìn)行錄制和存儲(chǔ)。圖1為本發(fā)明實(shí)施例一的網(wǎng)絡(luò)電視時(shí)移播放方法的流程圖。如圖1所示,該方法包括如下過(guò)程。步驟101:播放代理裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表,從直播服務(wù)器獲取直播播放列表。步驟102:播放代理裝置根據(jù)時(shí)移播放列表和直播播放列表,生成當(dāng)前時(shí)移窗口播放列表。其中,該時(shí)移窗口播放列表包括時(shí)移窗口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表,以供播放器獲取使用。步驟103:播放代理裝置向播放器提供當(dāng)前時(shí)移窗口播放列表,以供播放器在當(dāng)前時(shí)移窗口播放列表中選擇定位分片。步驟104:當(dāng)定位分片屬于直播分片時(shí),播放代理裝置從直播服務(wù)器獲取從定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器;當(dāng)定位分片屬于時(shí)移分片時(shí),播放代理裝置從時(shí)移服務(wù)器獲取從定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給播放器。在本發(fā)明實(shí)施例一中,當(dāng)需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),從時(shí)移服務(wù)器獲取時(shí)移播放列表,將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,從而既不必重復(fù)初始化播放器,也不必在每次直播播放列表中增加分片個(gè)數(shù),因此能夠提高時(shí)移播放效率。圖2為本發(fā)明實(shí)施例二的網(wǎng)絡(luò)電視時(shí)移播放方法的信令流程圖。如圖2所示,該方法包括如下過(guò)程。播放代理裝置從直播服務(wù)器獲取媒體索引文件,具體地,包括步驟201和步驟202。步驟201:播放代理裝置向 直播服務(wù)器發(fā)送媒體索引文件請(qǐng)求消息。步驟202:直播服務(wù)器向播放代理裝置返回媒體索引文件。在本步驟中,直播服務(wù)器獲得媒體索引文件(例如index.m3u8文件),以便在后續(xù)步驟中,當(dāng)播放器發(fā)起對(duì)于媒體索引文件的請(qǐng)求時(shí),將該媒體索引文件發(fā)送給播放器。該媒體索引文件用于指示直播服務(wù)器在當(dāng)前頻道支持的各種碼率。播放代理裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表,具體地,包括步驟203和步驟204。步驟203:播放代理裝置向時(shí)移服務(wù)器發(fā)送時(shí)移播放列表請(qǐng)求消息。步驟204:時(shí)移服務(wù)器向播放代理裝置返回時(shí)移播放列表。在本步驟中,該時(shí)移播放列表中包括時(shí)移窗口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表。在本發(fā)明實(shí)施例二中,以每個(gè)分片的時(shí)間長(zhǎng)度為10秒為例,以第200號(hào)分片表示某個(gè)視頻節(jié)目在8時(shí)開始的分片,則第201號(hào)分片為8時(shí)又10秒開始的分片。以當(dāng)前時(shí)間為10時(shí),時(shí)移窗口的時(shí)間長(zhǎng)度為2小時(shí)為例。則在此情況下,時(shí)移窗口為8時(shí)到10時(shí),時(shí)移服務(wù)器向播放代理裝置返回的時(shí)移播放列表為從8時(shí)到10時(shí)對(duì)應(yīng)的分片的列表,即第200號(hào)至第919號(hào)分片。播放代理裝置從直播服務(wù)器獲取直播播放列表,具體地,包括步驟205和步驟206。播放代理裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表與播放代理裝置從直播服務(wù)器獲取直播播放列表的執(zhí)行順序不受限制。在本發(fā)明實(shí)施例二中,僅以播放代理裝置先從時(shí)移服務(wù)器獲取時(shí)移播放列表,然后再?gòu)闹辈シ?wù)器獲取直播播放列表為例予以說(shuō)明,在其它的具體實(shí)施方式
中,也可以先從直播服務(wù)器獲取直播播放列表,然后再?gòu)臅r(shí)移服務(wù)器獲取時(shí)移播放列表,或者同時(shí)從直播服務(wù)器獲取直播播放列表并從時(shí)移服務(wù)器獲取時(shí)移播放列表。步驟205:播放代理裝置向直播服務(wù)器發(fā)送直播播放列表請(qǐng)求消息。在本步驟中,以播放代理裝置于10時(shí)又10秒向直播服務(wù)器發(fā)送直播播放列表請(qǐng)求消息。步驟206:直播服務(wù)器向播放代理裝置返回直播播放列表。在本步驟中,該直播播放列表中包括預(yù)設(shè)個(gè)數(shù)的分片的列表。在本發(fā)明實(shí)施例二中,以上述預(yù)設(shè)個(gè)數(shù)為3個(gè)為例,直播播放列表中包括時(shí)間最新的3個(gè)分片。由于步驟205中,播放代理裝置于10時(shí)又10秒向直播服務(wù)器發(fā)送直播播放列表請(qǐng)求消息,則在步驟206中,直播服務(wù)器返回的直播播放列表為包括第918號(hào)、第919號(hào)和第920號(hào)分片的列表。步驟207:播放代理裝置根據(jù)直播播放列表和時(shí)移播放列表,生成當(dāng)前時(shí)移窗口播放列表。在本步驟中,生成當(dāng)前時(shí)移窗口播放列表的具體方法為:首先,播放代理裝置按照時(shí)間順序拼接時(shí)移播放列表和直播播放列表,然后,播放代理裝置從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以此時(shí)的總播放列表作為當(dāng)前時(shí)移窗口播放列表。具體地,仍以時(shí)移播放列表為第200號(hào)至第919號(hào)分片的列表,且直播播放列表為第918號(hào)、第919號(hào)和第920號(hào)分片的列表為例,首先,播放代理裝置按照時(shí)間順序拼接時(shí)移播放列表和直播播放列表,拼接后獲得的總播放列表為第200號(hào)至第920號(hào)分片的列表,然后,播放代理裝置從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,在上述具體實(shí)例中,時(shí)移窗口的時(shí)間長(zhǎng)度為2小時(shí),拼接后獲得的總播放列表中,從第200號(hào)至第920號(hào)分片,比時(shí)移窗口的時(shí)間長(zhǎng)度超出了 I個(gè)分片,因此按照時(shí)間由舊到新的順序,從第200號(hào)至第920號(hào)分片中刪除最舊的I個(gè)分片,即刪除第200號(hào)分片,最終獲得當(dāng)前時(shí)移窗口播放列表為包括第201號(hào)至第920號(hào)分片的播放列表。具體地,在確定當(dāng)前時(shí)移窗口播放列表中包括的分片之后,修改該當(dāng)前時(shí)移窗口播放列表的起始分片序號(hào),將該序號(hào)修改為確定包括在當(dāng)前時(shí)移窗口播放列表中的時(shí)間最舊的分片的序號(hào)。如果該起 始分片自身沒(méi)有密鑰參數(shù),則根據(jù)按照由舊到新的順序排序時(shí)該起始分片的前一個(gè)分片,即最后一個(gè)刪除的分片,將該分片的密鑰參數(shù)復(fù)制給起始分片。例如,在上述具體實(shí)例中,當(dāng)前時(shí)移窗口播放列表為包括第201號(hào)至第920號(hào)分片的播放列表,則起始分片為第201號(hào)分片,將當(dāng)前時(shí)移窗口播放列表的起始分片序號(hào)修改為201。以第201號(hào)分片自身沒(méi)有密鑰參數(shù)、第200號(hào)分片具有密鑰參數(shù)為例,在此情況下,因?yàn)榈?00號(hào)分片被刪除,第201號(hào)分片作為第一個(gè)分片,則將第200號(hào)分片的密鑰參數(shù)復(fù)制給第201號(hào)分片。然后,播放代理裝置向播放器提供媒體索引文件,具體地,包括步驟208和步驟209。步驟208:播放器向播放代理裝置發(fā)送媒體索引文件請(qǐng)求消息。步驟209:播放代理裝置向播放器返回媒體索引文件。在本步驟中,播放代理裝置向播放器返回播放代理裝置在步驟202中獲取的媒體索引文件,以供播放器根據(jù)該媒體索引文件確定播放碼率。具體地,播放器根據(jù)該媒體索引文件(例如index.m3u8文件)能夠獲得直播服務(wù)器在當(dāng)前頻道支持的各種碼率,從而播放器可以根據(jù)該媒體索引文件,從支持的各種碼率中確定自身的播放碼率,在確定播放碼率時(shí),播放器可以參考自身的實(shí)際帶寬能力進(jìn)行選擇。
然后,播放代理裝置向播放器提供當(dāng)前時(shí)移窗口播放列表,以供播放器在當(dāng)前時(shí)移窗口播放列表中選擇定位分片,具體地,包括步驟210至步驟212。步驟210:播放器向播放代理裝置發(fā)送播放列表請(qǐng)求消息。步驟211:播放代理裝置向播放器返回當(dāng)前時(shí)移窗口播放列表。在本步驟中,在上述具體實(shí)例中,播放代理裝置向播放器返回的當(dāng)前時(shí)移窗口播放列表為包括第201號(hào)至第920號(hào)分片的播放列表。步驟212:播放器在當(dāng)前時(shí)移窗口播放列表中選擇定位分片,向播放代理裝置發(fā)送定位分片請(qǐng)求消息。在本步驟中,播放器根據(jù)當(dāng)前時(shí)移窗口播放列表進(jìn)行選擇,從該表中選擇定位分片。在上述具體實(shí)例中,播放器從第201號(hào)至第920號(hào)分片中選擇一個(gè)作為定位分片。步驟213:代理播放裝置判斷定位分片是否屬于當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的預(yù)設(shè)個(gè)數(shù)的分片。在本步驟中,該預(yù)設(shè)個(gè)數(shù)為直播播放列表中包括的分片的個(gè)數(shù)。如果判斷為是,則該定位分片屬于直播分片,在步驟213之后執(zhí)行步驟214。在本步驟中,如果判斷為否,則該定位分片屬于時(shí)移分片,在步驟213之后執(zhí)行步驟215。在上述具體實(shí)例中,仍以預(yù)設(shè)個(gè)數(shù)為3個(gè)為例,定位分片是播放器從第201號(hào)至第920號(hào)分片中選擇的。如果該定位分片屬于時(shí)間最新的3個(gè)分片,例·如該定位分片為第920號(hào)分片、第919號(hào)分片或第918號(hào)分片,則該定位分片屬于直播分片。如果該定位分片不屬于時(shí)間最新的3個(gè)分片,例如該定位分片為第201號(hào)分片至第917號(hào)分片中的任意一個(gè),則該定位分片屬于時(shí)移分片。步驟214:播放代理裝置從直播服務(wù)器獲取從定位分片起的直播分片。在步驟214之后,執(zhí)行步驟216。步驟215:播放代理裝置從時(shí)移服務(wù)器獲取從定位分片起的時(shí)移分片。在步驟215之后,執(zhí)行步驟216。步驟216:播放代理裝置向播放器轉(zhuǎn)發(fā)分片。在本步驟中,具體地,播放代理裝置向播放器轉(zhuǎn)發(fā)步驟214中從直播服務(wù)器獲取的直播分片或步驟215中從時(shí)移服務(wù)器獲取的時(shí)移分片。在轉(zhuǎn)發(fā)過(guò)程中,播放代理裝置采用逐包轉(zhuǎn)發(fā)的方式,不對(duì)獲取的直播分片或者時(shí)移分片進(jìn)行任何的緩沖操作,從而避免緩沖操作造成的播放器本地帶寬計(jì)算錯(cuò)誤,進(jìn)一步提高時(shí)移播放效率和準(zhǔn)確性。上述步驟201至步驟216對(duì)初次進(jìn)行時(shí)移播放的處理過(guò)程進(jìn)行了介紹。其中,在步驟207中,播放代理裝置根據(jù)直播播放列表和時(shí)移播放列表生成當(dāng)前時(shí)移窗口播放列表之后,對(duì)初次時(shí)移播放過(guò)程中生成的該當(dāng)前時(shí)移窗口播放列表進(jìn)行存儲(chǔ)。在完成初次時(shí)移播放過(guò)程之后,后續(xù)再次進(jìn)行時(shí)移播放時(shí),播放代理裝置可以不必再次獲取時(shí)移播放列表,而僅獲取新的直播播放列表,將新的直播播放列表與存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表進(jìn)行拼接,形成新的當(dāng)前時(shí)移窗口播放列表并對(duì)存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表進(jìn)行更新。具體地,在步驟216之后,再次進(jìn)行時(shí)移播放的具體過(guò)程包括:步驟217:播放代理裝置向直播服務(wù)器發(fā)送直播播放列表請(qǐng)求消息。步驟218:直播服務(wù)器向播放代理裝置返回新的直播播放列表。步驟219:播放代理裝置根據(jù)新的直播播放列表和存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表,生成新的當(dāng)前時(shí)移窗口播放列表,并更新存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表。
在本步驟中,生成新的當(dāng)前時(shí)移窗口播放列表的具體方法為:首先,播放代理裝置按照時(shí)間順序拼接存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表和直播播放列表,然后,播放代理裝置從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以此時(shí)的總播放列表作為新的當(dāng)前時(shí)移窗口播放列表。在播放代理裝置生成新的當(dāng)前時(shí)移窗口播放列表之后,播放代理裝置將存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表更新為生成的新的當(dāng)前時(shí)移窗口播放列表。步驟220:播放器向播放代理裝置發(fā)送播放列表請(qǐng)求消息。步驟221:播放代理裝置向播放器返回新的當(dāng)前時(shí)移窗口播放列表。步驟222:播放器在新的當(dāng)前時(shí)移窗口播放列表中選擇定位分片,向播放代理裝置發(fā)送定位分片請(qǐng)求消息。步驟223:代理播放裝置判斷定位分片是否屬于新的當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的預(yù)設(shè)個(gè)數(shù)的分片。如果判斷為是,則該定位分片屬于直播分片,在步驟223之后執(zhí)行步驟224。在本步驟中,如果判斷為否,則該定位分片屬于時(shí)移分片,在步驟223之后執(zhí)行步驟225。步驟224:播放代理裝置從直播服務(wù)器獲取從定位分片起的直播分片。在步驟224之后,執(zhí)行步驟226。步驟225:播放代理裝置從時(shí)移服務(wù)器獲取從定位分片起的時(shí)移分片。在步驟225之后,執(zhí)行步驟226。步驟226:播放代理裝置向播放器轉(zhuǎn)發(fā)分片。在本發(fā)明實(shí)施例二中,當(dāng)初次需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),播放代理裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表,將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,播放代理裝置根據(jù)定位分片的位置,從時(shí)移服務(wù)器獲取時(shí)移分片或從直播服務(wù)器獲取直播分片,從而既不必重復(fù)初始化播放器,也不必在每次直播播放列表中增加分片個(gè)數(shù),因此能夠提高時(shí)移播放效率。并且,對(duì)初次生成的當(dāng)前時(shí)移窗口播放列表進(jìn)行存儲(chǔ),當(dāng)再次需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),僅從直播服務(wù)器獲取新的直播播放列表,根據(jù)新的直播播放列表和存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表生成新的當(dāng)前時(shí)移窗口播放列表,而不必重復(fù)獲取時(shí)移播放列表,處理方式簡(jiǎn)單易行,因此能夠進(jìn)一步提高時(shí)移播放效率。并且,通過(guò)分別設(shè)置時(shí)移服務(wù)器和直播服務(wù)器,從而不必對(duì)現(xiàn)有的直播服務(wù)器進(jìn)行修改,通過(guò)設(shè)置播放代理裝置,從而不必對(duì)播放器進(jìn)行修改,并且上述播放代理裝置與上述時(shí)移服務(wù)器、直播服務(wù)器和播放器的交互過(guò)程符合現(xiàn)有網(wǎng)絡(luò)電視系統(tǒng)采用的標(biāo)準(zhǔn)協(xié)議,從而能夠兼容現(xiàn)有的網(wǎng)絡(luò)側(cè)和終端側(cè)設(shè)備,并且可以靈活簡(jiǎn)便地應(yīng)用于不同認(rèn)證機(jī)構(gòu)(Certification Authority,簡(jiǎn)稱 CA)廠商或內(nèi)容分發(fā)網(wǎng)絡(luò)(Content DeliveryNetwork,簡(jiǎn)稱⑶N)廠商的產(chǎn)品。在上述本發(fā)明實(shí)施例一和本發(fā)明實(shí)施例二中,對(duì)于使用安裝在計(jì)算機(jī)上的瀏覽器實(shí)現(xiàn)網(wǎng)絡(luò)電視業(yè)務(wù)的情況,上述播放代理裝置可以作為該瀏覽器的一個(gè)插件來(lái)實(shí)現(xiàn);對(duì)于使用安裝在智能手機(jī)上的應(yīng)用程序?qū)崿F(xiàn)網(wǎng)絡(luò)電視業(yè)務(wù)的情況,例如用戶使用ipad、iphone、android系統(tǒng)的手機(jī)使用網(wǎng)絡(luò)電視業(yè)務(wù)時(shí),上述播放代理裝置可以作為一個(gè)應(yīng)用程序?qū)崿F(xiàn)。
圖3為本發(fā)明實(shí)施例三的網(wǎng)絡(luò)電視系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,該系統(tǒng)包括:時(shí)移服務(wù)器31、直播服務(wù)器32、播放代理裝置33和播放器34。其中,時(shí)移服務(wù)器31用于向代理播放裝置提供時(shí)移播放列表和時(shí)移分片。時(shí)移服務(wù)器31位于網(wǎng)絡(luò)側(cè),對(duì)直播內(nèi)容進(jìn)行錄制并存儲(chǔ),以提供時(shí)移服務(wù)。直播服務(wù)器32用于向代理播放裝置提供直播播放列表和直播分片。直播服務(wù)器32僅用于提供直播服務(wù),不對(duì)直播內(nèi)容進(jìn)行錄制和存儲(chǔ)。播放代理裝置33用于根據(jù)時(shí)移播放列表和直播播放列表生成當(dāng)前時(shí)移窗口播放列表并提供給播放器34,當(dāng)播放器34選擇的定位分片屬于直播分片時(shí),播放代理裝置33從直播服務(wù)器32獲取從定位分片起的直播分片并轉(zhuǎn)發(fā)給播放器34,當(dāng)播放器34選擇的定位分片屬于時(shí)移分片時(shí),播放代理裝置33從時(shí)移服務(wù)器31獲取從定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給播放器34。播放代理裝置33位于終端側(cè),代理播放器34與直播服務(wù)器32和時(shí)移服務(wù)器31之間的信息交互。播放器34用于在當(dāng)前時(shí)移窗口播放列表中選擇定位分片,獲取播放代理裝置33轉(zhuǎn)發(fā)的直播分片或時(shí)移分片。在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,直播服務(wù)器32還用于向代理播放裝置33提供新的直播播放列表和新的直播分片。播放代理裝置33還用于存儲(chǔ)當(dāng)前時(shí)移窗口播放列表,從直播服務(wù)器32獲取新的直播播放列表,根據(jù)存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表和新的直播播放列表,生成新的當(dāng)前時(shí)移窗口播放列表并提供給播放器34。播放器34還用于在新的當(dāng)前時(shí)移窗口播放列表中選擇定位分片。
在上述技術(shù)方案的基礎(chǔ)上,具體地,時(shí)移播放列表中包括時(shí)移窗口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表。直播播放列表中包括預(yù)設(shè)個(gè)數(shù)的分片的列表。播放代理裝置33具體用于按照時(shí)間順序拼接時(shí)移播放列表和直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以此時(shí)的總播放列表作為當(dāng)前時(shí)移窗口播放列表。播放代理裝置33還具體用于按照時(shí)間順序拼接當(dāng)前時(shí)移窗口播放列表和新的直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以總播放列表作為新的當(dāng)前時(shí)移窗口播放列表。在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,播放代理裝置33還用于判斷定位分片是否屬于當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的預(yù)設(shè)個(gè)數(shù)的分片。如果是,定位分片屬于直播分片;否則,定位分片屬于時(shí)移分片。在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,播放代理裝置33還用于從直播服務(wù)器32獲取媒體索引文件并向播放器34提供媒體索引文件,以供播放器34根據(jù)媒體索引文件確定播放碼率。在本發(fā)明實(shí)施例三的上述技術(shù)方案中,以時(shí)移服務(wù)器31與直播服務(wù)器32分別獨(dú)立設(shè)置為例,由于網(wǎng)絡(luò)電視系統(tǒng)的大多數(shù)用戶均需要進(jìn)行直播播放業(yè)務(wù),而僅有少數(shù)用戶需要進(jìn)行時(shí)移播放,因此將時(shí)移服務(wù)器31與直播服務(wù)器32分別獨(dú)立設(shè)置,在直播服務(wù)器32中不設(shè)置存儲(chǔ)裝置,僅在時(shí)移服務(wù)器31中設(shè)置存儲(chǔ)裝置,在直播服務(wù)器32進(jìn)行直播播放時(shí),時(shí)移服務(wù)器31同步錄制直播播放的節(jié)目,并存儲(chǔ)在時(shí)移服務(wù)器31上。對(duì)于大多數(shù)用戶的直播播放業(yè)務(wù),僅采用直播服務(wù)器32實(shí)現(xiàn);當(dāng)有用戶需要進(jìn)行時(shí)移播放業(yè)務(wù)時(shí),采用時(shí)移服務(wù)器31實(shí)現(xiàn)。從而通過(guò)分別獨(dú)立設(shè)置時(shí)移服務(wù)器31和直播服務(wù)器32,節(jié)省了存儲(chǔ)和錄制的性能開銷,并且節(jié)約了時(shí)移服務(wù)器31和直播服務(wù)器32整體的制作成本。在其它的具體實(shí)施方式
中,也可以將時(shí)移服務(wù)器31和直播服務(wù)器32集成一體,作為媒體服務(wù)器,該媒體服務(wù)器具有上述時(shí)移服務(wù)器31和直播服務(wù)器32的功能。在本發(fā)明實(shí)施例三的上述技術(shù)方案中,將播放代理裝置33和播放器34分別獨(dú)立設(shè)置為不同的線程或軟件程序?qū)崿F(xiàn),在其它的具體實(shí)施方式
中,也可以將播放代理裝置33和播放器34設(shè)置在一個(gè)線程或軟件程序中實(shí)現(xiàn)。在本發(fā)明實(shí)施例三中,當(dāng)需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),在網(wǎng)絡(luò)電視系統(tǒng)中,播放代理裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表,將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,從而既不必重復(fù)初始化播放器,也不必在每次直播播放列表中增加分片個(gè)數(shù),因此該網(wǎng)絡(luò)電視系統(tǒng)能夠提高時(shí)移播放效率。并且,播放代理裝置對(duì)初次生成的當(dāng)前時(shí)移窗口播放列表進(jìn)行存儲(chǔ),當(dāng)再次需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),播放代理裝置僅從直播服務(wù)器獲取新的直播播放列表,根據(jù)新的直播播放列表和存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表生成新的當(dāng)前時(shí)移窗口播放列表,而不必重復(fù)獲取時(shí)移播放列表,處理方式簡(jiǎn)單易行,因此進(jìn)一步提高時(shí)移播放效率。圖4為本發(fā)明實(shí)施例四的播放代理裝置的結(jié)構(gòu)示意圖。如圖4所示,該裝置包括:第一交互單元4 1、播放列表生成單元42、第二交互單元43和分片轉(zhuǎn)發(fā)單元44。其中,第一交互單元41用于從時(shí)移服務(wù)器獲取時(shí)移播放列表并從直播服務(wù)器獲取直播播放列表。播放列表生成單元42用于播放代理裝置根據(jù)時(shí)移播放列表和直播播放列表,生成當(dāng)前時(shí)移窗口播放列表。第二交互單元43用于向播放器提供當(dāng)前時(shí)移窗口播放列表,以供播放器在當(dāng)前時(shí)移窗口播放列表中選擇定位分片。分片轉(zhuǎn)發(fā)單元44用于當(dāng)定位分片屬于直播分片時(shí)從直播服務(wù)器獲取從定位分片起的直播分片并轉(zhuǎn)發(fā)給播放器,當(dāng)定位分片屬于時(shí)移分片時(shí)從時(shí)移服務(wù)器獲取從定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給上述播放器。在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,第一交互單元41還用于從直播服務(wù)器獲取新的直播播放列表。播放列表生成單元42還用于存儲(chǔ)當(dāng)前時(shí)移窗口播放列表,根據(jù)存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表和新的直播播放列表,生成新的當(dāng)前時(shí)移窗口播放列表。第二交互單元43還用于向播放器提供新的當(dāng)前時(shí)移窗口播放列表,以供播放器在新的當(dāng)前時(shí)移窗口播放列表中選擇定位分片。在上述技術(shù)方案的基礎(chǔ)上,具體地,時(shí)移播放列表中包括時(shí)移窗口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表。直播播放列表中包括預(yù)設(shè)個(gè)數(shù)的分片的列表。播放列表生成單元42具體用于按照時(shí)間順序拼接時(shí)移播放列表和上述直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以總播放列表作為當(dāng)前時(shí)移窗口播放列表。播放列表生成單元42還具體用于按照時(shí)間順序拼接當(dāng)前時(shí)移窗口播放列表和新的直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以總播放列表作為所述新的當(dāng)前時(shí)移窗口播放列表。在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,分片轉(zhuǎn)發(fā)單元44還用于判斷定位分片是否屬于當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的上述預(yù)設(shè)個(gè)數(shù)的分片,如果是,定位分片屬于直播分片,否則,定位分片屬于時(shí)移分片。在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,第一交互單元41還用于從直播服務(wù)器獲取媒體索引文件。第二交互單元43還用于向播放器提供上述媒體索引文件,以供該播放器根據(jù)該媒體索引文件確定播放碼率。在本發(fā)明實(shí)施例四中,當(dāng)需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),播放代理裝置的第一交互單元從時(shí)移服務(wù)器獲取時(shí)移播放列表,播放代理裝置的播放列表生成單元將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,第二交互單元向播放器提供當(dāng)前時(shí)移窗口播放列表,并獲取播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇的定位分片,從而既不必重復(fù)初始化播放器,也不必在每次直播播放列表中增加分片個(gè)數(shù),因此能夠提高時(shí)移播放效率。并且,播放代理裝置的播放列表生成單元對(duì)初次生成的當(dāng)前時(shí)移窗口播放列表進(jìn)行存儲(chǔ),當(dāng)再次需要進(jìn)行時(shí)移業(yè)務(wù)時(shí),播放代理裝置的第一交互單元僅從直播服務(wù)器獲取新的直播播放列表,播放列表生成單元根據(jù)新的直播播放列表和存儲(chǔ)的當(dāng)前時(shí)移窗口播放列表生成新的當(dāng)前時(shí)移窗口播放列表,而第一交互單元不必重復(fù)獲取時(shí)移播放列表,處理方式簡(jiǎn)單易行,因此該播放代理裝置能夠進(jìn)一步提高時(shí)移播放效率。圖5為本發(fā)明實(shí)施例五的時(shí)移服務(wù)器的結(jié)構(gòu)示意圖。如圖5所示,該時(shí)移服務(wù)器包括:播放列表提供單元51和分片提供單元52。其中,播放列表提供單元51,用于向播放代理裝置提供時(shí)移播放列表,以使播放代理裝置生成當(dāng)前時(shí)移窗口播放列表并提供給播放器,以供播放器從上述當(dāng)前時(shí)移窗口播放列表中選擇定位分片;分片提供單元52,用于當(dāng)播放器選擇的定位分片屬于時(shí)移分片時(shí),向上述播放代理裝置提供從定位分片起的時(shí)移分片,以使上述播放代理裝置向播放器轉(zhuǎn)發(fā)上述時(shí)移分片。
·
在本發(fā)明實(shí)施例五中,時(shí)移播放器的播放列表提供單元向播放代理裝置提供時(shí)移播放列表,以便播放代理裝置將時(shí)移播放列表和直播播放列表組合生成當(dāng)前時(shí)移窗口播放列表,播放器根據(jù)該當(dāng)前時(shí)移窗口播放列表選擇定位分片,時(shí)移播放器的分片提供單元向播放代理裝置提供時(shí)移分片,從而既不必重復(fù)初始化播放器,也不必在每次直播播放列表中增加分片個(gè)數(shù),因此能夠提高時(shí)移播放效率。需要說(shuō)明的是:對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。`
權(quán)利要求
1.一種網(wǎng)絡(luò)電視時(shí)移播放方法,其特征在于,包括: 從時(shí)移服務(wù)器獲取時(shí)移播放列表,從直播服務(wù)器獲取直播播放列表; 根據(jù)所述時(shí)移播放列表和所述直播播放列表,生成當(dāng)前時(shí)移窗口播放列表; 向播放器提供所述當(dāng)前時(shí)移窗口播放列表,以供所述播放器在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片; 當(dāng)所述定位分片屬于直播分片時(shí),從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器; 當(dāng)所述定位分片屬于時(shí)移分片時(shí),從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述生成當(dāng)前時(shí)移窗口播放列表之后還包括:存儲(chǔ)所述當(dāng)前時(shí)移窗口播放列表;所述從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器或從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器之后,還包括:從直播服務(wù)器獲取新的直播播放列表;根據(jù)存儲(chǔ)的所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表,生 成新的當(dāng)前時(shí)移窗口播放列表;向播放器提供所述新的當(dāng)前時(shí)移窗口播放列表,以供所述播放器在所述新的當(dāng)前時(shí)移窗口播放列表中選擇定位分片;當(dāng)所述定位分片屬于直播分片時(shí),從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器;當(dāng)所述定位分片屬于時(shí)移分片時(shí),從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述時(shí)移播放列表中包括時(shí)移窗口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表; 所述直播播放列表中包括預(yù)設(shè)個(gè)數(shù)的分片的列表; 所述根據(jù)所述時(shí)移播放列表和所述直播播放列表,生成當(dāng)前時(shí)移窗口播放列表包括:按照時(shí)間順序拼接所述時(shí)移播放列表和所述直播播放列表;從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到所述總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以所述總播放列表作為所述當(dāng)前時(shí)移窗口播放列表; 所述根據(jù)存儲(chǔ)的所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表,生成新的當(dāng)前時(shí)移窗口播放列表包括:按照時(shí)間順序拼接所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表;從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到所述總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以所述總播放列表作為所述新的當(dāng)前時(shí)移窗口播放列表。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的方法,其特征在于,當(dāng)所述播放器在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片之后,還包括: 判斷所述定位分片是否屬于所述當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的所述預(yù)設(shè)個(gè)數(shù)的分片; 如果是,所述定位分片屬于直播分片; 否則,所述定位分片屬于時(shí)移分片。
5.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于, 所述從直播服務(wù)器獲取直播播放列表之前,還包括:從直播服務(wù)器獲取媒體索引文件; 所述向播放器提供所述當(dāng)前時(shí)移窗口播放列表之前,還包括:向所述播放器提供所述媒體索引文件,以供所述播放器根據(jù)所述媒體索引文件確定播放碼率。
6.一種網(wǎng)絡(luò)電視系統(tǒng),其特征在于,包括: 時(shí)移服務(wù)器,用于向代理播放裝置提供時(shí)移播放列表和時(shí)移分片; 直播服務(wù)器,用于向代理播放裝置提供直播播放列表和直播分片; 播放代理裝置,用于根據(jù)所述時(shí)移播放列表和所述直播播放列表生成當(dāng)前時(shí)移窗口播放列表并提供給播放器;當(dāng)所述播放器選擇的定位分片屬于直播分片時(shí),從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器;當(dāng)所述播放器選擇的定位分片屬于時(shí)移分片時(shí),從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器; 播放器,用于在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片,獲取所述播放代理裝置轉(zhuǎn)發(fā)的直播分片或時(shí)移分片。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于, 所述直播服務(wù)器還用于向代理播放裝置提供新的直播播放列表和新的直播分片; 所述播放代理裝置還用于存儲(chǔ)所述當(dāng)前時(shí)移窗口播放列表,從所述直播服務(wù)器獲取新的直播播放列表,根據(jù)存儲(chǔ)的所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表,生成新的當(dāng)前時(shí)移窗口播放列表并提供給所述播放器。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于, 所述時(shí)移播放列表中包括時(shí)移窗`口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表; 所述直播播放列表中包括預(yù)設(shè)個(gè)數(shù)的分片的列表; 所述播放代理裝置具體用于按照時(shí)間順序拼接所述時(shí)移播放列表和所述直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到所述總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以所述總播放列表作為所述當(dāng)前時(shí)移窗口播放列表; 所述播放代理裝置還具體用于按照時(shí)間順序拼接所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到所述總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以所述總播放列表作為所述新的當(dāng)前時(shí)移窗口播放列表。
9.根據(jù)權(quán)利要求6至8中任意一項(xiàng)所述的系統(tǒng),其特征在于, 所述播放代理裝置還用于判斷所述定位分片是否屬于所述當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的所述預(yù)設(shè)個(gè)數(shù)的分片;如果是,所述定位分片屬于直播分片;否則,所述定位分片屬于時(shí)移分片。
10.根據(jù)權(quán)利要求6至9中任意一項(xiàng)所述的系統(tǒng),其特征在于, 所述播放代理裝置還用于從所述直播服務(wù)器獲取媒體索引文件并向所述播放器提供所述媒體索引文件,以供所述播放器根據(jù)所述媒體索引文件確定播放碼率。
11.一種播放代理裝置,其特征在于,包括: 第一交互單元,用于從時(shí)移服務(wù)器獲取時(shí)移播放列表并從直播服務(wù)器獲取直播播放列表;播放列表生成單元,用于根據(jù)所述時(shí)移播放列表和所述直播播放列表,生成當(dāng)前時(shí)移窗口播放列表; 第二交互單元,用于向播放器提供所述當(dāng)前時(shí)移窗口播放列表,以供所述播放器在所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片; 分片轉(zhuǎn)發(fā)單元,用于當(dāng)所述定位分片屬于直播分片時(shí)從所述直播服務(wù)器獲取從所述定位分片起的直播分片并轉(zhuǎn)發(fā)給所述播放器,當(dāng)所述定位分片屬于時(shí)移分片時(shí)從所述時(shí)移服務(wù)器獲取從所述定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給所述播放器。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于, 所述第一交互單元還用于從直播服務(wù)器獲取新的直播播放列表; 所述播放列表生成單元還用于存儲(chǔ)所述當(dāng)前時(shí)移窗口播放列表,根據(jù)存儲(chǔ)的所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表,生成新的當(dāng)前時(shí)移窗口播放列表; 所述第二交互單元還用 于向播放器提供所述新的當(dāng)前時(shí)移窗口播放列表,以供所述播放器在所述新的當(dāng)前時(shí)移窗口播放列表中選擇定位分片。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述時(shí)移播放列表中包括時(shí)移窗口的時(shí)間長(zhǎng)度對(duì)應(yīng)的分片的列表; 所述直播播放列表中包括預(yù)設(shè)個(gè)數(shù)的分片的列表; 所述播放列表生成單元具體用于按照時(shí)間順序拼接所述時(shí)移播放列表和所述直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到所述總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以所述總播放列表作為所述當(dāng)前時(shí)移窗口播放列表; 所述播放列表生成單元還具體用于按照時(shí)間順序拼接所述當(dāng)前時(shí)移窗口播放列表和所述新的直播播放列表,從拼接獲得的總播放列表中按照時(shí)間由舊到新的順序逐個(gè)刪除分片,直到所述總播放列表中的分片的時(shí)間長(zhǎng)度為時(shí)移窗口的時(shí)間長(zhǎng)度為止,以所述總播放列表作為所述新的當(dāng)前時(shí)移窗口播放列表。
14.根據(jù)權(quán)利要求11至13中任意一項(xiàng)所述的裝置,其特征在于, 所述分片轉(zhuǎn)發(fā)單元還用于判斷所述定位分片是否屬于所述當(dāng)前時(shí)移窗口播放列表中時(shí)間最新的所述預(yù)設(shè)個(gè)數(shù)的分片,如果是,所述定位分片屬于直播分片,否則,所述定位分片屬于時(shí)移分片。
15.根據(jù)權(quán)利要求11至14中任意一項(xiàng)所述的裝置,其特征在于, 所述第一交互單元還用于從直播服務(wù)器獲取媒體索引文件; 所述第二交互單元還用于向所述播放器提供所述媒體索引文件,以供所述播放器根據(jù)所述媒體索引文件確定播放碼率。
16.—種時(shí)移服務(wù)器,其特征在于,包括: 播放列表提供單元,用于向播放代理裝置提供時(shí)移播放列表,以使播放代理裝置生成當(dāng)前時(shí)移窗口播放列表并提供給播放器,以供播放器從所述當(dāng)前時(shí)移窗口播放列表中選擇定位分片; 分片提供單元,用于當(dāng)播放器選擇的定位分片屬于時(shí)移分片時(shí),向所述播放代理裝置提供從定位分片起的時(shí)移分片,以使所述播放代理裝置向播放器轉(zhuǎn)發(fā)所述時(shí)移分片。
全文摘要
本發(fā)明提供一種網(wǎng)絡(luò)電視時(shí)移播放方法、網(wǎng)絡(luò)電視系統(tǒng)和裝置。代理播放裝置從時(shí)移服務(wù)器獲取時(shí)移播放列表,從直播服務(wù)器獲取直播播放列表,根據(jù)時(shí)移播放列表和直播播放列表,生成當(dāng)前時(shí)移窗口播放列表,向播放器提供當(dāng)前時(shí)移窗口播放列表,以供播放器在當(dāng)前時(shí)移窗口播放列表中選擇定位分片,當(dāng)定位分片屬于直播分片時(shí),代理播放裝置從直播服務(wù)器獲取從定位分片起的直播分片并轉(zhuǎn)發(fā)給播放器,當(dāng)定位分片屬于時(shí)移分片時(shí),代理播放裝置從時(shí)移服務(wù)器獲取從定位分片起的時(shí)移分片并轉(zhuǎn)發(fā)給播放器。采用本發(fā)明提供的一種網(wǎng)絡(luò)電視時(shí)移播放方法、網(wǎng)絡(luò)電視系統(tǒng)和裝置,能夠提高時(shí)移播放效率。
文檔編號(hào)H04N21/431GK103248912SQ201210027270
公開日2013年8月14日 申請(qǐng)日期2012年2月8日 優(yōu)先權(quán)日2012年2月8日
發(fā)明者劉昆 申請(qǐng)人:華為技術(shù)有限公司