日韩精品亚洲电影天堂,久久亚洲精品成人综合,无码人妻丰满熟妇**久久网站

新聞資訊
News
舞臺控制系統 舞臺視效聯動控制系統軟件能實現哪些
20 作者:拓豐舞臺 2023-06-30 15:40:48

舞臺視效聯動控制系統旨在實現一個集成化、一體化的綜合控制臺,該控制臺可以實現對舞臺燈光的控制及多路、多格式媒資內容的播放控制。因此,在功能上,主要有以下需求:可以預先編排燈具的動作及所要播放的媒資內容的播放順序,在表演時可以準確控制燈具,從而實現燈具的調光、變色、旋轉等功能,同時能夠實現對所要播放的媒資內容的編輯、播放/暫停及播放速度的控制。此外,在可用性上,要實現界面的簡單友好,所見即所得,用戶可以通過該系統實現對舞臺燈光與視頻設備方便快捷的控制。

1舞臺視效聯動控制系統總體設計

1.1 系統硬件設計

舞臺視效聯動控制系統的硬件整體,可以劃分為前面板和主控模塊兩部分,系統硬件結構圖見圖1。其中,前面板主要負責搜集和發送鍵盤數據,主控模塊為系統的核心部分,主要負責邏輯運算的處理以及對視效設備的控制,主控模塊通過RS485總線與前面板進行通信。系統主控模塊采用PC級別的主板,并結合FirePro W7000專業顯卡,通過內置輸出板卡來實現不同形式的信號的輸出,通過DMX接口輸出DMX控制信號,實現對燈光的控制,通過DVI接口或DP1.4接口輸出視頻信號到投影機或者LED屏等顯示設備,實現對視頻的控制。

1.2 軟件總體設計

舞臺視效聯動控制系統軟件采用分層的設計思路,將系統軟件劃分為界面層和核心層,各層之間分別獨立設計,通過調用接口函數實現層與層之間的數據交換。在劃分層次的基礎上,分別對各層進行功能模塊劃分,軟件總體架構圖見圖2。

1.3 軟件核心層設計

舞臺視效聯動控制系統需要實現對常規燈與電腦燈的控制,而電腦燈的種類多種多樣,每種燈具所實現的功能也各不相同,為了實現對電腦燈的控制,系統應該具備支持用戶添加自定義燈庫文件的功能,該功能由燈庫配置模塊實現。所謂燈庫文件,是對一個燈具的描述,該系統采用XML語言對設備進行描述。

對燈庫文件進行加載與保存操作時,需要對XML文件進行解析,采用QXmlStreamReader類和QXmlStreamWriter類進行解析,相比較Qt的SAX解析器,這種方式速度更快、更方便。

由于系統中通常需要保存數量龐大的燈庫文件,為了提高程序的運行效率及用戶的使用體驗,避免一些不必要的性能開銷,燈庫配置模塊采用延遲加載的方式,在對象創建時,僅將燈庫文件的路徑存儲起來,并不對燈庫文件進行解析,直到真正使用該對象時才進行解析。解析之前,先檢測該燈庫文件是否加載完成,如果當前是第一次使用該對象,則會使用之前存儲的燈庫文件的路徑來完成燈庫文件的解析,完成以上過程才真正完成一個燈庫文件的加載。

燈光功能模塊主要負責實現單步場景、序列、內置圖形等功能,視頻功能模塊則負責實現視頻的編輯與播放功能。其中,視頻的編輯功能主要有畫中畫、多路視頻拼接、字幕添加等功能。燈光功能及視頻功能具有常用的公共接口,這些接口主要負責實現功能ID的設置與獲取,功能的名稱、種類、運行時間、運行狀態的設置等。

數據管理模塊負責管理燈光控制信號的輸入與輸出,采用插件模式進行構建,以支持多種燈光控制協議及數據傳輸方式。該模塊以Universe類為核心,提供可以安裝輸入輸出插件的接口,通過安裝需要的插件,完成對輸入和輸出接口的配置。所有的輸入輸出插件的加載與緩存均交由SVELCIOPluginCache類進行管理,通過load方法進行插件的加載,加載后通過InputPatch類與OutPatch類分別對輸入和輸出插件進行包裝,將包裝后的插件交由InputOutputMap類進行統一管理,根據每個插件的配置將其與相應的Universe對象進行綁定。數據管理模塊關系框圖見圖3。

任務調度模塊的核心目標是保證系統內部運行的燈光功能及視頻功能能夠按照用戶設定的時間,準確實時地進行調度與執行,同時,也允許用戶根據實際需要,隨時啟動和停止任務調度、調整燈光功能與視頻功能的執行順序。

任務調度模塊,包括調度管理和調度執行程序兩部分。調度管理負責為需要調度的對象提供工作空間,每一個燈光功能通常包含以下內容:實現該功能要使用的燈具,燈具的配接信息,燈具各個通道的DMX值,以及該功能的運行時間。因此,核心層其他模塊中的實例對象均由調度管理部分進行統一管理,這為內存對象的管理提供了很大的便利。調度執行程序部分則負責實現實際的燈光功能與視頻功能的調度,包括功能的啟動、停止及調度。燈光功能與視頻功能遵循的調度流程大致相同,以燈光功能為例,其調度流程見圖4。

圖4 調度流程圖

首先創建一個功能對象,并進行運行時間、淡入淡出時間等屬性的設置,將屬性設置完畢后的對象添加到核心調度模塊的Doc對象中,交由Doc對象進行管理,使用start方法啟動功能對象舞臺控制系統,并將其添加到調度執行程序,交由調度執行程序進行調度。每次調度時,調度執行程序首先對功能隊列進行讀取,若該對象在功能隊列中有調用該對象的preRun方法,然后將其添加到運行隊列中,并進行通道DMX的目標值及淡入淡出時間的設置。當調度執行程序從運行隊列中獲取到功能對象時舞臺控制系統,會調用該功能對象的write接口,進行通道值及淡入時間的寫入,生成當前的通道值,并將該值輸出到數據管理模塊。當調度執行程序發現該功能對象已經運行結束時,會調用該對象的postRun方法,將設置了淡出時間的通道添加到調度執行程序中。完成以上步驟以后,調度執行程序會將該功能對象從運行隊列中移除。

1.4 軟件總體框架

基于簡單友好的原則,根據系統實現的功能,對系統軟件界面進行模塊劃分,系統軟件界面總體框架設計見圖5。每個模塊對應一個單獨的選項卡,用戶根據需求點擊相關的選項卡,即可進入相應的模塊進行操作。

2舞臺視效聯動控制軟件的應用測試

基于Windows操作系統,在QtCreator下使用C++對軟件的各個模塊進行實現,并采用基于QtTest的單體測試方法對軟件各部分進行單元測試,對各個模塊的各類成員函數分別進行測試。經測試,各部分滿足設計要求,運行正常。軟件的主界面見圖6。

用戶可以點擊界面左側“打開文件”,從本地直接加載一個演出文件,在演出管理界面,點擊“播放”按鈕,即可運行。也可以新建一個空白的演出文件進行編輯。

點擊軟件主界面上方任意一個選項卡,將會進入對應的模塊。點擊“設備”選項卡,進入設備管理模塊,在該模塊可以對燈具進行添加、刪除、編輯等操作。該模塊界面的左側有一個列表,負責顯示當前工作區中的所有已經配接的燈具信息。選擇燈具后,窗口右側會顯示所選燈具的詳細信息。點擊界面上方的“添加燈具”按鈕,將會彈出添加燈具對話框,在對話框左側會顯示所有可用的燈具制造商列表,每個燈具制造商欄下都包含一個或多個型號的燈具,單擊列表中一個燈具時,對話框右側將會顯示該燈具的通道及模式信息,選擇要使用的模式,并設置配接地址及配接數量,完成以上操作,點擊確認即可完成燈具的配接。

點擊“功能”選項卡,進入功能管理模塊,功能管理模塊見圖7,在該模塊可以進行功能的創建、刪除及編輯等操作。創建各種功能的按鈕位于該模塊界面上方,界面下方的功能列表用于顯示所有已經創建的功能,每種功能都設置了獨立的項,每次創建的新功能都會出現在對應的類別下,創建新功能或者點擊已經創建的功能時,界面會顯示該功能對應的編輯器,每種功能都有屬于自己的編輯器,在編輯器中所做的更改都會被立即存儲到對應的功能中,不需要進行額外的確認操作。

以視頻編輯器為例,點擊視頻編輯器中的“畫中畫”按鈕,可以在當前視頻播放窗口再打開一個文件進行播放,所實現的畫中畫效果見圖8。點擊視頻編輯器中的“視頻疊加”按鈕,將彈出視頻疊加界面,視頻拼接效果見圖9,最多可輸入9路視頻進行拼接,可自定義拼接方式與拼接畫面大小,設定好文件輸出路徑,執行視頻拼接指令即可完成多路視頻的拼接操作。此外,用戶可以將編輯完成的燈光功能或者視頻功能,與界面下方的推桿進行配接,也可根據需要在“模擬控臺”界面添加按鈕、旋鈕等部件與功能進行配接,在演出時直接使用推桿、旋鈕、按鈕即可快速運行相應的功能。

點擊“Show”選項卡,進入演出管理模塊,演出管理模塊見圖10。演出管理模塊界面以多軌道的形式呈現,這是視頻編輯軟件的典型視圖,用戶可以根據燈光功能或視頻功能開始運行的時間,將功能放置在時間軸指定的位置。燈光功能與視頻功能基于相同的時間軸,可以很好地實現對燈光設備與視頻設備的協同控制。

點擊“模擬控臺”選項卡,進入模擬控臺管理模塊,用戶可以根據需要添加按鈕,推桿,旋鈕等部件。點擊“輸入/輸出”選項卡,進入輸入輸出管理模塊,輸入輸出管理模塊見圖11。該模塊界面左側為可用的域的列表,默認情況下,軟件會提供4個域,用戶可以根據需要點擊“添加域”按鈕進行添加。界面右邊會顯示檢測到的插件的信息,及該插件的輸入、輸出和反饋線路信息。在界面左側的域列表中選擇一個域,再在右側的插件列表中對該域的輸入、輸出及反饋線路進行配接,每個域一次只可以配接一條輸入、一條輸出和一條反饋線路,被選中的插件的信息會在界面右下角進行顯示。

完成各個模塊的單元測試后,在演播廳對整個舞臺視效聯動控制系統進行實地測試,測試結果表明,該系統可以實現舞臺視效聯動控制的功能。

節選自《演藝科技》2020年第3期白石磊,鎖意涵,徐 開,吳智勇,范緒威,莊 暢《舞臺視效聯動控制系統軟件設計與實現》,轉載請標注:演藝科技傳媒。更多詳細內容請參閱《演藝科技》。

(本文僅用于行業交流學習,并不用于商業用途。文中觀點為作者獨立觀點。如不慎侵涉第三方權益,請與我們聯絡,我們將第一時間刪除處理。)

          主站蜘蛛池模板: 长泰县| 宁强县| 克山县| 嘉峪关市| 湖北省| 鲁山县| 稷山县| 宜丰县| 金平| 宁陕县| 三明市| 即墨市| 林西县| 鄯善县| 鱼台县| 灌南县| 临沧市| 株洲县| 神池县| 遵义市| 博白县| 正镶白旗| 许昌市| 岳池县| 富民县| 黔西| 锦州市| 南漳县| 资阳市| 荆州市| 璧山县| 德昌县| 万源市| 海城市| 集安市| 宣恩县| 桦甸市| 安化县| 邳州市| 西和县| 临邑县|