專利名稱:基于cdn的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及流媒體點(diǎn)播技術(shù)領(lǐng)域,尤其涉及一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的信息如影視、音樂等逐漸以網(wǎng)絡(luò)作為傳播的媒介。流媒體指以流方式在網(wǎng)絡(luò)中傳送音頻、視頻和多媒體文件的媒體形式。相對(duì)于下載后觀看的網(wǎng)絡(luò)播放形式而言,流媒體的典型特征是把連續(xù)的音頻和視頻信息壓縮后放到網(wǎng)絡(luò)服務(wù)器上,用戶邊下載邊觀看,而不必等待整個(gè)文件下載完畢。由于流媒體服務(wù)器流媒體技術(shù)的優(yōu)越性,該技術(shù)廣泛應(yīng)用于視頻點(diǎn)播、視頻會(huì)議、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療和在線直播系統(tǒng)中。作為新一代互聯(lián)網(wǎng)應(yīng)用的標(biāo)志,流媒體技術(shù)在近幾年得到了飛速的發(fā)展。而流媒體服務(wù)器又是流媒體應(yīng)用的核心系統(tǒng),是運(yùn)營商向用戶提供視頻服務(wù)的關(guān)鍵平臺(tái)。其主要功能是對(duì)媒體內(nèi)容進(jìn)行采集、緩存、調(diào)度和傳輸播放,流媒體應(yīng)用系統(tǒng)的主要性能體現(xiàn)都取決于媒體服務(wù)器的性能和服務(wù)質(zhì)量。因此,流媒體服務(wù)器是流媒體應(yīng)用系統(tǒng)的基礎(chǔ),也是最主要的組成部分。流媒體服務(wù)器的主要功能是以流式協(xié)議(RTP/RTSP、MMS、RTMP等)將視頻文件傳輸?shù)娇蛻舳耍┯脩粼诰€觀看;也可從視頻采集、壓縮軟件接收實(shí)時(shí)視頻流,再以流式協(xié)議直播給客戶端。流媒體點(diǎn)播需要在客戶端與媒體服務(wù)器之間需要建立一個(gè)單獨(dú)的數(shù)據(jù)通道,從一臺(tái)服務(wù)器送出的每個(gè)數(shù)據(jù)包只能傳送給一個(gè)客戶機(jī),這種傳送方式稱為單播。每個(gè)用戶必須分別對(duì)媒體服務(wù)器發(fā)送單獨(dú)的查詢,而媒體服務(wù)器必須向每個(gè)用戶發(fā)送所申請(qǐng)的數(shù)據(jù)包拷貝。這種巨大冗余首先造成服務(wù)器沉重的負(fù)擔(dān),響應(yīng)需要很長時(shí)間,甚至停止播放;管理人員也被迫購買硬件和帶寬來保證一定的服務(wù)質(zhì)量。在網(wǎng)上進(jìn)行流媒體傳輸,所傳輸?shù)奈募仨氈谱鞒蛇m合流媒體傳輸?shù)牧髅襟w格式文件。因這通常格式存儲(chǔ)的多媒體文件容量十分大,若要在現(xiàn)有的窄帶網(wǎng)絡(luò)上傳輸則需要花費(fèi)十分長的時(shí)間,若遇網(wǎng)絡(luò)繁忙,還將造成傳輸中斷。另外,通常格式的流媒體也不能按流媒體傳輸協(xié)議進(jìn)行傳輸。因此,對(duì)需要進(jìn)行流媒體格式傳輸?shù)奈募?yīng)進(jìn)行預(yù)處理,將文件壓縮生成流媒體格式文件。這里應(yīng)注意兩點(diǎn)一是選用適當(dāng)?shù)膲嚎s算法進(jìn)行壓縮,這樣生成的文件容量較小。二是需要向文件中添加流式信息?,F(xiàn)有的技術(shù)中,存在以下缺點(diǎn)1、人工干預(yù)切片,不靈活;2、下載完整的視頻文件,浪費(fèi)磁盤3、漸進(jìn)下載方式,浪費(fèi)帶寬,流控不好
發(fā)明內(nèi)容
針對(duì)上述技術(shù)方案中的缺點(diǎn),本發(fā)明提供一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法,該方法支持觸發(fā)式切片,不需人工干預(yù),對(duì)文件進(jìn)行切片處理時(shí),無需緩存整個(gè)視頻文件。本發(fā)明提供了一種基于⑶N的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng),包括至少一個(gè)客戶端、Cache服務(wù)器以及流媒體服務(wù)器;所述客戶端,用于獲取指定格式的流媒體文件,并向Cache服務(wù)器發(fā)送所述獲取流媒體文件請(qǐng)求;所述Cache服務(wù)器,用于根據(jù)接收到的所述獲取流媒體文件請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件;當(dāng)所述Cache服務(wù)器判斷出沒有存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí),所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端;當(dāng)所述Cache服務(wù)器判斷出存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí), 將對(duì)應(yīng)的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端。本發(fā)明還提供一種基于⑶N的流媒體觸發(fā)式切片點(diǎn)播方法,包括以下步驟客戶端發(fā)送獲取流媒體文件的請(qǐng)求;Cache服務(wù)器根據(jù)接收的所述獲取流媒體文件請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件;當(dāng)所述Cache服務(wù)器判斷出沒有存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí),所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端。本發(fā)明與現(xiàn)有技術(shù)相對(duì)比,具有以下優(yōu)點(diǎn)本發(fā)明提供了一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法,其中,本發(fā)明中流媒體服務(wù)器通過在其中嵌入切片程序模塊,一旦觸發(fā),則自動(dòng)調(diào)用切片程序?qū)ξ募M(jìn)行處理。切片程序按照關(guān)鍵幀或時(shí)間等方式進(jìn)行切片生成虛擬文件存儲(chǔ),處理速度快,并且支持多平臺(tái)終端;當(dāng)客戶端首次訪問時(shí),調(diào)用切片程序?qū)⒘髅襟w文件按照關(guān)鍵幀序列生成對(duì)應(yīng)的切片文件,本發(fā)明處理生成切片文件的速度快,對(duì)于短視頻文件(幾秒到幾分鐘的文件),本發(fā)明僅需要毫秒量級(jí);對(duì)于大視頻文件(幾小時(shí)的文件),本發(fā)明需要的切片時(shí)間也只有數(shù)秒鐘,本發(fā)明基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)節(jié)約了磁盤空間,并且在用戶訪問切片文件時(shí),無需下載整個(gè)視頻文件,節(jié)省帶寬,且流控好。
圖1為本發(fā)明系統(tǒng)的實(shí)施例一的結(jié)構(gòu)框圖;圖2為本發(fā)明系統(tǒng)中切片點(diǎn)播服務(wù)器的結(jié)構(gòu)示意圖;圖3為本發(fā)明系統(tǒng)的實(shí)施例二的流程圖;圖4為本發(fā)明方法的實(shí)施例一的流程圖5為本發(fā)明方法的實(shí)施例ニ的流程圖。
具體實(shí)施例方式本發(fā)明提供一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法,該方法支持觸發(fā)式切片,不需人工干預(yù);對(duì)文件進(jìn)行切片處理時(shí),無需緩存整個(gè)視頻文件,節(jié)約了磁盤空間, 并且在用戶訪問切片文件時(shí),無需下載整個(gè)視頻文件,節(jié)省帶寬,且流控好。下面結(jié)合具體實(shí)施例及附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)描述如圖1所示,為本發(fā)明系統(tǒng)實(shí)施例一的結(jié)構(gòu)框圖,包括至少ー個(gè)客戶端、Cache服務(wù)器以及流媒體服務(wù)器,具體以ー個(gè)客戶端時(shí)為例客戶端11,用于獲取指定格式的流媒體文件,井向Cache服務(wù)器發(fā)送所述獲取流媒體文件的請(qǐng)求;Cache服務(wù)器12,用于根據(jù)接收到的所述獲取流媒體文件的請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件;當(dāng)Cache服務(wù)器12判斷出沒有存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件吋,流媒體服務(wù)器13用于根據(jù)所述獲取流媒體文件的請(qǐng)求,觸發(fā)流媒體服務(wù)器13中的切片點(diǎn)播服務(wù)器131自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件的請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端11;當(dāng)Cache服務(wù)器12判斷出存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件吋,直接將對(duì)應(yīng)的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端11。如圖2所示,為本發(fā)明系統(tǒng)流媒體服務(wù)器中切片點(diǎn)播服務(wù)器的結(jié)構(gòu)示意圖,包括第一獲取單元21,用于獲取所述獲取流媒體文件的請(qǐng)求中的流媒體文件的格式類型;查找單元22,用于根據(jù)獲取的對(duì)應(yīng)所述流媒體文件的格式類型,查找本地是否存儲(chǔ)相應(yīng)文件格式的切片存放目錄;發(fā)送單元23,用于將所述切片存放目錄下對(duì)應(yīng)所述流媒體文件切片文件發(fā)送給對(duì)應(yīng)的客戶端。當(dāng)根據(jù)獲取的對(duì)應(yīng)所述流媒體文件的格式類型,沒有查找到本地存儲(chǔ)有相應(yīng)文件格式的切片存放目錄,所述切片點(diǎn)播服務(wù)器,還包括第二獲取單元對(duì),用于獲取對(duì)應(yīng)所述流媒體文件的原始流媒體文件格式信息,并獲取所述文件格式信息中的頭信息,所述文件格式信息中的頭信息中至少含有對(duì)應(yīng)每個(gè)視頻幀及音頻幀大小、位置和關(guān)鍵幀信息;生成切片単元25,用于按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件。存儲(chǔ)單元沈,用于將生成的包含有音視頻數(shù)據(jù)的切片文件對(duì)應(yīng)的存儲(chǔ)在所述切片存放目錄下。建立對(duì)應(yīng)關(guān)系単元27,用于將所述音視頻數(shù)據(jù)的切片文件與描述切片文件之間組織關(guān)系的對(duì)應(yīng)文件建立一一對(duì)應(yīng)的關(guān)系,并存儲(chǔ)在所述切片存放目錄下。如圖3所示,為本發(fā)明系統(tǒng)的實(shí)施例ニ的結(jié)構(gòu)示意圖,包括流媒體服務(wù)器31、支撐系統(tǒng)32、Cache服務(wù)器33、客戶端34,在本發(fā)明實(shí)施例中,流媒體服務(wù)器一臺(tái)或多臺(tái)采用CN 102547478 A
HTTP協(xié)議來提供點(diǎn)播服務(wù)的服務(wù)器,流媒體服務(wù)器31存儲(chǔ)有客戶源站文件,如mp4、f4v格式的視頻文件,通過在其apache中嵌入ー個(gè)切片點(diǎn)播服務(wù)器,當(dāng)客戶端34首次訪問時(shí),調(diào)用相應(yīng)的切片程序?qū)⒘髅襟w文件按照關(guān)鍵幀生成虛擬文件??蛻舳?4發(fā)送請(qǐng)求中的流媒體文件URL格式為http://流媒體服務(wù)器IP 端ロ 號(hào)/目錄/虛擬文件名。其中,目錄下對(duì)應(yīng)存放切片程序生成的切片文件,包括音視頻文件,以及以XML形式的解析文件;目錄名為.ssm。為適應(yīng)不同的用戶平臺(tái),用戶請(qǐng)求流媒體文件吋,虛擬文件名略有不同對(duì)于apple平臺(tái),文件后綴名為.m;3u8 ;對(duì)于Adobe Flash平臺(tái),文件后綴名為.f^m ;對(duì)于Microsoft Silverlight平臺(tái),文件后綴名為.ismc。訪問請(qǐng)求通過HTTP協(xié)議由客戶端34發(fā)送到Cache服務(wù)器33,當(dāng)首次訪問吋, Cache服務(wù)器33中沒有對(duì)應(yīng)的文件,則根據(jù)所述請(qǐng)求查詢流媒體服務(wù)器31 ;當(dāng)不是首次訪問時(shí),則直接將數(shù)據(jù)返回給客戶端34。支撐系統(tǒng)32為整個(gè)系統(tǒng)提供設(shè)備配置信息以及頻道配置信息,它包括支撐中央服務(wù)器321、網(wǎng)管系統(tǒng)322以及數(shù)據(jù)庫323流媒體服務(wù)器31中的觸發(fā)切片服務(wù)器按照預(yù)定時(shí)間間隔向支撐系統(tǒng)32中的支撐中央服務(wù)器321發(fā)送用于請(qǐng)求與所述域名信息對(duì)應(yīng)的配置信息的獲取請(qǐng)求消息;并接收支撐中央服務(wù)器321根據(jù)所述獲取請(qǐng)求消息返回的與所述域名信息對(duì)應(yīng)的配置信息,所述配置信息為客戶端;34通過提供的應(yīng)用程序編程接ロ設(shè)置的配置信息,或者為預(yù)先設(shè)置在支撐中央服務(wù)器321中的默認(rèn)配置。CACHE服務(wù)器33,可以支持分層的樹形架構(gòu),包括上層FC331以及下層FC332,用以緩解單層的時(shí)候回源站的壓力。如圖4所示,為本發(fā)明方法實(shí)施例一的流程圖,包括Sl 客戶端發(fā)送獲取流媒體文件的請(qǐng)求;S2 =Cache服務(wù)器根據(jù)接收的所述獲取流媒體文件的請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件;當(dāng)所述Cache服務(wù)器判斷出沒有存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí),執(zhí)行步驟S3 所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件的請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件的請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端;當(dāng)所述Cache服務(wù)器判斷出存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件吋, 執(zhí)行步驟S4 將對(duì)應(yīng)的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端。圖5為本發(fā)明方法的實(shí)施例ニ的流程圖,步驟S3 所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件的請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件的請(qǐng)求的切片文件,具體包括S31 獲取所述獲取流媒體文件的請(qǐng)求中的流媒體文件的格式類型;S32 根據(jù)獲取的對(duì)應(yīng)所述流媒體文件的格式類型,查找本地是否存儲(chǔ)相應(yīng)文件格式的切片存放目錄;若本地存儲(chǔ)有相應(yīng)文件格式的切片存放目錄,執(zhí)行步驟S33 將所述切片存放目錄下對(duì)應(yīng)所述流媒體文件切片文件發(fā)送給對(duì)應(yīng)的客戶端;如沒有存儲(chǔ)相應(yīng)文件格式的切片存放目錄,執(zhí)行步驟S34:獲取對(duì)應(yīng)所述流媒體文件的原始流媒體文件格式信息,并獲取所述文件格式信息中的頭信息,所述文件格式信息中的頭信息中至少含有對(duì)應(yīng)每個(gè)視頻幀及音頻幀大小、位置和關(guān)鍵幀信息;S35:按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)進(jìn)行切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件;具體包括按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)進(jìn)行切片;重新組合視頻文件對(duì)應(yīng)的頭信息,將兩個(gè)關(guān)鍵幀之間的信息插入關(guān)鍵信息,并同時(shí)記錄每個(gè)關(guān)鍵幀信息的索引;切片信息文件表述切片文件的關(guān)鍵信息包含流媒體文件的頭信息、幀信息、時(shí)長、碼率、視頻音頻格式信息。生成包含有音視頻數(shù)據(jù)的切片文件。S36 將生成的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端。進(jìn)ー步的,所述按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件之后,還包括將生成的包含有音視頻數(shù)據(jù)的切片文件對(duì)應(yīng)的存儲(chǔ)在所述切片存放目錄下。具體包括將所述音視頻數(shù)據(jù)的切片文件與描述切片文件之間組織關(guān)系的對(duì)應(yīng)文件建立一一對(duì)應(yīng)的關(guān)系,并存儲(chǔ)在所述切片存放目錄下。本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)本發(fā)明提供了一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法,其中,本發(fā)明中流媒體服務(wù)器通過在其中嵌入切片程序模塊,一旦觸發(fā),則自動(dòng)調(diào)用切片程序?qū)ξ募M(jìn)行處理。切片程序按照關(guān)鍵幀或時(shí)間等方式進(jìn)行切片生成虛擬文件存儲(chǔ),處理速度快,并且支持多平臺(tái)終端;當(dāng)客戶端首次訪問時(shí),調(diào)用切片程序?qū)⒘髅襟w文件按照關(guān)鍵幀序列生成對(duì)應(yīng)的切片文件,本發(fā)明處理生成切片文件的速度快,對(duì)于短視頻文件(幾秒到幾分鐘的文件),本發(fā)明僅需要毫秒量級(jí);對(duì)于大視頻文件(幾小時(shí)的文件),本發(fā)明需要的切片時(shí)間也只有數(shù)秒鐘,本發(fā)明基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)節(jié)約了磁盤空間,并且在用戶訪問切片文件時(shí),無需下載整個(gè)視頻文件,節(jié)省帶寬,且流控好。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每ー 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生ー個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種基于⑶N的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng),其特征在于,包括至少一個(gè)客戶端、 Cache服務(wù)器以及流媒體服務(wù)器;所述客戶端,用于獲取指定格式的流媒體文件,并向所述Cache服務(wù)器發(fā)送所述獲取流媒體文件請(qǐng)求;所述Cache服務(wù)器,用于根據(jù)接收到的所述獲取流媒體文件請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件;當(dāng)所述Cache服務(wù)器判斷出沒有存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí), 所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器生成對(duì)應(yīng)獲取的所述流媒體文件請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端;當(dāng)所述Cache服務(wù)器判斷出存儲(chǔ)有對(duì)應(yīng)所述流媒體文件指定格式的切片文件時(shí),將對(duì)應(yīng)的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述切片點(diǎn)播服務(wù)器,還包括 第一獲取單元,用于獲取所述獲取流媒體文件請(qǐng)求中的流媒體文件的格式類型;查找單元,用于根據(jù)獲取的對(duì)應(yīng)所述流媒體文件的格式類型,查找本地是否存儲(chǔ)有對(duì)應(yīng)所述流媒體文件格式類型的切片存放目錄;發(fā)送單元,用于將所述切片存放目錄下對(duì)應(yīng)所述流媒體文件切片文件發(fā)送給對(duì)應(yīng)的客戶端。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述切片點(diǎn)播服務(wù)器,還包括第二獲取單元,用于獲取對(duì)應(yīng)所述流媒體文件的原始格式信息,并獲取所述流媒體文件格式信息中的頭信息,所述文件格式信息中的頭信息中至少含有對(duì)應(yīng)每個(gè)視頻幀及音頻幀大小、位置和關(guān)鍵幀信息;生成切片單元,用于按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述切片點(diǎn)播服務(wù)器,還包括存儲(chǔ)單元,用于將生成的包含有音視頻數(shù)據(jù)的切片文件對(duì)應(yīng)的存儲(chǔ)在所述切片存放目錄下。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述切片點(diǎn)播服務(wù)器,具體還包括建立對(duì)應(yīng)關(guān)系單元,用于將所述音視頻數(shù)據(jù)的切片文件與描述切片文件之間組織關(guān)系的對(duì)應(yīng)文件建立一一對(duì)應(yīng)的關(guān)系,并存儲(chǔ)在所述切片存放目錄下。
6.一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播方法,其特征在于,包括以下步驟 客戶端發(fā)送獲取流媒體文件的請(qǐng)求;Cache服務(wù)器根據(jù)接收的所述獲取流媒體文件的請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件;當(dāng)所述Cache服務(wù)器判斷出沒有存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí), 所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括當(dāng)所述Cache服務(wù)器判斷出存儲(chǔ)對(duì)應(yīng)所述指定格式的流媒體文件的切片文件時(shí),直接將對(duì)應(yīng)的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端。CN 102547478 A
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件的請(qǐng)求的切片文件,具體包括獲取所述獲取流媒體文件請(qǐng)求中的流媒體文件的格式類型;根據(jù)獲取的對(duì)應(yīng)所述流媒體文件的格式類型,查找本地是否存儲(chǔ)相應(yīng)文件格式的切片存放目錄;將所述切片存放目錄下對(duì)應(yīng)所述流媒體文件切片文件發(fā)送給對(duì)應(yīng)的客戶端。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,當(dāng)根據(jù)獲取的對(duì)應(yīng)所述流媒體文件的格式類型,沒有查找到本地存儲(chǔ)有相應(yīng)文件格式的所述切片存放目錄時(shí),還包括獲取對(duì)應(yīng)所述流媒體文件的原始流媒體文件的格式信息,并獲取所述文件格式信息中的頭信息,所述文件格式信息中的頭信息中至少含有對(duì)應(yīng)每個(gè)視頻幀及音頻幀的大小、位置和關(guān)鍵幀信息;按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)進(jìn)行切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件;將生成的所述切片文件發(fā)送給對(duì)應(yīng)的客戶端。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件,具體包括按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)進(jìn)行切片;重新組合視頻文件對(duì)應(yīng)的頭信息,將兩個(gè)關(guān)鍵幀之間的切片信息插入關(guān)鍵數(shù)據(jù)信息, 并同時(shí)記錄每個(gè)關(guān)鍵幀信息的索引;生成包含有音視頻數(shù)據(jù)的切片文件。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述按照獲取所述文件格式信息中的頭信息中的所述關(guān)鍵幀為序列的起始進(jìn)行技術(shù)觸發(fā)切片,并重新組合視頻文件,生成包含有音視頻數(shù)據(jù)的切片文件之后,還包括將生成的包含有音視頻數(shù)據(jù)的切片文件對(duì)應(yīng)的存儲(chǔ)在所述切片存放目錄下。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述將生成的包含有音視頻數(shù)據(jù)的切片文件對(duì)應(yīng)的存儲(chǔ)在所述切片存放目錄下,具體包括將所述音視頻數(shù)據(jù)的切片文件與描述切片文件之間組織關(guān)系的對(duì)應(yīng)文件建立一一對(duì)應(yīng)的關(guān)系,并存儲(chǔ)在所述切片存放目錄下。
全文摘要
本發(fā)明公開了一種基于CDN的流媒體觸發(fā)式切片點(diǎn)播系統(tǒng)和方法,該方法包括客戶端發(fā)送獲取流媒體文件的請(qǐng)求;Cache服務(wù)器根據(jù)接收的所述獲取流媒體文件的請(qǐng)求,判斷是否存儲(chǔ)有對(duì)應(yīng)所述指定格式的流媒體文件的切片文件,當(dāng)沒有存儲(chǔ)時(shí),所述流媒體服務(wù)器用于根據(jù)所述獲取流媒體文件的請(qǐng)求,觸發(fā)所述流媒體服務(wù)器中的切片點(diǎn)播服務(wù)器自動(dòng)生成對(duì)應(yīng)所述獲取流媒體文件的請(qǐng)求的切片文件,并發(fā)送給對(duì)應(yīng)的客戶端。本發(fā)明采用觸發(fā)式切片技術(shù),不需要人工干預(yù),即可對(duì)流媒體文件進(jìn)行切片處理,也不需要緩存整個(gè)音視頻文件,節(jié)省了磁盤空間,并且用戶訪問切片文庫,無需下載整個(gè)視頻文件,節(jié)省了帶寬,且流控好。
文檔編號(hào)H04N21/25GK102547478SQ20121004006
公開日2012年7月4日 申請(qǐng)日期2012年2月20日 優(yōu)先權(quán)日2012年2月20日
發(fā)明者付亮, 苗權(quán) 申請(qǐng)人:北京藍(lán)汛通信技術(shù)有限責(zé)任公司