專利名稱:一種播放流媒體的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)視頻播放領(lǐng)域,尤其涉及一種播放流媒體的系統(tǒng)和方法。
背景技術(shù):
HTTP Live Streaming協(xié)議是一種流媒體播出協(xié)議,蘋果公司的iPhone、iPacUMac等產(chǎn)品都基于該協(xié)議實(shí)現(xiàn)流媒體播出,HTTP Live Streaming協(xié)議最大的特點(diǎn)是使用流分割技術(shù),將流媒體文件切割成多個TS碎片文件,然后建立一個m3u8索引文件。在網(wǎng)絡(luò)傳輸中使用HTTP Live Streaming協(xié)議可以實(shí)現(xiàn)文件的碎片化傳輸,有利于充分利用網(wǎng)絡(luò)性能,提高系統(tǒng)的可靠性。Adobe公司的Flash播放器是目前互聯(lián)網(wǎng)上使用用戶最多的流媒體播放終端,但其支持RTMP協(xié)議,不支持HTTP Live Streaming協(xié)議,這樣使得使用蘋果公司產(chǎn)品終端的用戶不能觀看Flash流媒體內(nèi)容,使用Flash播放器的用戶不能觀看遵循HTTPLive Streaming協(xié)議的流媒體內(nèi)容。 如何同時利用HTTP Live Streaming協(xié)議在數(shù)據(jù)庫、網(wǎng)絡(luò)傳輸上的優(yōu)勢和Flash播放器在用戶使用量上的優(yōu)勢,實(shí)現(xiàn)流媒體資源的優(yōu)化利用,是目前互聯(lián)網(wǎng)視頻播放應(yīng)用行業(yè)中需要解決的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種播放流媒體的系統(tǒng)和方法,能夠同時利用HTTP LiveStreaming協(xié)議在數(shù)據(jù)庫、網(wǎng)絡(luò)傳輸上的優(yōu)勢和Flash播放器在用戶使用量上的優(yōu)勢,實(shí)現(xiàn)Flash播放器播放遵循HTTP Live Streaming協(xié)議的流媒體內(nèi)容。解決使用一套數(shù)據(jù)庫系統(tǒng)和一份流媒體內(nèi)容同時支持蘋果終端和Flash播放器的問題,在需要同時支持蘋果終端和Flash播放器的互聯(lián)網(wǎng)視頻播放應(yīng)用領(lǐng)域中大大降低網(wǎng)站建設(shè)成本和運(yùn)營成本。本發(fā)明提供了一種播放流媒體的系統(tǒng),包括數(shù)據(jù)庫、程序處理單元、FMS流媒體服務(wù)器和客戶端,所述數(shù)據(jù)庫、程序處理單元、FMS流媒體服務(wù)器和客戶端依次連接,程序處理單元與客戶端連接,其中
所述數(shù)據(jù)庫用于存儲符合HTTP Live Streaming協(xié)議規(guī)范的m3u8播放列表文件和所述m3u8播放列表文件對應(yīng)的TS文件;
所述程序處理單元用于解析m3u8播放列表、接收TS文件、將TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體、并將所述流媒體通過RTMP協(xié)議發(fā)送至FMS流媒體服務(wù)器;
所述FMS流媒體服務(wù)器用于存儲flv或者f4v格式的流媒體、并通過RTMP協(xié)議發(fā)送至客戶端;
所述客戶端用于通過Flash播放器向FMS流媒體服務(wù)器發(fā)送播放流媒體的請求,并播放FMS流媒體服務(wù)器發(fā)來的封裝好的flv或者f4v格式的流媒體。本發(fā)明的另一方面,還提供了一種播放流媒體的方法,包括以下步驟
A、數(shù)據(jù)庫存儲符合HTTP Live Streaming協(xié)議規(guī)范的m3u8播放列表文件和所述m3u8播放列表文件對應(yīng)的TS文件;B、客戶端通過Flash播放器向程序處理單元發(fā)送播放流媒體的請求,程序處理單元發(fā)送所述播放流媒體的請求對應(yīng)的請求回執(zhí)至客戶端;
C、客戶端收到所述請求回執(zhí)后通過Flash播放器向FMS流媒體服務(wù)器發(fā)送所述播放流媒體的請求;
D、FMS流媒體服務(wù)器通過RTMP協(xié)議將所述播放流媒體的請求對應(yīng)的流媒體發(fā)送至Flash播放器,F(xiàn)lash播放器進(jìn)行播放。進(jìn)一步地,步驟B中,程序處理單元發(fā)送所述播放流媒體的請求對應(yīng)的請求回執(zhí)至客戶端,還包括以下步驟
程序處理單元查看是否有所述播放流媒體的請求對應(yīng)的流媒體發(fā)送記錄,若有則發(fā)送所述請求回執(zhí)至客戶端; 若沒有則將所述播放流媒體的請求對應(yīng)的TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體,并將所述流媒體通過RTMP協(xié)議發(fā)送至FMS流媒體服務(wù)器進(jìn)行存儲,將所述請求回執(zhí)發(fā)送至客戶端。進(jìn)一步地,程序處理單元將所述TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體,還包括以下步驟
程序處理單元將所述播放流媒體的請求轉(zhuǎn)換成對m3u8播放列表文件的請求發(fā)送至數(shù)據(jù)庫,程序處理單元接收并解析數(shù)據(jù)庫發(fā)來的所述m3u8播放列表文件,獲得對應(yīng)的TS文件列表和TS文件地址;
程序處理單元通過所述TS文件地址向數(shù)據(jù)庫請求TS文件,并接收數(shù)據(jù)庫發(fā)來的TS文件后并緩存;
程序處理單元解封裝接收到的TS文件,拼接后獲得原始音頻流和視頻流,將所述原始音頻流和視頻流封裝為flv或者f4V格式的流媒體。本發(fā)明的技術(shù)效果在于同時利用HTTP Live Streaming協(xié)議在數(shù)據(jù)庫、網(wǎng)絡(luò)傳輸上的優(yōu)勢和Flash播放器在用戶使用量上的優(yōu)勢,實(shí)現(xiàn)Flash播放器播放遵循HTTP LiveStreaming協(xié)議的流媒體內(nèi)容。使用一套數(shù)據(jù)庫系統(tǒng)和一份流媒體內(nèi)容同時支持蘋果終端和Flash播放器,在需要同時支持蘋果終端和Flash播放器的互聯(lián)網(wǎng)視頻播放應(yīng)用領(lǐng)域中降低網(wǎng)站建設(shè)成本和運(yùn)營成本。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中
圖I是本發(fā)明具體實(shí)施方式
中播放流媒體的系統(tǒng)的結(jié)構(gòu)示意圖。圖2是本發(fā)明具體實(shí)施方式
中播放流媒體的方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。圖I是本發(fā)明具體實(shí)施方式
中播放流媒體的系統(tǒng)的結(jié)構(gòu)示意圖。如圖I所示,該播放流媒體的系統(tǒng)包括數(shù)據(jù)庫101、程序處理單元102、FMS流媒體服務(wù)器103和客戶端104,數(shù)據(jù)庫、程序處理單元、FMS流媒體服務(wù)器和客戶端依次連接,客戶端與程序處理單元連接。數(shù)據(jù)庫用于存儲m3u8播放列表文件和所述m3u8播放列表文件對應(yīng)的TS文件。程序處理單元用于解析m3u8播放列表、接收TS文件、將TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體、并將所述流媒體通過RTMP協(xié)議發(fā)送至FMS流媒體服務(wù)器。FMS流媒體服務(wù)器用于存儲fIv或者f4v格式的流媒體、并通過RTMP協(xié)議發(fā)送至客戶端??蛻舳擞糜谕ㄟ^Flash播放器向FMS流媒體服務(wù)器發(fā)送播放流媒體的請求,并播 放FMS流媒體服務(wù)器發(fā)來的封裝好的flv或者f4v格式的流媒體。圖2是本發(fā)明具體實(shí)施方式
中播放流媒體的方法的流程圖。如圖2所示,播放流媒體的方法的流程,具體包括以下步驟
步驟201、數(shù)據(jù)庫存儲符合HTTP Live Streaming協(xié)議規(guī)范的m3u8播放列表文件和所述m3u8播放列表文件對應(yīng)的TS文件。步驟202、客戶端通過Flash播放器向客戶端通過Flash播放器向程序處理單元發(fā)送播放流媒體的請求。步驟203、程序處理單元查看是否有所述播放流媒體的請求對應(yīng)的流媒體發(fā)送記錄,若有則轉(zhuǎn)至步驟207,若沒有則轉(zhuǎn)至步驟204 ;
步驟204、程序處理單元將所述播放流媒體的請求轉(zhuǎn)換成對m3u8播放列表文件的請求發(fā)送至數(shù)據(jù)庫,程序處理單元接收并解析數(shù)據(jù)庫發(fā)來的所述m3u8播放列表文件,獲得對應(yīng)的TS文件列表和TS文件地址。步驟205、程序處理單元通過所述TS文件地址向數(shù)據(jù)庫請求TS文件,并接收數(shù)據(jù)庫發(fā)來的TS文件后儲存至處理緩沖區(qū)。步驟206、程序處理單元解封裝接收到的TS文件,拼接后獲得原始音頻流和視頻流,將所述原始音頻流和視頻流封裝為flv或者f4v格式的流媒體,并將所述流媒體通過RTMP協(xié)議發(fā)送至FMS流媒體服務(wù)器儲存。步驟207、程序處理單元發(fā)送請求回執(zhí)至客戶端,客戶端收到所述請求回執(zhí)后通過Flash播放器向FMS流媒體服務(wù)器發(fā)送所述播放流媒體的請求。步驟208、FMS流媒體服務(wù)器通過RTMP協(xié)議將所述播放流媒體的請求對應(yīng)的流媒體發(fā)送至Flash播放器,F(xiàn)lash播放器進(jìn)行播放。最后應(yīng)說明的是以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種播放流媒體的系統(tǒng),其特征在于,包括數(shù)據(jù)庫、程序處理單元、FMS流媒體服務(wù)器和客戶端,數(shù)據(jù)庫、程序處理單元、FMS流媒體服務(wù)器和客戶端依次連接,程序處理單元與客戶端連接,其中 所述數(shù)據(jù)庫用于存儲符合HTTP Live Streaming協(xié)議規(guī)范的m3u8播放列表文件和所述m3u8播放列表文件對應(yīng)的TS文件; 所述程序處理單元用于解析m3u8播放列表、接收TS文件、將TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體、并將所述流媒體通過RTMP協(xié)議發(fā)送至FMS流媒體服務(wù)器; 所述FMS流媒體服務(wù)器用于存儲flv或者f4v格式的流媒體、并通過RTMP協(xié)議發(fā)送至客戶端; 所述客戶端用于通過Flash播放器向FMS流媒體服務(wù)器發(fā)送播放流媒體的請求,并播放FMS流媒體服務(wù)器發(fā)來的封裝好的flv或者f4v格式的流媒體。
2.一種播放流媒體的方法,其特征在于,包括以下步驟; A、數(shù)據(jù)庫存儲符合HTTPLive Streaming協(xié)議規(guī)范的m3u8播放列表文件和所述m3u8播放列表文件對應(yīng)的TS文件; B、客戶端通過Flash播放器向程序處理單元發(fā)送播放流媒體的請求,程序處理單元發(fā)送所述播放流媒體的請求對應(yīng)的請求回執(zhí)至客戶端; C、客戶端收到所述請求回執(zhí)后通過Flash播放器向FMS流媒體服務(wù)器發(fā)送所述播放流媒體的請求; D、FMS流媒體服務(wù)器通過RTMP協(xié)議將所述播放流媒體的請求對應(yīng)的流媒體發(fā)送至Flash播放器,F(xiàn)lash播放器進(jìn)行播放。
3.根據(jù)權(quán)利要求2所述一種播放流媒體的方法,其特征在于,步驟B中,程序處理單元發(fā)送所述播放流媒體的請求對應(yīng)的請求回執(zhí)至客戶端,進(jìn)一步包括以下步驟 程序處理單元查看是否有所述播放流媒體的請求對應(yīng)的流媒體發(fā)送記錄,若有則發(fā)送所述請求回執(zhí)至客戶端; 若沒有則將所述播放流媒體的請求對應(yīng)的TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體,并將所述流媒體通過RTMP協(xié)議發(fā)送至FMS流媒體服務(wù)器進(jìn)行存儲,將所述請求回執(zhí)發(fā)送至客戶端。
4.根據(jù)權(quán)利要求3所述一種播放流媒體的方法,其特征在于,程序處理單元將所述TS文件轉(zhuǎn)換為flv或者f4v格式的流媒體,進(jìn)一步包括以下步驟 程序處理單元將所述播放流媒體的請求轉(zhuǎn)換成對m3u8播放列表文件的請求發(fā)送至數(shù)據(jù)庫,程序處理單元接收并解析數(shù)據(jù)庫發(fā)來的所述m3u8播放列表文件,獲得對應(yīng)的TS文件列表和TS文件地址; 程序處理單元通過所述TS文件地址向數(shù)據(jù)庫請求TS文件,并接收數(shù)據(jù)庫發(fā)來的TS文件后并緩存; 程序處理單元解封裝接收到的TS文件,拼接后獲得原始音頻流和視頻流,將所述原始音頻流和視頻流封裝為flv或者f4v格式的流媒體。
全文摘要
本發(fā)明公開了一種播放流媒體的系統(tǒng)和方法,首先,數(shù)據(jù)庫存儲m3u8播放列表文件和對應(yīng)的TS文件;客戶端通過Flash播放器向程序處理單元發(fā)送播放流媒體的請求,程序處理單元發(fā)送所述播放流媒體的請求對應(yīng)的請求回執(zhí)至客戶端;客戶端收到所述請求回執(zhí)后通過Flash播放器向FMS流媒體服務(wù)器發(fā)送所述播放流媒體的請求;FMS流媒體服務(wù)器通過RTMP協(xié)議將所述播放流媒體的請求對應(yīng)的流媒體發(fā)送至Flash播放器,F(xiàn)lash播放器進(jìn)行播放。本發(fā)明能夠?qū)崿F(xiàn)一套數(shù)據(jù)庫系統(tǒng)和一份流媒體內(nèi)容同時支持蘋果終端和Flash播放器的問題,在需要同時支持蘋果終端和Flash播放器的互聯(lián)網(wǎng)視頻播放應(yīng)用領(lǐng)域中降低網(wǎng)站運(yùn)營成本。
文檔編號H04N21/437GK102740125SQ20121019408
公開日2012年10月17日 申請日期2012年6月13日 優(yōu)先權(quán)日2012年6月13日
發(fā)明者趙百泉 申請人:天脈聚源(北京)傳媒科技有限公司