一種基于集群渲染的多鏡頭編輯方法
【技術(shù)領域】
[0001]本發(fā)明涉及一種基于集群渲染的多鏡頭編輯方法,是一種計算機視頻處理方法,是一種用于電視臺的網(wǎng)絡的視頻編輯處理方法。
【背景技術(shù)】
[0002]大型演唱會或者晚會錄制現(xiàn)場一般采用多機位拍攝,通常是在不同角度配置多臺攝像機,這樣就會產(chǎn)生大量同一時間、不同角度的視頻音頻文件。一般處理過程是將視頻信號同步在監(jiān)視器上播放,導播通過監(jiān)視器監(jiān)看多路畫面,而最終播放時由工作人員對畫面進行切換。而剪輯多機位的素材時,編導需要在保證時間碼同步的情況下,從這些不同角度、不同場景的視音頻文件中選擇合適的鏡頭呈現(xiàn)給觀眾。編導在監(jiān)看多路視頻過程中,會通過鼠標或者其他設備選擇視頻剪輯點,所以需要記錄編導的選擇(時間與文件)信息。而實時播放多路高清文件(幾路至幾十路)時,尤其是在幾十路時,超多視頻鏡頭的選擇與切換時需要進行大量計算,現(xiàn)有的單個計算機渲染和處理的系統(tǒng)已無法完成這種大計算量的渲染,而造成視頻在編輯過程中發(fā)生卡頓,影響了編輯的效率。
【發(fā)明內(nèi)容】
[0003]為解決現(xiàn)有技術(shù)的問題,本發(fā)明提出一種基于集群渲染的多鏡頭編輯方法。所述的方法通過多臺服務器共同實現(xiàn)多路電視信號的渲染,然后再將多臺計算機處理之后的視頻傳輸給顯示系統(tǒng)用于顯示出效果。
[0004]本發(fā)明的目的是這樣實現(xiàn)的:一種基于集群渲染的多鏡頭編輯方法,所述方法使用的系統(tǒng)包括:通過網(wǎng)絡相互連接的多個前端工作站、任務資源調(diào)度服務器、存儲服務器、多個運算渲染服務器,其特征在于,所述方法的步驟如下:
對多鏡頭信號的采集存儲準備的步驟:用于將多個攝像機的各路視頻信號同時采集保存下來,對采集的各路視頻,對每一幀視頻畫面按照統(tǒng)一的時間標準進行時碼的標記,采集得到的各路原始視頻文件統(tǒng)一存儲到存儲服務器中;
對計算環(huán)境準備的步驟:前端工作站、任務資源調(diào)度服務器、渲染服務器、存儲服務器之間建立連接,任務資源調(diào)度服務器實時監(jiān)測可用的渲染服務器數(shù)量;任務資源調(diào)度服務器實時監(jiān)聽到物理機連接請求后與前端工作站或運算渲染服務器建立連接,并保存連接相關信息,同時獲取已經(jīng)連接成功狀態(tài)的運算渲染服務器的可用資源;任務資源調(diào)度服務器支持各前端工作站與運算渲染服務器的隨時加入和退出,當前端工作站或者運算渲染服務器發(fā)生變化時,任務資源調(diào)度服務器依據(jù)前端工作站編輯任務和可用資源對運算渲染服務器進行動態(tài)任務分配與調(diào)度;
發(fā)起多鏡頭處理任務操作的步驟:用于前端工作站選擇待編輯的視頻畫面,將多鏡頭編輯任務相關信息傳遞給任務資源調(diào)度服務器,任務資源調(diào)度服務器將系統(tǒng)中可用的運算渲染服務器的信息傳遞給前端工作站;
對待編輯視頻畫面預處理的步驟:用于前端工作站對待編輯根據(jù)節(jié)目制作的需要,對待編輯的視頻畫面選擇進行校正、特效處理、三維合成處理;
分配任務的步驟:用于前端工作站或者任務資源調(diào)度服務器根據(jù)事先確定的分配策略為一個或多個可用的運算渲染服務器和前端工作站分派解碼及校正、特效處理、三維合成處理運算渲染任務;
運算渲染的步驟:用于運算渲染服務器或前端工作站根據(jù)被分配的運算渲染任務,到存儲服務器中讀取各路原始視頻文件,并對原始視頻文件進行解碼和校正、特效處理、三維合成的渲染處理運算,之后將處理運算后的視頻圖像緩存在本地;在運算渲染服務器或前端工作站對原始視頻文件進行解碼和校正、特效處理、三維合成處理運算的過程中,動態(tài)分配和調(diào)整混合使用CPU和GPU編解碼和處理;在編輯過程中,前端工作站將選擇不同段落的待編輯視頻畫面的時碼的入點和出點,并記錄針對該段視頻的校正、特效處理、三維合成、拼接指令;
結(jié)果傳輸?shù)牟襟E:用于運算渲染服務器將處理運算的結(jié)果傳輸給前端工作站,如果運算渲染任務是在前端工作站中進行的則跳過傳輸;前端工作站根據(jù)各路運算渲染服務期傳遞回的運算結(jié)果和多路渲染后的視頻畫面信息根據(jù)其各自對應的位置信息進行處理,生成并記錄視頻文件;
顯示的步驟:用于前端工作站將運算結(jié)果和多路渲染后的視頻畫面信息根據(jù)其各自對應的位置信息進行處理,并將各路的視頻畫面通過顯示設備顯示;
任務的完成與結(jié)束的步驟:用于對于某一臺前端工作站,當前的視頻畫面編輯完成后,記錄完整的不同段落的待編輯視頻畫面的時碼的入點和出點,并記錄針對該段視頻的校正、特效處理、三維合成、拼接等指令,形成最終的視頻編輯文件;在整個編輯過程中,對生成的視頻進行完整的編碼和記錄,形成最終的視頻文件;前端工作站通知任務資源調(diào)度服務器本次編輯任務完成,任務資源調(diào)度服務器將本任務占用的運算渲染服務器釋放到資源池中,等待被別的任務使用。
[0005]進一步的,所述的結(jié)果傳輸?shù)牟襟E中運算渲染服務器每完成一幀視頻畫面就及時傳送給前端工作站,前端工作站對運算結(jié)果和多路渲染后的視頻畫面信息每一個相同的時碼幀的各路視頻及時解碼及校正、處理完成后就可以送交顯示,而提前解碼及校正、處理的視頻畫面信息會被緩存在前端工作站本機內(nèi)存中,在合適的時刻送交顯示設備顯示出來。
[0006]進一步的,所述的結(jié)果傳輸?shù)牟襟E中前端工作站判斷當前網(wǎng)絡速度和帶寬是否滿足各路無壓縮視頻畫面的傳送需求,如果滿足,就向當前負責解碼處理該路畫面視頻的運算渲染服務器索要無壓縮視頻數(shù)據(jù);如果網(wǎng)絡速度和帶寬不滿足無壓縮視頻畫面的傳送需求,則前端工作站向當前負責解碼處理該路畫面視頻的運算渲染服務器索要壓縮后的視頻數(shù)據(jù),并將接收到的該路壓縮后的視頻數(shù)據(jù)解碼。
[0007]進一步的,所述的運算渲染的步驟中任務資源調(diào)度服務器動態(tài)調(diào)整CPU、GPU的資源的方式為:
任務資源調(diào)度服務器獲取每一臺運算渲染服務器的各個CPU、GPU的資源占用率,并根據(jù)資源占用率決定將某一臺運算渲染服務器的狀態(tài)置為“繁忙”、“較繁忙”、“較空閑”或者“空閑”;每當有新的編輯任務等待分配時,優(yōu)先分配給“空閑”和“較空閑”的,然后分配給“較繁忙”的,最后當所有的運算渲染服務器都不在“較繁忙”以下時,才對“繁忙”的運算渲染服務器也分配新的任務。
[0008]進一步的,所述的對計算環(huán)境準備的步驟中任務資源調(diào)度服務器對渲染服務器和前端工作站的渲染任務進行動態(tài)調(diào)整的方式為:
渲染服務器啟動后向任務資源調(diào)度服務器開啟通信聯(lián)系并注冊;任務資源調(diào)度服務器將一些渲染任務放到新注冊的渲染服務器中;
渲染服務器主動或被動停止時通知任務資源調(diào)度服務器,任務資源調(diào)度服務器將該渲染服務器正在運行的任務重新分配給其它渲染服務器,之后,注銷該渲染服務器;
任務資源調(diào)度服務器不斷查詢渲染服務器,如果某個渲染服務器死機時,任務資源調(diào)度服務器將該渲染服務器上的任務重新分配給其它渲染服務器,之后,注銷或遠程重啟該清染服務器。
[0009]進一步的,所述的分配任務的步驟中,所述的校正包括對各路視頻的匯聚調(diào)整、變形調(diào)整、變焦調(diào)整、顏色調(diào)整、位置調(diào)整、旋轉(zhuǎn)調(diào)整。
[0010]進一步的,所述的分配任務的步驟中,所述的校正,被校正對象為正在進行處理的本路視頻