專利名稱:一種視頻播放的后臺控制方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)電視播控技術(shù)領(lǐng)域,尤其涉及一種視頻播放的后臺控制方法及系統(tǒng)。
背景技術(shù):
目前,隨著我國互聯(lián)網(wǎng)電視用戶越來越多和標(biāo)清甚至高清視頻越來越普及,互聯(lián)網(wǎng)電視運(yùn)營商的服務(wù)器需要提供大量的高清直播和點(diǎn)播服務(wù),由于網(wǎng)絡(luò)帶寬的限制,客戶端的視頻播放不夠流暢、簡便、直播延時(shí)時(shí)間長,而且直播視頻節(jié)目不能回看,用戶對于運(yùn)營商提供的服務(wù)的體驗(yàn)較差
發(fā)明內(nèi)容
本發(fā)明的目的是在于提出一種視頻播放的后臺控制方法及系統(tǒng),以M3U8協(xié)議對視頻文件和直播視頻流內(nèi)部參數(shù)進(jìn)行重新排列、碼流調(diào)整和存儲(chǔ),形成虛擬直播流,以M3U8直播列表形式對外發(fā)布,使互聯(lián)網(wǎng)電視節(jié)目的編排更簡單、易操作,點(diǎn)播和直播延遲時(shí)間更短,實(shí)現(xiàn)直播回看功能。本發(fā)明一方面提供了一種視頻播放的后臺控制方法,適用于互聯(lián)網(wǎng)電視播控領(lǐng)域,包括以下步驟
步驟A、服務(wù)器收到客戶端發(fā)來的指令消息后,解析指令消息,獲得節(jié)目列表更新信息、節(jié)目類型信息、節(jié)目開始結(jié)束時(shí)間戳信息和M3U8播放列表地址信息;
步驟B、根據(jù)所述節(jié)目列表更新信息,判斷是否需要更換當(dāng)前客戶端播放的節(jié)目,如果是,轉(zhuǎn)至步驟C ;
步驟C、根據(jù)所述節(jié)目類型信息判斷節(jié)目類型信息是否為直播節(jié)目,若不是,根據(jù)所述M3U8播放列表地址信息獲取M3U8播放列表,并轉(zhuǎn)至步驟D,若是直播節(jié)目,將當(dāng)前時(shí)間轉(zhuǎn)換成當(dāng)前時(shí)間戳,根據(jù)所述M3U8播放列表地址信息獲取當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表,并轉(zhuǎn)至步驟D ;
步驟D、解析所述M3U8播放列表,獲取TS文件地址,取得TS文件并緩存;
步驟E、將所述TS文件解碼,調(diào)整參數(shù),重新排列后寫入連續(xù)時(shí)間戳,輸出TS文件序
列;
步驟F、根據(jù)所述TS文件序列制作M3U8直播列表,將所述TS文件序列存入數(shù)據(jù)庫,輸出M3U8直播列表至客戶端。進(jìn)一步地,所述客戶端發(fā)出的指令消息是XML文件。進(jìn)一步地,步驟B還包括以下步驟如果不需要更換當(dāng)前客戶端播放的節(jié)目,本流程停止。進(jìn)一步地,步驟C還包括以下步驟
將當(dāng)前時(shí)間轉(zhuǎn)換成當(dāng)前時(shí)間戳,判斷所述當(dāng)前時(shí)間戳是否在所述節(jié)目開始結(jié)束時(shí)間戳信息范圍中,若在其中,節(jié)目正在播出,根據(jù)當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表地址信息獲得M3U8播放列表,并每間隔預(yù)設(shè)時(shí)間重新根據(jù)當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表的地址獲取更新的M3U8播放列表,若所述當(dāng)前時(shí)間戳不在所述節(jié)目開始結(jié)束時(shí)間戳信息范圍中,節(jié)目停止或尚未開始播出,每隔預(yù)設(shè)時(shí)間重新判斷當(dāng)前時(shí)間轉(zhuǎn)換成的當(dāng)前時(shí)間戳是否在節(jié)目開始結(jié)束時(shí)間戳范圍中。本發(fā)明另一方面還提供了一種視頻播放的后臺控制系統(tǒng),適應(yīng)于互聯(lián)網(wǎng)電視播控領(lǐng)域,包括中央控制裝置、接口裝置、M3U8播放列表獲取解析裝置、整流裝置、指令消息解析裝置和隊(duì)列管理裝置,所述中央控制裝置與接口裝置、M3U8播放列表獲取解析裝置、整流裝置和指令消息解析裝置分別連接,所述隊(duì)列管理裝置與M3U8播放列表獲取解析裝置和整流裝置分別連接;其中
所述中央控制裝置用于裝置間的調(diào)用;
所述接口裝置用于對外提供接口服務(wù);
所述M3U8播放列表獲取解析裝置用于根據(jù)M3U8播放列表地址得到M3U8播放列表,解析M3U8播放列表,獲得TS文件;
所述整流裝置用于將獲得的TS文件進(jìn)行解復(fù)用、打入連續(xù)時(shí)間戳、調(diào)整編碼參數(shù)、再復(fù)用,形成TS文件序列,根據(jù)所述TS文件序列得到M3U8直播列表,輸出TS文件序列,輸出M3U8直播列表;
所述指令消息解析裝置用于實(shí)現(xiàn)指令消息的加載、解析和存儲(chǔ);
所述隊(duì)列管理裝置用于實(shí)現(xiàn)TS文件地址隊(duì)列和TS文件整流隊(duì)列的管理。進(jìn)一步地,所述中央控制裝置進(jìn)一步包含控制函數(shù)模塊和代理函數(shù)模塊,
所述控制函數(shù)模塊用于線程啟停;
所述代理函數(shù)模塊用于對應(yīng)其他裝置。本發(fā)明的技術(shù)效果在于
能夠?yàn)榛ヂ?lián)網(wǎng)電視的用戶提供一種虛擬形式的視頻直播,使互聯(lián)網(wǎng)電視節(jié)目的編排更簡單、易操作,點(diǎn)播和直播延遲時(shí)間更短,實(shí)現(xià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í)施方式
中視頻播放的后臺控制方法的流程圖。圖2是本發(fā)明具體實(shí)施方式
中視頻播放的后臺控制系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。圖I是本發(fā)明具體實(shí)施方式
中視頻播放的后臺控制方法的流程圖。如圖I所示,視頻播放的后臺控制方法的流程,具體包括以下步驟
步驟101、服務(wù)器收到客戶端發(fā)來的指令消息后,解析指令消息,獲得節(jié)目列表更新信息、節(jié)目類型信息、節(jié)目開始結(jié)束時(shí)間戳信息和M3U8播放列表地址信息。其中客戶端發(fā)來的指令消息是XML格式文件;
節(jié)目列表更新信息為cmd字段,若cmd=l,表示節(jié)目列表已更新,若cmd=2,表示節(jié)目列表未更新;
視頻源ID信息為sourceld字段,存儲(chǔ)視頻源ID ;
節(jié)目類型信息為sourceType字段,若SourceType=I,表示節(jié)目類型為直播節(jié)目,若sourceType=2,表示節(jié)目類型不是直播節(jié)目;
節(jié)目開始結(jié)束時(shí)間戳信息為sourceTime字段,記錄節(jié)目的開始時(shí)間戳和結(jié)束時(shí)間戳; M3U8播放列表地址信息為m3u8Id字段,記錄M3U8播放列表地址。步驟102、根據(jù)所述節(jié)目列表更新信息,判斷是否需要更換當(dāng)前客戶端播放的節(jié)目,若cmd=l,轉(zhuǎn)至步驟103,若cmd=2,本流程停止。步驟103、根據(jù)所述節(jié)目類型信息判斷節(jié)目類型信息是否為直播節(jié)目,若sourceType=2,轉(zhuǎn)至步驟 104,若 SourceType=I,轉(zhuǎn)至步驟 105。步驟104、根據(jù)所述M3U8播放列表地址信息,取得M3U8播放列表,轉(zhuǎn)至步驟106。
步驟105、將當(dāng)前時(shí)間轉(zhuǎn)換成unix當(dāng)前時(shí)間戳,判斷當(dāng)前時(shí)間戳是否在sourceTime字段中,若在其中,節(jié)目正在播出,根據(jù)當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表的地址獲取M3U8播放列表,并每間隔3秒重新根據(jù)時(shí)間戳對應(yīng)的M3U8播放列表的地址獲取更新的M3U8播放列表,若所述時(shí)間戳不在sourceTime字段中,節(jié)目停止或尚未播出,每隔10秒重新判斷當(dāng)前時(shí)間轉(zhuǎn)換成的時(shí)間戳是否在sourceTime字段中。步驟106、解析所述M3U8播放列表,獲取TS文件地址,取得TS文件并緩存。步驟107、將所述TS文件解碼,調(diào)整視頻格式、音頻格式、DTS、幀頻和比特率,重新排列后寫入連續(xù)時(shí)間戳,輸出TS文件序列。步驟108、根據(jù)apache發(fā)布目錄找到當(dāng)前TS文件的據(jù)對路徑,寫入M3U8直播列表,將所述TS文件序列存入數(shù)據(jù)庫。步驟109、輸出M3U8直播列表至客戶端。圖2是本發(fā)明具體實(shí)施方式
中視頻播放的后臺控制系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,視頻播放的后臺控制系統(tǒng)的系統(tǒng)主要包括以下幾個(gè)裝置中央控制裝置201、接口裝置202、M3U8播放列表獲取解析裝置203、整流裝置204、指令消息解析裝置205、隊(duì)列管理裝置206。中央控制裝置進(jìn)一步包括控制函數(shù)模塊2011和代理函數(shù)模塊2022。中央控制裝置與接口裝置、M3U8播放列表獲取解析裝置、整流裝置和指令消息解析裝置分別連接。隊(duì)列管理裝置與M3U8播放列表獲取解析裝置和整流裝置分別連接。中央控制裝置用于實(shí)現(xiàn)裝置間的調(diào)用,其中控制函數(shù)模塊用于線程啟停,代理函數(shù)模塊用于對應(yīng)其他裝置。接口裝置用于對外提供接口服務(wù)。
M3U8播放列表獲取解析裝置用于根據(jù)M3U8播放列表地址得到M3U8播放列表,解析M3U8播放列表,獲得TS文件。整流裝置用于將獲得的TS文件進(jìn)行解復(fù)用、打入連續(xù)時(shí)間戳、調(diào)整編碼參數(shù)、再復(fù)用,形成TS文件序列,根據(jù)所述TS文件序列得到M3U8直播列表,輸出TS文件序列,輸出M3U8直播列表。指令消息解析裝置用于實(shí)現(xiàn)指令消息的加載、解析和存儲(chǔ)。隊(duì)列管理裝置用于實(shí)現(xiàn)TS文件地址隊(duì)列和TS文件整流隊(duì)列的管理。最后應(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.一種視頻播放的后臺控制方法,適用于互聯(lián)網(wǎng)電視播控領(lǐng)域,其特征在于,包括以下步驟 A、服務(wù)器收到客戶端發(fā)來的指令消息后,解析指令消息,獲得節(jié)目列表更新信息、節(jié)目類型信息、節(jié)目開始結(jié)束時(shí)間戳信息和M3U8播放列表地址信息; B、根據(jù)所述節(jié)目列表更新信息,判斷是否需要更換當(dāng)前客戶端播放的節(jié)目,如果是,轉(zhuǎn)至步驟C ; C、根據(jù)所述節(jié)目類型信息判斷節(jié)目類型信息是否為直播節(jié)目,若不是,根據(jù)所述M3U8播放列表地址信息獲取M3U8播放列表,并轉(zhuǎn)至步驟D,若是直播節(jié)目,將當(dāng)前時(shí)間轉(zhuǎn)換成當(dāng)前時(shí)間戳,根據(jù)所述M3U8播放列表地址信息獲取當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表,并轉(zhuǎn)至步驟D ; D、解析所述M3U8播放列表,獲取TS文件地址,取得TS文件并緩存; E、將所述TS文件解碼,調(diào)整參數(shù),重新排列后寫入連續(xù)時(shí)間戳,輸出TS文件序列; F、根據(jù)所述TS文件序列制作M3U8直播列表,將所述TS文件序列存入數(shù)據(jù)庫,輸出M3U8直播列表至客戶端。
2.根據(jù)權(quán)利要求I中所述的視頻播放的后臺控制方法,其特征在于,所述客戶端發(fā)出的指令消息是XML文件。
3.根據(jù)權(quán)利要求I中所述的視頻播放的后臺控制方法,其特征在于,步驟B進(jìn)ー步地還包括以下步驟 如果不需要更換當(dāng)前客戶端播放的節(jié)目,本流程停止。
4.根據(jù)權(quán)利要求I中所述的視頻播放的后臺控制方法,其特征在于,步驟C進(jìn)ー步地還包括以下步驟 將當(dāng)前時(shí)間轉(zhuǎn)換成當(dāng)前時(shí)間戳,判斷所述當(dāng)前時(shí)間戳是否在所述節(jié)目開始結(jié)束時(shí)間戳信息范圍中,若在其中,節(jié)目正在播出,根據(jù)當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表地址信息獲得M3U8播放列表,并每間隔預(yù)設(shè)時(shí)間重新根據(jù)當(dāng)前時(shí)間戳對應(yīng)的M3U8播放列表的地址獲取更新的M3U8播放列表,若所述當(dāng)前時(shí)間戳不在所述節(jié)目開始結(jié)束時(shí)間戳信息范圍中,節(jié)目停止或尚未開始播出,每隔預(yù)設(shè)時(shí)間重新判斷當(dāng)前時(shí)間轉(zhuǎn)換成的當(dāng)前時(shí)間戳是否在節(jié)目開始結(jié)束時(shí)間戳范圍中。
5.一種視頻播放的后臺控制系統(tǒng),適用于互聯(lián)網(wǎng)電視播控領(lǐng)域,其特征在于,包括中央控制裝置、接口裝置、M3U8播放列表獲取解析裝置、整流裝置、指令消息解析裝置和隊(duì)列管理裝置,所述中央控制裝置與接口裝置、M3U8播放列表獲取解析裝置、整流裝置和指令消息解析裝置分別連接,所述隊(duì)列管理裝置與M3U8播放列表獲取解析裝置和整流裝置分別連接;其中 所述中央控制裝置用于裝置間的調(diào)用; 所述接口裝置用于對外提供接ロ服務(wù); 所述M3U8播放列表獲取解析裝置用于根據(jù)M3U8播放列表地址得到M3U8播放列表,解析M3U8播放列表,獲得TS文件; 所述整流裝置用于將獲得的TS文件進(jìn)行解復(fù)用、打入連續(xù)時(shí)間戳、調(diào)整編碼參數(shù)、再復(fù)用,形成TS文件序列,根據(jù)所述TS文件序列得到M3U8直播列表,輸出TS文件序列,輸出M3U8直播列表;所述指令消息解析裝置用于實(shí)現(xiàn)指令消息的加載、解析和存儲(chǔ); 所述隊(duì)列管理裝置用于實(shí)現(xiàn)TS文件地址隊(duì)列和TS文件整流隊(duì)列的管理。
6.根據(jù)權(quán)利要求5所述的視頻播放的后臺控制系統(tǒng),其特征在于,所述中央控制裝置進(jìn)ー步包括控制函數(shù)模塊和代理函數(shù)模塊; 所述控制函數(shù)模塊用于線程啟停; 所述代理函數(shù)模塊用于對應(yīng)其他裝置。
全文摘要
本發(fā)明公開了一種視頻播放的后臺控制方法及系統(tǒng),首先,服務(wù)器端收到客戶端發(fā)出的指令消息后,解析指令消息,以確定節(jié)目列表更新信息、節(jié)目類型信息、M3U8播放列表地址信息;根據(jù)所述指令消息解析后獲得的節(jié)目列表更新信息,判斷是否需要更換當(dāng)前客戶端播放的節(jié)目,獲得節(jié)目的M3U8播放列表,取得TS文件,將TS文件碼流重整,輸出TS文件序列,根據(jù)TS文件序列得到M3U8直播列表并輸出至客戶端。本發(fā)明能夠使互聯(lián)網(wǎng)電視節(jié)目編排更簡單、易操作、直播延遲時(shí)間更短。
文檔編號H04N21/262GK102857797SQ20121010653
公開日2013年1月2日 申請日期2012年4月12日 優(yōu)先權(quán)日2012年4月12日
發(fā)明者王森林 申請人:天脈聚源(北京)傳媒科技有限公司