本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種hls協(xié)議的投屏方法及系統(tǒng)。
背景技術(shù):
隨著手機和智能電視的普及,手機應(yīng)用程序app投屏到智能電視已經(jīng)成為很多影視愛好者的首選觀影方式。而投屏的主流協(xié)議有dlna(digitallivingnetworkalliance,數(shù)字生活網(wǎng)絡(luò)聯(lián)盟),airplay(蘋果公司在ios4.2及osxmountainlion中加入的一種播放技術(shù)),miracast(由wi-fi聯(lián)盟于2012年所制定,以wi-fi直連為基礎(chǔ)的無線顯示標(biāo)準(zhǔn))。其中airplay是蘋果公司推出的投屏協(xié)議,在蘋果的產(chǎn)品上用的比較多,miracast有部分智能電視支持,而dlna則是目前使用最廣,被廣大電視廠商支持的投屏協(xié)議,創(chuàng)維、tcl、三星等大多數(shù)智能電視和電視盒子都支持dlna的投屏協(xié)議。
但是,由于硬件設(shè)備的更新相對落后于互聯(lián)網(wǎng)的軟件服務(wù),目前市面上的很多智能電視都不支持hls(httplivestreaming,超文本直播流)鏈接的直接投屏,只能支持mp4,mpeg2-ts(用于音效、影像與資料的通訊協(xié)定),flv(flashvideo,流媒體格式)等主流文件容器格式的播放。
目前市面上大多數(shù)app的視頻投屏都是基于mp4容器封裝格式的投屏,如騰訊視頻dlna投屏?xí)r所使用的視頻播放鏈接就是mp4。雖然有部分app采用自己的電視盒子來實現(xiàn)hls投屏的功能,但僅限于購買該電視盒的用戶才能使用電視盒實現(xiàn)hls的投屏,然而,大部分沒有購買電視盒的用戶依然只能采用mp4的投屏方式,如愛奇藝沒有mp4視頻源,使得dlna投屏在該app上并不支持,只能支持airplay和愛奇藝自己的電視盒的投屏。
基于mp4的投屏,cdn(contentdeliverynetwork,內(nèi)容分發(fā)網(wǎng)絡(luò))中的影視內(nèi)容會需要存儲兩份,一份hls用于app的點播,一份mp4用于電視投屏,而增加一份mp4的視頻存儲,存儲成本必然會增加,相應(yīng)影視內(nèi)容的管理調(diào)度成本也會相應(yīng)增加。另外,mp4容器格式存在一個很復(fù)雜的文件索引結(jié)構(gòu),在2個小時的影視內(nèi)容中mp4的索引大小可以多達3-7兆字節(jié),這導(dǎo)致視頻播放出畫面等待時間會比較長。
技術(shù)實現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)中存在的問題,提供了一種hls協(xié)議的投屏方法及系統(tǒng),能夠減少內(nèi)容存儲和管理調(diào)度成本,且提高播放出畫面速度。
本發(fā)明就上述技術(shù)問題而提出的技術(shù)方案如下:
一方面,本發(fā)明提供一種hls協(xié)議的投屏方法,包括:
客戶端獲取待投屏視頻的hls鏈接并發(fā)送給投屏代理端;
所述投屏代理端將所述hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,并反饋給所述客戶端;
所述客戶端將所述mpeg2-ts大文件鏈接發(fā)送給dlna投屏設(shè)備以請求投屏;
所述dlna投屏設(shè)備根據(jù)所述mpeg2-ts大文件鏈接向所述投屏代理端發(fā)送mpeg2-ts大文件數(shù)據(jù)請求,并開啟投屏播放任務(wù);
所述投屏代理端根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù),并發(fā)送給所述dlna投屏設(shè)備進行播放。
進一步地,在所述獲取待投屏視頻的hls鏈接之前,還包括:
所述客戶端根據(jù)用戶選取的待投屏視頻向內(nèi)容調(diào)度服務(wù)器發(fā)送投屏鏈接請求;
所述內(nèi)容調(diào)度服務(wù)器在驗證所述客戶端的合法性后,根據(jù)所述投屏鏈接請求向所述客戶端反饋所述hls鏈接。
進一步地,在所述投屏代理端根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù)之前,還包括:
所述投屏代理端根據(jù)所述hls鏈接建立與cdn的通信連接;
所述cdn在驗證所述hls鏈接的合法性后,向所述投屏代理端反饋所述hls鏈接所對應(yīng)的m3u8文件和mpeg2-ts分片數(shù)據(jù)。
進一步地,所述mpeg2-ts大文件數(shù)據(jù)請求包括mpeg2-ts大文件請求位置;所述m3u8文件包括所有mpeg2-ts分片的大小、時長和相對位置;
所述投屏代理端根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù),具體包括:
所述投屏代理端根據(jù)所述m3u8文件,將所述mpeg2-ts大文件請求位置轉(zhuǎn)換為hls中mpeg2-ts分片的相應(yīng)位置,并從所述mpeg2-ts分片數(shù)據(jù)中獲取所述mpeg2-ts分片的相應(yīng)位置的數(shù)據(jù)。
進一步地,在所述客戶端將所述mpeg2-ts大文件鏈接發(fā)送給dlna投屏設(shè)備以請求投屏之后,還包括:
所述dlna投屏設(shè)備在檢測到本設(shè)備支持所述mpeg2-ts大文件鏈接后,向所述客戶端反饋投屏成功的消息。
另一方面,本發(fā)明提供一種hls協(xié)議的投屏系統(tǒng),包括客戶端、投屏代理端、dlna投屏設(shè)備;
所述客戶端包括hls鏈接獲取模塊,所述hls鏈接獲取模塊用于獲取待投屏視頻的hls鏈接并發(fā)送給所述投屏代理端;
所述投屏代理端包括鏈接轉(zhuǎn)換模塊,所述鏈接轉(zhuǎn)換模塊用于將所述hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,并反饋給所述客戶端;
所述客戶端還包括投屏請求模塊,所述投屏請求模塊用于將所述mpeg2-ts大文件鏈接發(fā)送給dlna投屏設(shè)備以請求投屏;
所述dlna投屏設(shè)備包括數(shù)據(jù)請求模塊,所述數(shù)據(jù)請求模塊用于根據(jù)所述mpeg2-ts大文件鏈接向所述投屏代理端發(fā)送mpeg2-ts大文件數(shù)據(jù)請求,并開啟投屏播放任務(wù);
所述投屏代理端還包括數(shù)據(jù)獲取模塊,所述數(shù)據(jù)獲取模塊用于根據(jù)所述
mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)hls的mpeg2-ts分片數(shù)據(jù),并發(fā)送
給所述dlna投屏設(shè)備進行播放。
進一步地,所述hls協(xié)議的投屏系統(tǒng)還包括內(nèi)容調(diào)度服務(wù)器;
所述客戶端還包括鏈接請求模塊,所述鏈接請求模塊用于根據(jù)用戶選取的待投屏視頻向所述內(nèi)容調(diào)度服務(wù)器發(fā)送投屏鏈接請求;
所述內(nèi)容調(diào)度服務(wù)器用于在驗證所述客戶端的合法性后,根據(jù)所述投屏鏈接請求向所述客戶端反饋所述hls鏈接。
進一步地,所述hls協(xié)議的投屏系統(tǒng)還包括cdn;
所述投屏代理端還包括通信建立模塊,所述通信建立模塊用于根據(jù)所述hls鏈接建立與所述cdn的通信連接;
所述cdn用于在驗證所述hls鏈接的合法性后,向所述投屏代理端反饋所述hls鏈接所對應(yīng)的m3u8文件和mpeg2-ts分片數(shù)據(jù)。
進一步地,所述mpeg2-ts大文件數(shù)據(jù)請求包括mpeg2-ts大文件請求位置;所述m3u8文件包括所有mpeg2-ts分片的大小、時長和相對位置;
所述數(shù)據(jù)獲取模塊具體用于根據(jù)所述m3u8文件,將所述mpeg2-ts大文件請求位置轉(zhuǎn)換為hls中mpeg2-ts分片的相應(yīng)位置,并從所述mpeg2-ts分片數(shù)據(jù)中獲取所述mpeg2-ts分片的相應(yīng)位置的數(shù)據(jù),以發(fā)送給所述dlna投屏設(shè)備進行播放。
進一步地,所述dlna投屏設(shè)備還包括成功消息反饋模塊,所述成功消息反饋模塊用于在檢測到本設(shè)備支持所述mpeg2-ts大文件鏈接后,向所述客戶端反饋投屏成功的消息。
本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
通過投屏代理端將待投屏視頻的hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,將dlna投屏設(shè)備不能播放的hls鏈接轉(zhuǎn)換為可以播放的mpeg2-ts大文件,即只需部署hls一套點播方案,減少內(nèi)容存儲和管理調(diào)度成本;mpeg2-ts沒有文件頭也沒有文件索引數(shù)據(jù),播放時只需讀取視頻文件前后數(shù)據(jù)幀計算便可得到播放所需數(shù)據(jù),大大減少出畫時間,提高播放出畫面的速度。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明提供的hls協(xié)議的投屏方法的一個實施例的流程示意圖;
圖2是本發(fā)明提供的hls協(xié)議的投屏系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖;
圖3是本發(fā)明提供的hls協(xié)議的投屏系統(tǒng)的另一個實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供了一種hls協(xié)議的投屏方法,參見圖1,該方法包括:
s1、客戶端獲取待投屏視頻的hls鏈接并發(fā)送給投屏代理端;
s2、所述投屏代理端將所述hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,并反饋給所述客戶端;
s3、所述客戶端將所述mpeg2-ts大文件鏈接發(fā)送給dlna投屏設(shè)備以請求投屏;
s4、所述dlna投屏設(shè)備根據(jù)所述mpeg2-ts大文件鏈接向所述投屏代理端發(fā)送mpeg2-ts大文件數(shù)據(jù)請求,并開啟投屏播放任務(wù);
s5、所述投屏代理端根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù),并發(fā)送給所述dlna投屏設(shè)備進行播放。
需要說明的是,客戶端中安裝有應(yīng)用程序app,客戶端app在獲取待投屏視頻的hls鏈接后,將hls鏈接發(fā)送給投屏代理端,并通知投屏代理端創(chuàng)建投屏任務(wù)。投屏代理端接收到該hls鏈接后,根據(jù)hls鏈接創(chuàng)建投屏任務(wù),并將hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接反饋給客戶端app。其中,hls由一個m3u8文件和至少一個mpeg2-ts分片組成。m3u8文件為所有mpeg2-ts分片的索引文件,包括所有mpeg2-ts分片的時長、絕對或相對位置,同時,在m3u8文件中增加所有mpeg2-ts分片的大小(字節(jié))和md5校驗值。mpeg2-ts分片的第一個視頻幀為關(guān)鍵幀,后續(xù)視頻幀由p幀和b幀(一個gop序列)以及對應(yīng)時間的音頻編碼數(shù)據(jù)組成。投屏代理端根據(jù)hls中的mpeg2-ts分片即可獲取mpeg2-ts大文件鏈接。
客戶端app在接收到投屏代理端反饋的mpeg2-ts大文件鏈接后,開始向dlna投屏設(shè)備發(fā)起投屏請求,并告知投屏鏈接的文件類型,其中,把投屏代理端反饋的mpeg2-ts大文件鏈接作為投屏鏈接。dlna投屏設(shè)備在接收到投屏請求后,根據(jù)該mpeg2-ts大文件鏈接向投屏代理端發(fā)送mpeg2-ts大文件數(shù)據(jù)請求,以請求投屏數(shù)據(jù),并開啟投屏播放任務(wù),開始緩沖。投屏代理端在創(chuàng)建投屏任務(wù)后,就開始下載hls視頻數(shù)據(jù),并在接收到dlna投屏設(shè)備發(fā)送的mpeg2-ts大文件數(shù)據(jù)請求后,根據(jù)mpeg2-ts大文件數(shù)據(jù)請求中所請求的位置獲取相應(yīng)的視頻數(shù)據(jù),并將視頻數(shù)據(jù)反饋給dlna投屏設(shè)備播放。本實施例只需部署一套hls的點播方案,即可同時應(yīng)用于客戶端app和dlna投屏設(shè)備中,減少內(nèi)容存儲和管理調(diào)度成本,而且mpeg2-ts沒有文件頭也沒有文件索引數(shù)據(jù),播放時只需讀取視頻文件前后數(shù)據(jù)幀計算便可得到播放所需數(shù)據(jù),大大減少出畫時間,提高播放速率。另外,由于hls視頻本身由m3u8文件和mpeg2-ts切片組成,只需要將mpeg2-ts切片拼在一起就可以組成一個mpeg2-ts大文件,而不需要進行容器數(shù)據(jù)格式轉(zhuǎn)換和音視頻的重編碼,對于投屏代理端來說cpu消耗也不會太大。
進一步地,在所述客戶端獲取待投屏視頻的hls鏈接之前,還包括:
所述客戶端根據(jù)用戶選取的待投屏視頻向內(nèi)容調(diào)度服務(wù)器發(fā)送投屏鏈接請求;
所述內(nèi)容調(diào)度服務(wù)器在驗證所述客戶端的合法性后,根據(jù)所述投屏鏈接請求向所述客戶端反饋所述hls鏈接。
需要說明的是,用戶可在客戶端app中選取所需投屏的視頻,客戶端app即可根據(jù)用戶所選的視頻向內(nèi)容調(diào)度服務(wù)器發(fā)送投屏鏈接請求,以請求用戶所選的視頻所對應(yīng)的hls鏈接。內(nèi)容調(diào)度服務(wù)器在收到客戶端app發(fā)送的投屏鏈接請求后,先驗證客戶端的合法性,例如驗證賬戶信息等,驗證通過后,向客戶端app反饋相應(yīng)的hls鏈接。
進一步地,在所述投屏代理端根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù)之前,還包括:
所述投屏代理端根據(jù)所述hls鏈接建立與cdn的通信連接;
所述cdn在驗證所述hls鏈接的合法性后,向所述投屏代理端反饋所述hls鏈接所對應(yīng)的m3u8文件和mpeg2-ts分片數(shù)據(jù)。
需要說明的是,在一個優(yōu)選的實施方式中,投屏代理端通過cdn獲取hls鏈接所對應(yīng)的數(shù)據(jù),即投屏代理端根據(jù)所述hls鏈接向cdn創(chuàng)建http連接,cdn在鑒定http連接的合法性后,接收http連接,并開始向投屏代理端反饋hls鏈接所對應(yīng)的數(shù)據(jù)。
在另一個優(yōu)選的實施方式中,投屏代理端通過其他投屏代理端或者其他app客戶端(hls的數(shù)據(jù)可以從從其他投屏代理端獲得,也可以從其他app播放客戶端獲得,因為所用的都是一套hls點播方案)獲取hls鏈接所對應(yīng)的數(shù)據(jù),無需從cdn獲取,以使用p2p(peertopeer,對等網(wǎng)絡(luò))節(jié)省帶寬。另外,投屏代理端在獲取數(shù)據(jù)后,通過md5校驗值對所獲取的數(shù)據(jù)進行校驗,以驗證mpeg2-ts分片數(shù)據(jù)的正確性。
進一步地,所述mpeg2-ts大文件數(shù)據(jù)請求包括mpeg2-ts大文件請求位置;所述m3u8文件包括所有mpeg2-ts分片的大小、時長和相對位置;
所述投屏代理端根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù),具體包括:
所述投屏代理端根據(jù)所述m3u8文件,將所述mpeg2-ts大文件請求位置轉(zhuǎn)換為hls中mpeg2-ts分片的相應(yīng)位置,并從所述mpeg2-ts分片數(shù)據(jù)中獲取所述mpeg2-ts分片的相應(yīng)位置的數(shù)據(jù)。
需要說明的是,mpeg2-ts大文件請求位置轉(zhuǎn)換為hls中mpge2-ts分片相應(yīng)位置的轉(zhuǎn)換方法為:
假設(shè)hls鏈接的m3u8中有n個ts分片,m3u8中包含mpeg2-ts分片的大小,那么解析m3u8可以得到第1到n個分片的大小分別為n1,n2,n3,n4,……,nn。所有的mpeg2-ts分片拼在一起就可以組成用于投屏的mpeg2-ts的大文件,因此mpeg2-ts大文件的大小為
intk=1;
intoffsetpos=pos;
while(offsetpos<nk)
{
offsetpos=offsetpos–nk;
k++;
}
因此,可以得到mpeg2-ts大文件的pos位置對應(yīng)的數(shù)據(jù)是hls鏈接第k個分片offsetpos位置對應(yīng)的數(shù)據(jù)。
進一步地,在所述客戶端將所述mpeg2-ts大文件鏈接發(fā)送給dlna投屏設(shè)備以請求投屏之后,還包括:
所述dlna投屏設(shè)備在檢測到本設(shè)備支持所述mpeg2-ts大文件鏈接后,向所述客戶端反饋投屏成功的消息。
需要說明的是,dlna投屏設(shè)備在接收到投屏請求后,查詢本設(shè)備是否支持mpeg2-ts大文件鏈接的投屏,如果不支持,則通過客戶端投屏失敗,如果支持,則通知客戶端投屏成功。
本發(fā)明實施例通過投屏代理端將待投屏視頻的hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,將dlna投屏設(shè)備不能播放的hls鏈接轉(zhuǎn)換為可以播放的mpeg2-ts大文件,即只需部署hls一套點播方案,減少內(nèi)容存儲和管理調(diào)度成本;mpeg2-ts沒有文件頭也沒有文件索引數(shù)據(jù),播放時只需讀取視頻文件前后數(shù)據(jù)幀計算便可得到播放所需數(shù)據(jù),大大減少出畫時間,提高播放出畫面的速度。
相應(yīng)地,本發(fā)明實施例還提供了一種hls協(xié)議的投屏系統(tǒng),能夠執(zhí)行實施例一中的所有流程。參見圖2,該系統(tǒng)包括客戶端、投屏代理端、dlna投屏設(shè)備;
所述客戶端包括hls鏈接獲取模塊,所述hls鏈接獲取模塊用于獲取待投屏視頻的hls鏈接并發(fā)送給所述投屏代理端;
所述投屏代理端包括鏈接轉(zhuǎn)換模塊,所述鏈接轉(zhuǎn)換模塊用于將所述hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,并反饋給所述客戶端;
所述客戶端還包括投屏請求模塊,所述投屏請求模塊用于將所述mpeg2-ts大文件鏈接發(fā)送給dlna投屏設(shè)備以請求投屏;
所述dlna投屏設(shè)備包括數(shù)據(jù)請求模塊,所述數(shù)據(jù)請求模塊用于根據(jù)所述mpeg2-ts大文件鏈接向所述投屏代理端發(fā)送mpeg2-ts大文件數(shù)據(jù)請求,并開啟投屏播放任務(wù);
所述投屏代理端還包括數(shù)據(jù)獲取模塊,所述數(shù)據(jù)獲取模塊用于根據(jù)所述mpeg2-ts大文件數(shù)據(jù)請求獲取相應(yīng)的mpeg2-ts分片數(shù)據(jù),并發(fā)送給所述dlna投屏設(shè)備進行播放。
進一步地,所述hls協(xié)議的投屏系統(tǒng)還包括內(nèi)容調(diào)度服務(wù)器;
所述客戶端還包括鏈接請求模塊,所述鏈接請求模塊用于根據(jù)用戶選取的待投屏視頻向所述內(nèi)容調(diào)度服務(wù)器發(fā)送投屏鏈接請求;
所述內(nèi)容調(diào)度服務(wù)器用于在驗證所述客戶端的合法性后,根據(jù)所述投屏鏈接請求向所述客戶端反饋所述hls鏈接。
進一步地,所述hls協(xié)議的投屏系統(tǒng)還包括cdn;
所述投屏代理端還包括通信建立模塊,所述通信建立模塊用于根據(jù)所述hls鏈接建立與所述cdn的通信連接;
所述cdn用于在驗證所述hls鏈接的合法性后,向所述投屏代理端反饋所述hls鏈接所對應(yīng)的m3u8文件和mpeg2-ts分片數(shù)據(jù)。
進一步地,所述mpeg2-ts大文件數(shù)據(jù)請求包括mpeg2-ts大文件請求位置;所述m3u8文件包括所有mpeg2-ts分片的大小、時長和相對位置;
所述數(shù)據(jù)獲取模塊具體用于根據(jù)所述m3u8文件,將所述mpeg2-ts大文件請求位置轉(zhuǎn)換為hls中mpeg2-ts分片的相應(yīng)位置,并從所述mpeg2-ts分片數(shù)據(jù)中獲取所述mpeg2-ts分片的相應(yīng)位置的數(shù)據(jù),以發(fā)送給所述dlna投屏設(shè)備進行播放。
進一步地,所述dlna投屏設(shè)備還包括成功消息反饋模塊,所述成功消息反饋模塊用于在檢測到本設(shè)備支持所述mpeg2-ts大文件鏈接后,向所述客戶端反饋投屏成功的消息。
參見圖3,是本發(fā)明實施例提供的另一種hls協(xié)議的投屏系統(tǒng)的結(jié)構(gòu)示意圖,包括cdn、投屏代理端、dlna投屏設(shè)備、客戶端和內(nèi)容調(diào)度服務(wù)器。當(dāng)用戶點擊啟動投屏任務(wù)時,客戶端app從內(nèi)容調(diào)度服務(wù)器請求得到一個hls鏈接,并將hls鏈接發(fā)送到投屏代理端,同時通知投屏代理端創(chuàng)建投屏任務(wù)。投屏代理端返回一個mpeg2-ts大文件播放地址,并創(chuàng)建代理投屏任務(wù),向cdn請求m3u8和mpeg2-ts分片數(shù)據(jù)??蛻舳薬pp得到投屏代理端返回的mpeg2-ts大文件播放地址,向dlna投屏設(shè)備發(fā)起投屏請求,并告知投屏鏈接的文件類型。dlna投屏設(shè)備接收到投屏請求后,查詢本設(shè)備是否支持該投屏鏈接的投屏,如果不支持,則通知客戶端投屏失敗,如果支持,則通知客戶端投屏成功,并開啟投屏播放任務(wù),開始播放緩沖。投屏代理端創(chuàng)建投屏任務(wù)后,就開始下載hls視頻數(shù)據(jù),并根據(jù)dlna投屏設(shè)備的mpeg2-ts大文件請求位置轉(zhuǎn)換為相對應(yīng)的hls的mpeg2-ts分片位置,下載相應(yīng)數(shù)據(jù)后轉(zhuǎn)發(fā)給dlna投屏設(shè)備播放。本實施例通過hls點播轉(zhuǎn)mpeg2-ts大文件,將dlna投屏設(shè)備不能播放的hls鏈接轉(zhuǎn)換為可以播放mpeg2-ts大文件,成功解決了一套hls點播方案不能夠同時應(yīng)用于客戶端app和dlna投屏設(shè)備的問題,減少了存儲和運營成本,增加了hls方案的復(fù)用性,同時也彌補了mp4視頻點播出畫面慢的問題。
本發(fā)明實施例通過投屏代理端將待投屏視頻的hls鏈接轉(zhuǎn)換為mpeg2-ts大文件鏈接,將dlna投屏設(shè)備不能播放的hls鏈接轉(zhuǎn)換為可以播放的mpeg2-ts大文件,即只需部署hls一套點播方案,減少內(nèi)容存儲和管理調(diào)度成本;mpeg2-ts沒有文件頭也沒有文件索引數(shù)據(jù),播放時只需讀取視頻文件前后數(shù)據(jù)幀計算便可得到播放所需數(shù)據(jù),大大減少出畫時間,提高播放出畫面的速度。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。