一種基于hls協(xié)議的頻道切換方法及其裝置制造方法
【專利摘要】本發(fā)明提供一種基于HLS協(xié)議的頻道切換方法及其裝置。所述方法包括:接收頻道切換指令;獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件;根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件,將所述頻道切換指令對(duì)應(yīng)的所述目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中;根據(jù)修改后的所述m3u8文件下載并播放視頻片段。本發(fā)明通過在接收到頻道切換指令后,對(duì)當(dāng)前正在播放的m3u8文件進(jìn)行修改,整個(gè)過程對(duì)于播放器而言是透明的,播放器不需要重新啟動(dòng),減少了重啟所帶來的時(shí)延、黑屏等問題。
【專利說明】一種基于HLS協(xié)議的頻道切換方法及其裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻播放【技術(shù)領(lǐng)域】,尤其涉及一種基于HLS協(xié)議的頻道切換方法及其裝置。
【背景技術(shù)】
[0002]隨著數(shù)字技術(shù)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,智能電視逐漸取代傳統(tǒng)電視成為電視機(jī)市場(chǎng)的主流,順應(yīng)了電視機(jī)“高清化”、“網(wǎng)絡(luò)化”以及“智能化”的趨勢(shì)。智能電視具有全開放式平臺(tái),搭載了操作系統(tǒng),用戶在欣賞普通電視內(nèi)容的同時(shí),可自行安裝和卸載各類應(yīng)用軟件,實(shí)現(xiàn)收看智能電視節(jié)目、收看直播流媒體、訪問互聯(lián)網(wǎng)等多種功能。
[0003]通過直播流媒體,視頻網(wǎng)站可以發(fā)布多個(gè)頻道的節(jié)目給用戶,諸如:音樂臺(tái)、電影臺(tái)、體育臺(tái)、動(dòng)畫臺(tái)等等,用戶可以像觀看傳統(tǒng)電視頻道一樣觀看智能電視的直播臺(tái)。而對(duì)于直播流媒體,目前各大視頻網(wǎng)站所使用的傳輸協(xié)議中流媒體傳輸協(xié)議HLS (Http livestreaming)占據(jù)了重要的地位。HLS協(xié)議是蘋果公司實(shí)現(xiàn)的基于超文本傳輸協(xié)議Http的流媒體傳輸協(xié)議,HLS協(xié)議將容量巨大的連續(xù)媒體數(shù)據(jù)進(jìn)行分段,分割為數(shù)量眾多的小文件進(jìn)行傳遞,迎合了網(wǎng)頁(yè)服務(wù)器的文件傳輸性,采用一個(gè)不斷更新的輕量級(jí)索引文件來控制分割后小媒體文件的下載和播放。
[0004]通過HLS協(xié)議,視頻數(shù)據(jù)經(jīng)處理后分為媒體數(shù)據(jù)ts文件以及媒體數(shù)據(jù)索引m3u8文件,并存在于服務(wù)器上。m3u8文件實(shí)際上只是一種文件組的組織形式,將視頻片段以播放列表的形式組織在一起以供多媒體播放器下載播放。m3u8文件中通常包括多個(gè)上述媒體數(shù)據(jù)ts文件的多個(gè)統(tǒng)一資源定位符URL。多媒體播放器獲取m3u8文件后,進(jìn)而按照其中的URL下載對(duì)應(yīng)的ts文件并進(jìn)行播放。
[0005]用戶在收看直播臺(tái)的時(shí)候,會(huì)在各個(gè)流媒體直播臺(tái)之間進(jìn)行切換,也就是俗稱的“換臺(tái)”,在切換的時(shí)候,播放器會(huì)重新向云服務(wù)器請(qǐng)求用戶請(qǐng)求切換的頻道正在播放的視頻的m3u8文件,并在接收到新的m3u8文件后,重新啟動(dòng)播放器,按照接收到的上述新的m3u8文件進(jìn)行ts文件的下載和播放。而重新啟動(dòng)播放器往往會(huì)造成時(shí)延,出現(xiàn)黑屏、卡頓等現(xiàn)象。
[0006]因此,非常有必要提供一種能夠解決頻道切換所造成的時(shí)延、黑屏、卡頓等現(xiàn)象的頻道切換方法及其裝置。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明提供一種基于HLS協(xié)議的頻道切換方法及其裝置,解決頻道切換所造成的時(shí)延、黑屏、卡頓等現(xiàn)象。
[0008]具體地,所述方法包括:
[0009]接收頻道切換指令;
[0010]獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件;
[0011]根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件,將所述頻道切換指令對(duì)應(yīng)的所述目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中;
[0012]根據(jù)修改后的所述m3u8文件下載并播放視頻片段。
[0013]進(jìn)一步地,所述獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件的過程包括:
[0014]獲取本地保存的目標(biāo)頻道的地址;所述目標(biāo)頻道的地址由云服務(wù)器下發(fā)至本地;
[0015]根據(jù)所述目標(biāo)頻道地址從云服務(wù)器獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件。
[0016]進(jìn)一步地,所述方法還包括:
[0017]在接收到用戶的頻道切換指令時(shí),清空已緩存的視頻數(shù)據(jù)。
[0018]進(jìn)一步地,所述根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件的過程包括:
[0019]將所述m3u8文件中的所述目標(biāo)頻道直播的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中,并將該視頻片段的時(shí)長(zhǎng)替換到所述URL對(duì)應(yīng)的字段中。
[0020]進(jìn)一步地,將所述m3u8文件中所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中的過程包括:
[0021]用所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換所述當(dāng)前正在播放的m3u8文件中即將播放的視頻片段的URL。
[0022]所述裝置包括:
[0023]指令接收模塊,用于接收頻道切換指令;
[0024]索引解析模塊,用于獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件,并根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件,將所述頻道切換指令對(duì)應(yīng)的所述目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中;
[0025]視頻播放模塊,用于根據(jù)修改后的所述m3u8文件下載并播放視頻片段。
[0026]進(jìn)一步地,所述索引解析模塊獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件的過程包括:
[0027]獲取本地保存的目標(biāo)頻道的地址;所述目標(biāo)頻道的地址由云服務(wù)器下發(fā)至本地;
[0028]根據(jù)所述目標(biāo)頻道地址從云服務(wù)器獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件。
[0029]進(jìn)一步地,所述指令接收模塊進(jìn)一步用于:
[0030]在接收到用戶的點(diǎn)播與直播切換指令時(shí),清空已緩存的視頻數(shù)據(jù)。
[0031]進(jìn)一步地,所述索引解析模塊根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件的過程包括:
[0032]將所述m3u8文件中的所述目標(biāo)頻道直播的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中,并將該視頻片段的時(shí)長(zhǎng)替換到所述URL對(duì)應(yīng)的字段中。
[0033]進(jìn)一步地,所述索引解析模塊將所述m3u8文件中所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中的過程包括:
[0034]用所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換所述當(dāng)前正在播放的m3u8文件中即將播放的視頻片段的URL。
[0035]相對(duì)于現(xiàn)有技術(shù),本發(fā)明在用戶進(jìn)行頻道切換后,對(duì)當(dāng)前正在播放的頻道的m3u8文件進(jìn)行修改,由于播放器只是按照m3u8文件對(duì)視頻數(shù)據(jù)進(jìn)行下載和播放,不會(huì)判斷m3u8文件中的內(nèi)容是否發(fā)生變化,所以對(duì)于播放器而言,不會(huì)感知到上述修改。同時(shí)雖然原來的m3u8文件的內(nèi)容已經(jīng)發(fā)生了變化,但并不是換了一個(gè)新的m3u8文件,所以這個(gè)過程對(duì)于播放器是透明的。播放器只需要繼續(xù)按照修改后的m3u8文件下載視頻片段并播放即可,不需要重新啟動(dòng),減少了重啟播放器所帶來的延時(shí)、黑屏、卡頓等問題。
【專利附圖】
【附圖說明】
[0036]圖1是本發(fā)明一種實(shí)施方式中頻道切換方法流程示意圖;
[0037]圖2是本發(fā)明一種實(shí)施方式中m3u8文件示意圖;
[0038]圖3是本發(fā)明一種實(shí)施方式中目標(biāo)切換頻道直播的視頻片段的m3u8文件示意圖;
[0039]圖4是本發(fā)明一種實(shí)施方式中修改后的m3u8文件示意圖;
圖5是本發(fā)明一種實(shí)施方式中頻道切換裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]針對(duì)現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提供一種基于HLS協(xié)議的頻道切換方法,為進(jìn)一步說明本發(fā)明,提供下列實(shí)施例:
[0041]實(shí)施例一
[0042]請(qǐng)參考圖1,本實(shí)施例的基于HLS協(xié)議的頻道切換方法包括以下步驟:
[0043]步驟101,接收頻道切換指令;
[0044]步驟102,獲取上述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件;
[0045]步驟103,根據(jù)獲取到的m3u8文件修改當(dāng)前正在播放的m3u8文件,將頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中;
[0046]步驟104,根據(jù)修改后的m3u8文件下載并播放視頻片段。
[0047]依據(jù)HLS協(xié)議,播放器根據(jù)用戶選擇的視頻的m3u8文件進(jìn)行視頻片段的下載以及播放。具體地,請(qǐng)參考圖2所示的m3u8文件,其中:
[0048]#EXTM3U:表示m3u文件頭,放在第一行。
[0049]#EXT-X-TARGETDURATION:表示指定的最大視頻片段時(shí)長(zhǎng),單位是秒。
[0050]#EXTINF:表示每個(gè)視頻片段ts文件的時(shí)長(zhǎng),僅對(duì)其后的URL有效,#EXTINF中指定的時(shí)長(zhǎng)必須小于等于#EXT-X-TARGETDURATION中指定的時(shí)長(zhǎng)。
[0051]http://218.30.13.36/sample_100k_l.ts:表不視頻文件 ts 文件的 URL。
[0052]圖2所示的是直播m3u8文件格式,對(duì)于視頻網(wǎng)站的各個(gè)頻道而言,都是直播臺(tái),播放器定期從云服務(wù)器獲取實(shí)時(shí)直播視頻的m3u8文件,然后根據(jù)該m3u8文件中的URL依次下載視頻片段并播放。仍以圖2所示的m3u8文件為例,播放器會(huì)依次下載視頻片段sample_100k-l.ts, sample_100k-2.ts 以及 sample_100k_3.ts 并播放。
[0053]本實(shí)施例中,以智能電視為例,用戶可以通過遙控器或者是智能電視上的按鍵進(jìn)行頻道切換。在接收到頻道切換指令后,首先從云服務(wù)器獲取頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件,然后根據(jù)該m3u8文件修改當(dāng)前正在播放的m3u8文件。具體地,是將頻道切換指令對(duì)應(yīng)的視頻片段信息寫入上述當(dāng)前正在播放的m3u8文件中。由于播放器只是按照m3u8文件對(duì)視頻數(shù)據(jù)進(jìn)行下載和播放,不會(huì)判斷m3u8文件中的內(nèi)容是否發(fā)生變化,所以對(duì)于播放器而言,不會(huì)感知到上述修改。同時(shí)雖然原來的m3u8文件的內(nèi)容已經(jīng)發(fā)生了變化,但并不是換了一個(gè)新的m3u8文件,播放器會(huì)繼續(xù)按照修改后的m3u8文件進(jìn)行播放,即,播放上述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻,以此來實(shí)現(xiàn)頻道之間的切換。由于整個(gè)過程對(duì)于播放器而言是透明的,進(jìn)而播放器不會(huì)重新啟動(dòng),減少了重新啟動(dòng)所帶來的延時(shí)、黑屏、卡頓等問題。
[0054]實(shí)施例二
[0055]本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)一步地限定根據(jù)獲取到的m3u8文件修改當(dāng)前正在播放的m3u8文件的過程:獲取本地保存的目標(biāo)頻道的地址;所述目標(biāo)頻道的地址由云服務(wù)器下發(fā)至本地;根據(jù)該目標(biāo)頻道地址從云服務(wù)器獲取上述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件。
[0056]具體地,云服務(wù)器下發(fā)全局的頻道地址。對(duì)于視頻網(wǎng)站的直播臺(tái),通常各個(gè)頻道的地址是固定的,本地會(huì)保存云服務(wù)器下發(fā)的全局頻道地址,以方便在接收到頻道切換指令時(shí),依據(jù)目標(biāo)頻道的地址向云服務(wù)器獲取頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻信息,即視頻片段的m3u8文件。
[0057]本實(shí)施例中,從本地獲取保存的目標(biāo)頻道的地址,可以減少與云服務(wù)器的交互過程,進(jìn)一步加快頻道切換速度。
[0058]實(shí)施例三
[0059]本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)一步地限定根據(jù)獲取到的m3u8文件修改當(dāng)前正在播放的m3u8文件的過程包括:將獲取到的m3u8文件中的目標(biāo)頻道直播的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中,并將該視頻片段的時(shí)長(zhǎng)替換到該URL對(duì)應(yīng)的字段中。
[0060]具體地,從云服務(wù)器獲取到的目標(biāo)頻道直播的視頻片段的m3u8文件中包括當(dāng)前目標(biāo)頻道正在直播的3個(gè)視頻片段的URL。在獲取到該m3u8文件后,將這三個(gè)URL替換到當(dāng)前正在播放的m3u8文件中,并將這三個(gè)視頻片段的時(shí)長(zhǎng)替換到對(duì)應(yīng)的#EXTINF字段中。比如,從云服務(wù)器獲取到的目標(biāo)頻道直播的視頻片段的m3u8文件如圖3所示,而用戶正在播放的m3u8文件是圖2所示的m3u8文件中的視頻片段sample_100k_2.ts,則用圖3中目標(biāo)頻道正在播放的視頻片段的URL:http://218.30.13.37/sample_200k-l.ts,http://218.30.13.37/sample_200k_2.ts 以及 http://218.30.13.37/sample_200k_3.ts替換當(dāng)前正在播放的圖2所示的m3u8文件中即將播放的視頻片段的URL:http://218.30.13.36/sample_100k-3.ts,并將視頻片段的時(shí)長(zhǎng)IOs替換到對(duì)應(yīng)的#EXTINF字段中,形成如圖4所示的修改后的m3u8文件。播放器進(jìn)而按照修改后的m3u8 文件,依次下載 http://218.30.13.37/sample_200k_l.ts, http://218.30.13.37/sample_200k-2.ts 和 http://218.30.13.37/sample_200k_3.ts 所對(duì)應(yīng)的視頻片段sample_200k-l.ts, sample_200k_2.ts 和 sample_200k_3.ts 并進(jìn)行播放,以實(shí)現(xiàn)頻道切換過程。
[0061]實(shí)施例四
[0062]本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)一步地限定頻道切換的方法:在接收到用戶的頻道切換指令時(shí),清空已緩存的視頻數(shù)據(jù)。[0063]在接收到頻道切換指令時(shí)就清空已緩存的視頻數(shù)據(jù),以便在修改完成m3u8文件后立即進(jìn)行播放,進(jìn)一步加快切換速度。
[0064]實(shí)施例五
[0065]對(duì)應(yīng)上述方法,本發(fā)明提供一種基于HLS協(xié)議的頻道切換裝置,應(yīng)用在包括:智能電視、平板電腦、手機(jī)等終端上。上述裝置可以用計(jì)算機(jī)軟件實(shí)現(xiàn),但本發(fā)明并不排除其他實(shí)現(xiàn)方式,比如可編程邏輯器件、固件甚至是專用硬件。請(qǐng)參考圖5,上述裝置包括:指令接收模塊510、索引解析模塊520和視頻播放模塊530。
[0066]指令接收模塊510,用于接收頻道切換指令。
[0067]索引解析模塊520,用于獲取上述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件,并根據(jù)獲取到的m3u8文件修改當(dāng)前正在播放的m3u8文件,將頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中。
[0068]視頻播放模塊530,用于根據(jù)修改后的上述m3u8文件進(jìn)行播放。
[0069]索引解析模塊520根據(jù)獲取到的m3u8文件修改當(dāng)前正在播放的m3u8文件的過程包括:將獲取到的m3u8文件中目標(biāo)頻道直播的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中,并將該視頻片段的時(shí)長(zhǎng)替換到該URL對(duì)應(yīng)的字段中。
[0070]索引解析模塊520將上述m3u8文件中頻道切換指令對(duì)應(yīng)的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中的過程中包括:用頻道切換指令對(duì)應(yīng)的視頻片段的URL替換當(dāng)前正在播放的m3u8文件中即將播放的視頻片段的URL。
[0071]指令接收模塊510在接收到頻道切換指令后,索引解析模塊520獲取頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件,然后根據(jù)該m3u8文件修改當(dāng)前正在播放的m3u8文件。具體地,是將頻道切換指令對(duì)應(yīng)的視頻片段信息寫入上述當(dāng)前正在播放的m3u8文件中。對(duì)于視頻播放模塊530而言,雖然原來的m3u8文件的內(nèi)容已經(jīng)發(fā)生了變化,但并不是換了一個(gè)新的m3u8文件,視頻播放模塊530不會(huì)感知到上述變化,會(huì)繼續(xù)按照修改后的m3u8文件進(jìn)行播放,即,播放上述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻,以此來實(shí)現(xiàn)頻道之間的切換。由于整個(gè)過程對(duì)于播放器而言是透明的,進(jìn)而播放器不會(huì)重新啟動(dòng),減少了重新啟動(dòng)所帶來的延時(shí)、黑屏、卡頓等問題。
[0072]進(jìn)一步地,索引解析模塊520獲取頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件的過程包括:獲取本地保存的目標(biāo)頻道的地址;所述目標(biāo)頻道的地址由云服務(wù)器下發(fā)至本地;根據(jù)目標(biāo)頻道地址從云服務(wù)器獲取頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件。從本地獲取保存的目標(biāo)頻道的地址,可以減少與云服務(wù)器的交互過程,進(jìn)一步加快頻道切換速度。
[0073]進(jìn)一步地,指令接收模塊510,用于在接收到用戶的頻道切換指令時(shí),清空已緩存的視頻數(shù)據(jù)。在接收到頻道切換指令時(shí)就清空已緩存的視頻數(shù)據(jù),以便在修改完成m3u8文件后立即進(jìn)行播放,進(jìn)一步加快切換速度。
[0074]由以上描述可以看出,本發(fā)明在用戶進(jìn)行頻道切換后,對(duì)當(dāng)前正在播放的m3u8文件進(jìn)行修改,整個(gè)過程對(duì)于播放器而言是透明的。播放器只需要繼續(xù)按照修改后的m3u8文件進(jìn)行下載播放即可,不需要重新啟動(dòng),減少了重啟播放器所帶來的延時(shí)、黑屏、卡頓等問題。
[0075]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種基于流媒體傳輸HLS協(xié)議的頻道切換方法,其特征在于,包括: 接收頻道切換指令; 獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件; 根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件,將所述頻道切換指令對(duì)應(yīng)的所述目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中; 根據(jù)修改后的所述m3u8文件下載并播放視頻片段。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件的過程包括: 獲取本地保存的目標(biāo)頻道的地址;所述目標(biāo)頻道的地址由云服務(wù)器下發(fā)至本地;根據(jù)所述目標(biāo)頻道地址從云服務(wù)器獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在接收到用戶的頻道切換指令時(shí),清空已緩存的視頻數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件的過程包括: 將所述m3u8文件中的所述目標(biāo)頻道直播的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中,并將該視頻片段的時(shí)長(zhǎng)替換到所述URL對(duì)應(yīng)的字段中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,將所述m3u8文件中所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中的過程包括: 用所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換所述當(dāng)前正在播放的m3u8文件中即將播放的視頻片段的URL。
6.一種基于流媒體傳輸HLS協(xié)議的頻道切換裝置,其特征在于,包括: 指令接收模塊,用于接收頻道切換指令; 索引解析模塊,用于獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件,并根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件,將所述頻道切換指令對(duì)應(yīng)的所述目標(biāo)頻道直播的視頻片段的信息寫入當(dāng)前正在播放的m3u8文件中; 視頻播放模塊,用于根據(jù)修改后的所述m3u8文件下載并播放視頻片段。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述索引解析模塊獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件的過程包括: 獲取本地保存的目標(biāo)頻道的地址;所述目標(biāo)頻道的地址由云服務(wù)器下發(fā)至本地;根據(jù)所述目標(biāo)頻道地址從云服務(wù)器獲取所述頻道切換指令對(duì)應(yīng)的目標(biāo)頻道直播的視頻片段的m3u8文件。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述指令接收模塊進(jìn)一步用于: 在接收到用戶的點(diǎn)播與直播切換指令時(shí),清空已緩存的視頻數(shù)據(jù)。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述索引解析模塊根據(jù)獲取到的所述m3u8文件修改當(dāng)前正在播放的m3u8文件的過程包括: 將所述m3u8文件中的所述目標(biāo)頻道直播的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中,并將該視頻片段的時(shí)長(zhǎng)替換到所述URL對(duì)應(yīng)的字段中。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述索引解析模塊將所述m3u8文件中所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換到當(dāng)前正在播放的m3u8文件中的過程包括:用所述頻道切換指令對(duì)應(yīng)的視頻片段的URL替換所述當(dāng)前正在播放的m3u8文件中即將播放的視頻片 段的URL。
【文檔編號(hào)】H04N21/858GK103763609SQ201310603143
【公開日】2014年4月30日 申請(qǐng)日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】蒼鵬, 李強(qiáng) 申請(qǐng)人:樂視致新電子科技(天津)有限公司