等。根據(jù)當(dāng)前硬件的狀態(tài)來決定啟動(dòng)多少個(gè)清染服務(wù)器,比如當(dāng)前清染服務(wù)器CPU(Central Processing Unit,中央處理器)/GPU(Graphics Processing Unit,圖形處理器)的數(shù)量來分配計(jì)算單元,同時(shí)渲染服務(wù)器要能根據(jù)不斷加入的硬件資源來調(diào)度渲染服務(wù)器,比如在計(jì)算過程中有新的工作站加入到集群中來渲染服務(wù)器要能將渲染任務(wù)及時(shí)均分到新的工作站中。
[0044]視頻云平臺(tái)要求在不同的操作系統(tǒng)中能夠運(yùn)行,所以視頻云平臺(tái)要能支持跨平臺(tái)操作,同時(shí)為了保證視頻云平臺(tái)的計(jì)算成本,可以選用能支持多種視頻編解碼格式的開源軟件。視頻云平臺(tái)軟件分為兩種:渲染服務(wù)器主要用來接收客戶端視頻請(qǐng)求,比如播放,得幀等請(qǐng)求,然后將結(jié)果發(fā)送給客戶端;視頻合成服務(wù)器主要用來接收客戶端合成結(jié)果請(qǐng)求,打包成指定的格式。
[0045]視頻云平臺(tái)要支持集群,集群就是需要將多種硬件資源并行運(yùn)轉(zhuǎn)起來,以達(dá)到充分利用資源的目的。在實(shí)際使用中,可能一個(gè)服務(wù)器中有多個(gè)CHJ與GPU,同時(shí)也可能是一個(gè)服務(wù)器群,有多個(gè)服務(wù)器來保證視頻計(jì)算的并行性。集群算法是對(duì)每個(gè)客戶端在連接的時(shí)候,輪換將客戶端與一個(gè)服務(wù)器連接起來,這樣就能在物理上能將客戶端均勻的分配給不同的服務(wù)器。同時(shí)可以根據(jù)當(dāng)前服務(wù)器的工作狀態(tài)來進(jìn)行調(diào)整,比如當(dāng)前服務(wù)器可能工作的非常滿負(fù)荷,如果有客戶端在向這個(gè)服務(wù)器發(fā)出請(qǐng)求,就應(yīng)該將這個(gè)客戶端連接到其它空閑的服務(wù)器上。
[0046]本發(fā)明的工作流程:客戶端通過PHP配置得到流媒體服務(wù)器的外網(wǎng)地址,然后與流媒體服務(wù)器進(jìn)行連接,同時(shí)客戶端與流媒體服務(wù)器是要保連接的。流媒體服務(wù)接到每一個(gè)客戶端連接請(qǐng)求后,將啟動(dòng)一個(gè)線程,這個(gè)線程將分配到指定的CPU硬件資源中來工作,將完成與客戶端的對(duì)話和渲染任務(wù),流媒體服務(wù)器在啟動(dòng)播放后得到一定數(shù)量的視音頻數(shù)據(jù)后,然后將按照一定速率進(jìn)行數(shù)據(jù)推送,推送的數(shù)據(jù)可以是H264IBP視頻數(shù)據(jù)流以及AAC音頻流;流媒體服務(wù)器需要支持各種視音頻格式因此要進(jìn)行非常復(fù)雜的視頻轉(zhuǎn)換,比如視頻格式的轉(zhuǎn)換,制式的轉(zhuǎn)換,分辨率的轉(zhuǎn)換,像素寬高比的轉(zhuǎn)換等等。流媒體服務(wù)器在播放的時(shí)候?qū)㈨樞驅(qū)⒁曇纛l壓縮數(shù)據(jù)通過TCP私有協(xié)議發(fā)給客戶端;流媒體服務(wù)器與客戶端定義有信令協(xié)議數(shù)據(jù)包規(guī)范(由客戶端向流媒體服務(wù)器發(fā)出請(qǐng)求)和媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包協(xié)議(由流媒體服務(wù)器向客戶端推送數(shù)據(jù));信令協(xié)議數(shù)據(jù)包得幀信令協(xié)議數(shù)據(jù)包、文件播放信令協(xié)議數(shù)據(jù)包、播放停止信令協(xié)議數(shù)據(jù)包等,而媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包有視頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包、音頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包、IBP單幀視頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包。
[0047]如圖3所示,所述渲染服務(wù)器在客戶端連接到視頻云平臺(tái)后,提供多種渲染效果的視頻幀、接收客戶端的視頻幀選擇結(jié)果、保存客戶端選擇的視頻幀的渲染參數(shù),并在所述流媒體服務(wù)器向客戶端播放視頻時(shí),利用其保存的渲染參數(shù)對(duì)播放的視頻進(jìn)行渲染。也就是說,客戶端主要用來響應(yīng)用戶的操作,并向流媒體服務(wù)器發(fā)出命令,將渲染結(jié)果顯示在界面中,并將用戶的結(jié)果保存在服務(wù)器中;客戶端要進(jìn)行界面和流媒體播放控制同時(shí)要定義一套數(shù)據(jù)結(jié)構(gòu)用來保存用戶的結(jié)果和用來與服務(wù)器端進(jìn)行數(shù)據(jù)交互。
[0048]如圖4所示,所述視頻合成服務(wù)器根據(jù)客戶端的多個(gè)視頻合成請(qǐng)求,將屬于多個(gè)流媒體服務(wù)器的視頻進(jìn)行合成處理后,發(fā)送給所述客戶端。也就是說,合成服務(wù)器在8888端口提供服務(wù),客戶端通過http協(xié)議發(fā)給合成任務(wù)服務(wù)器多個(gè)任務(wù),并將任務(wù)輪換分配到不同的服務(wù)器同時(shí)對(duì)每個(gè)任務(wù)都啟動(dòng)多線程可以進(jìn)行多幀的并行合成。
[0049]綜上所述,本發(fā)明具有以下技術(shù)效果:
[0050]本發(fā)明可根據(jù)前臺(tái)業(yè)務(wù)需求動(dòng)態(tài)分配相關(guān)的渲染資源,顯著減少客戶端的投入,真正令前臺(tái)瘦客戶端化。視頻云計(jì)算系統(tǒng)具備流媒體服務(wù)接口,使用幀渲染技術(shù),支持各種格式的視音頻文件外,還可實(shí)時(shí)進(jìn)行多層視音頻編解碼、壓縮等運(yùn)算,然后進(jìn)行幀傳輸,發(fā)布到客戶端,實(shí)現(xiàn)面向編輯類的流服務(wù)發(fā)布,這些運(yùn)算都要在很短時(shí)間內(nèi)完成?;谝曨l云計(jì)算技術(shù),用戶即使利用筆記本電腦、IPAD等小型瘦客戶端,也可進(jìn)行快速幀精度的搜索操作響應(yīng)、多層視頻編輯、預(yù)覽操作,實(shí)現(xiàn)實(shí)時(shí)視頻合成效果,同時(shí)大幅降低客戶端的投資,必要時(shí)共享的打包渲染中心還可以動(dòng)態(tài)擴(kuò)展,提高了設(shè)備利用率,保護(hù)了投資。
[0051]盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種視頻云平臺(tái)播放視頻的方法,其特征在于,包括以下步驟: 客戶端連接到視頻云平臺(tái)后,視頻云平臺(tái)根據(jù)客戶端的渲染請(qǐng)求,向客戶端提供多種渲染效果的視頻幀,以供客戶端進(jìn)行選擇; 視頻云平臺(tái)接收客戶端的視頻幀選擇結(jié)果,并保存客戶端選擇的視頻幀的渲染參數(shù); 在客戶端隨后向視頻云平臺(tái)發(fā)出視頻播放請(qǐng)求時(shí),視頻云平臺(tái)利用其保存的渲染參數(shù)對(duì)客戶端請(qǐng)求播放的視頻進(jìn)行渲染后,發(fā)送給所述客戶端。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述視頻云平臺(tái)包括流媒體服務(wù)器和渲染服務(wù)器; 其中所述流媒體服務(wù)器根據(jù)客戶端的視頻播放請(qǐng)求,向客戶端播放相應(yīng)的視頻; 所述渲染服務(wù)器在客戶端連接到視頻云平臺(tái)后,提供多種渲染效果的視頻幀、接收客戶端的視頻幀選擇結(jié)果、保存客戶端選擇的視頻幀的渲染參數(shù),并在所述流媒體服務(wù)器向客戶端播放視頻時(shí),利用其保存的渲染參數(shù)對(duì)播放的視頻進(jìn)行渲染。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述視頻云平臺(tái)還包括視頻合成服務(wù)器,所述視頻合成服務(wù)器根據(jù)客戶端的多個(gè)視頻合成請(qǐng)求,將屬于多個(gè)流媒體服務(wù)器的視頻進(jìn)行合成處理后,發(fā)送給所述客戶端。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述客戶端以信令協(xié)議數(shù)據(jù)包的方式向流媒體服務(wù)器發(fā)出視頻播放請(qǐng)求;所述流媒體服務(wù)器以媒體協(xié)議數(shù)據(jù)包的方式向客戶端發(fā)送需要播放的相應(yīng)視頻。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述信令協(xié)議數(shù)據(jù)包包括幀信令協(xié)議數(shù)據(jù)包、文件播放信令協(xié)議數(shù)據(jù)包以及播放停止信令協(xié)議數(shù)據(jù)包;所述媒體協(xié)議數(shù)據(jù)包包括視頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包、音頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包以及IBP單幀視頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包。6.一種視頻云平臺(tái)播放視頻的裝置,其特征在于,包括: 選擇視頻幀模塊,用于客戶端連接到視頻云平臺(tái)后,視頻云平臺(tái)根據(jù)客戶端的渲染請(qǐng)求,向客戶端提供多種渲染效果的視頻幀,以供客戶端進(jìn)行選擇; 保存渲染參數(shù)模塊,用于視頻云平臺(tái)接收客戶端的視頻幀選擇結(jié)果,并保存客戶端選擇的視頻幀的渲染參數(shù); 視頻渲染模塊,用于在客戶端隨后向視頻云平臺(tái)發(fā)出視頻播放請(qǐng)求時(shí),視頻云平臺(tái)利用其保存的渲染參數(shù)對(duì)客戶端請(qǐng)求播放的視頻進(jìn)行渲染后,發(fā)送給所述客戶端。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述視頻云平臺(tái)包括流媒體服務(wù)器和渲染服務(wù)器; 其中所述流媒體服務(wù)器根據(jù)客戶端的視頻播放請(qǐng)求,向客戶端播放相應(yīng)的視頻; 所述渲染服務(wù)器在客戶端連接到視頻云平臺(tái)后,提供多種渲染效果的視頻幀、接收客戶端的視頻幀選擇結(jié)果、保存客戶端選擇的視頻幀的渲染參數(shù),并在所述流媒體服務(wù)器向客戶端播放視頻時(shí),利用其保存的渲染參數(shù)對(duì)播放的視頻進(jìn)行渲染。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述視頻云平臺(tái)還包括視頻合成服務(wù)器,所述視頻合成服務(wù)器根據(jù)客戶端的多個(gè)視頻合成請(qǐng)求,將屬于多個(gè)流媒體服務(wù)器的視頻進(jìn)行合成處理后,發(fā)送給所述客戶端。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述客戶端以信令協(xié)議數(shù)據(jù)包的方式向流媒體服務(wù)器發(fā)出視頻播放請(qǐng)求;所述流媒體服務(wù)器以媒體協(xié)議數(shù)據(jù)包的方式向客戶端發(fā)送需要播放的相應(yīng)視頻。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述信令協(xié)議數(shù)據(jù)包包括幀信令協(xié)議數(shù)據(jù)包、文件播放信令協(xié)議數(shù)據(jù)包以及播放停止信令協(xié)議數(shù)據(jù)包;所述媒體協(xié)議數(shù)據(jù)包包括視頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包、音頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包以及IBP單幀視頻媒體數(shù)據(jù)協(xié)議數(shù)據(jù)包。
【專利摘要】本發(fā)明公開了一種視頻云平臺(tái)播放視頻的方法及裝置,涉及視頻播放技術(shù)領(lǐng)域,其方法包括以下步驟:客戶端連接到視頻云平臺(tái)后,視頻云平臺(tái)根據(jù)客戶端的渲染請(qǐng)求,向客戶端提供多種渲染效果的視頻幀,以供客戶端進(jìn)行選擇;視頻云平臺(tái)接收客戶端的視頻幀選擇結(jié)果,并保存客戶端選擇的視頻幀的渲染參數(shù);在客戶端隨后向視頻云平臺(tái)發(fā)出視頻播放請(qǐng)求時(shí),視頻云平臺(tái)利用其保存的渲染參數(shù)對(duì)客戶端請(qǐng)求播放的視頻進(jìn)行渲染后,發(fā)送給所述客戶端。本發(fā)明大幅降低客戶端的投資,必要時(shí)共享的打包渲染中心還可以動(dòng)態(tài)擴(kuò)展,提高了設(shè)備利用率,保護(hù)了投資。
【IPC分類】H04N21/81, H04N21/2343, H04N21/643, H04N21/2662
【公開號(hào)】CN105635751
【申請(qǐng)?zhí)枴緾N201510994084
【發(fā)明人】原春輝, 修典榮, 張利, 陶明
【申請(qǐng)人】北京大學(xué)第三醫(yī)院, 原春輝, 修典榮
【公開日】2016年6月1日
【申請(qǐng)日】2015年12月25日