一種傳輸和播放音視頻與消息的方法、服務(wù)器及終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種傳輸和播放音視頻與消息的方法、服務(wù)器及終端。
【背景技術(shù)】
[0002]HLS(HTTP Live Streaming,超文本傳輸協(xié)議實(shí)時(shí)流)是蘋果公司實(shí)現(xiàn)的基于HTTP的流媒體傳輸協(xié)議,可實(shí)現(xiàn)流媒體的直播和點(diǎn)播,主要為1S (Iphone Operat1n System,蘋果操作系統(tǒng))終端提供音視頻直播和點(diǎn)播方案。
[0003]相對(duì)于常見的流媒體直播協(xié)議,基于HLS協(xié)議的直播技術(shù)最大的不同在于:直播客戶端獲取到的并不是一個(gè)完整的數(shù)據(jù)流。在HLS協(xié)議中,原本連續(xù)的媒體流會(huì)被切分為若干個(gè)TS (Transport Stream,傳輸流)切片文件,并相應(yīng)生成一個(gè)M3U8索引文件(也即播放列表文件),這些TS切片文件和M3U8索引文件組成了 HLS媒體流,被存儲(chǔ)在服務(wù)器。相應(yīng)的,1S 終端(例如 IPhone、IpacU Itouch、Mac)先利用 HTTP (HyperText TransferProtocol,超文本傳輸協(xié)議)從服務(wù)器獲取M3U8索引文件,之后根據(jù)得到的M3U8索引文件提供的資源地址信息,獲取對(duì)應(yīng)的TS切片文件進(jìn)行播放,進(jìn)而實(shí)現(xiàn)對(duì)流媒體的播放。
[0004]在實(shí)際應(yīng)用當(dāng)中,為滿足用戶特定需求,往往需要終端在播放媒體流中某部分切片時(shí),同步地播放服務(wù)器下發(fā)的與該部分切片文件相關(guān)聯(lián)的消息。但是,在現(xiàn)有技術(shù)中,由于消息在服務(wù)器與終端間的傳輸方式,有別于音視頻流的傳輸方式,再加上受網(wǎng)絡(luò)環(huán)境的影響,所以終端在播放切片文件時(shí),并不一定接收到服務(wù)器下發(fā)的與該切片文件關(guān)聯(lián)的消息,從而造成消息與其所關(guān)聯(lián)的切片文件異步播放的現(xiàn)象時(shí)有發(fā)生,嚴(yán)重影響了用戶的直播體驗(yàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種傳輸和播放音視頻與消息的方法、服務(wù)器及終端,以實(shí)現(xiàn)音視頻與消息的同步傳輸,使得終端可以將消息與其所關(guān)聯(lián)的音視頻切片文件同步播放。
[0006]一方面,本發(fā)明實(shí)施例提供了一種方法,該方法應(yīng)用于服務(wù)器,包括:
[0007]獲取對(duì)當(dāng)前音視頻流進(jìn)行切分得到的多個(gè)切片文件所對(duì)應(yīng)的M3U8索引文件;
[0008]將用于描述所述切片文件所關(guān)聯(lián)的消息的內(nèi)容,添加至所述M3U8索引文件,以生成新的M3U8索引文件;
[0009]在接收到終端對(duì)所述當(dāng)前音視頻流的觀看請(qǐng)求后,將所述新的M3U8索引文件下發(fā)給所述終端,以使所述終端在播放關(guān)聯(lián)有消息的目標(biāo)切片文件前,能夠根據(jù)所述新的M3U8索引文件從所述服務(wù)器獲取到所述目標(biāo)切片文件關(guān)聯(lián)的消息。
[0010]另一方面,本發(fā)明實(shí)施例還提供了一種播放音視頻與消息的方法,該方法應(yīng)用于終端,包括:
[0011]向服務(wù)器發(fā)起對(duì)音視頻流的觀看請(qǐng)求;
[0012]接收所述服務(wù)器根據(jù)所述觀看請(qǐng)求返回的M3U8索引文件,其中所述M3U8索引文件包括:對(duì)所述音視頻流進(jìn)行切分得到的多個(gè)切片文件的時(shí)長(zhǎng)信息和資源地址信息,以及,用于描述所述切片文件所關(guān)聯(lián)的消息的內(nèi)容;
[0013]根據(jù)所述M3U8索引文件,獲取本次待播放的目標(biāo)切片文件以及所述目標(biāo)切片文件關(guān)聯(lián)的消息;
[0014]將獲取到的目標(biāo)切片文件與消息同步播放。
[0015]再一方面,本發(fā)明實(shí)施例還提供了一種服務(wù)器,該服務(wù)器包括:
[0016]索引文件獲取單元,用于獲取對(duì)當(dāng)前音視頻流進(jìn)行切分得到的多個(gè)切片文件所對(duì)應(yīng)的M3U8索引文件;
[0017]索引文件更新單元,用于將用于描述所述切片文件所關(guān)聯(lián)的消息的內(nèi)容,添加至所述M3U8索引文件,以生成新的M3U8索引文件;
[0018]索引文件下發(fā)單元,用于在接收到終端對(duì)所述當(dāng)前音視頻流的觀看請(qǐng)求后,將所述新的M3U8索引文件下發(fā)給所述終端,以使所述終端在播放關(guān)聯(lián)有消息的目標(biāo)切片文件前,能夠根據(jù)所述新的M3U8索引文件從所述服務(wù)器獲取到所述目標(biāo)切片文件關(guān)聯(lián)的消息。
[0019]再一方面,本發(fā)明實(shí)施例還提供了一種終端,該終端包括:
[0020]觀看請(qǐng)求發(fā)起單元,用于向服務(wù)器發(fā)起對(duì)音視頻流的觀看請(qǐng)求;
[0021]索引文件接收單元,用于接收所述服務(wù)器根據(jù)所述觀看請(qǐng)求返回的M3U8索引文件,其中所述M3U8索引文件包括:對(duì)所述音視頻流進(jìn)行切分得到的多個(gè)切片文件的時(shí)長(zhǎng)信息和資源地址信息,以及,用于描述所述切片文件所關(guān)聯(lián)的消息的內(nèi)容;
[0022]文件及消息獲取單元,用于根據(jù)所述M3U8索引文件,獲取本次待播放的目標(biāo)切片文件以及所述目標(biāo)切片文件關(guān)聯(lián)的消息;
[0023]文件及消息播放單元,用于將獲取到的目標(biāo)切片文件與消息同步播放。
[0024]本發(fā)明實(shí)施例提供的技術(shù)方案,對(duì)傳統(tǒng)的HLS協(xié)議進(jìn)行了改進(jìn),將消息添加至音視頻流的M3U8索引文件中,使得服務(wù)器可以將消息與音視頻流同步傳輸至終端,進(jìn)而可以保證消息與其所關(guān)聯(lián)的音視頻切片文件的同步播放。
【附圖說(shuō)明】
[0025]圖1是本發(fā)明實(shí)施例一提供的一種傳輸音視頻與消息的方法流程示意圖;
[0026]圖2是本發(fā)明實(shí)施例二提供的一種播放音視頻與消息的方法的流程示意圖;
[0027]圖3是本發(fā)明實(shí)施例三提供的一種服務(wù)器的結(jié)構(gòu)示意圖;
[0028]圖4是本發(fā)明實(shí)施例四提供的一種終端的結(jié)構(gòu)示意圖;
[0029]圖5是本發(fā)明實(shí)施例五提供的一種處理音視頻與消息的方法的流程示意圖;
[0030]圖6是本發(fā)明實(shí)施例五提供的一種處理音視頻與消息的方法所適用的網(wǎng)絡(luò)架構(gòu)示意圖。
【具體實(shí)施方式】
[0031]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0032]在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作(或步驟)描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
[0033]實(shí)施例一
[0034]圖1是本發(fā)明實(shí)施例一提供的一種傳輸音視頻與消息的方法流程示意圖。本實(shí)施例可適用于包含有終端和服務(wù)器的網(wǎng)絡(luò)架構(gòu)。其中,所述終端為具有音視頻和消息播放需求的1S設(shè)備,例如為IPhone、Ipad、Itouch或者M(jìn)ac,該設(shè)備通常被音視頻觀看方所持有;所述服務(wù)器是為終端提供音視頻服務(wù)的物理設(shè)備。本實(shí)施例提供的方法可以由上述網(wǎng)絡(luò)架構(gòu)中的服務(wù)器來(lái)執(zhí)行。參見圖1,本實(shí)施例提供的傳輸音視頻與消息的方法具體包括如下步驟 S110-S130。
[0035]步驟SI 10、獲取對(duì)當(dāng)前音視頻流進(jìn)行切分得到的多個(gè)切片文件所對(duì)應(yīng)的M3U8索引文件。
[0036]其中,M3U8索引文件包括多個(gè)切片文件的信息(包括:時(shí)長(zhǎng)信息和資源地址信息)。任意一個(gè)切片文件的時(shí)長(zhǎng)信息,用于描述該切片文件在進(jìn)行播放時(shí)的播放時(shí)長(zhǎng);資源地址信息用于描述該切片文件在服務(wù)器上的存放路徑,通常為URL(Uniform ResourceLocator,統(tǒng)一資源定位符