Implementation method for controlling virtual studio system to perform scene switching based on director control panel
The director control board method addresses live streaming inefficiencies by providing direct scene and animation control, enhancing broadcast quality and viewer engagement through simplified operations and dynamic transitions.
Patent Information
- Application Number
- CN202510391040.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2025-07-15
AI Technical Summary
The traditional guide control board is complicated to operate, resulting in untimely switching during the live broadcast process and high error rate, which affects the live broadcast effect, especially when switching between multiple screens and scenes, it consumes time and energy.
Through the interface or protocol connection between the director control board and the virtual play system, the control of the virtual play system is achieved by using function buttons, including live broadcast, pre-cast, transition animation, PPT switching, subtitle control and scene switching, etc., RS485/UART communication and encryption processing are adopted.
It realizes efficient scene switching and simplification of operation processes, improves live broadcast quality, enhances interactivity and audience experience, and ensures the fluency and coherence of live broadcast content.
Smart Images

Figure CN120321346A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of director control, and specifically, it is an implementation method for controlling a virtual studio system to perform scene switching based on a director control board. Background Art
[0002] With the rapid development of Internet technology, the live broadcast industry has witnessed explosive growth and is widely applied in multiple fields such as e-commerce live streaming, online education, corporate promotion, and large-scale event live streaming. At the same time, audiences have put forward higher requirements for the quality and richness of live broadcast content, expecting to obtain a more diverse and immersive experience during the live broadcast. This poses severe challenges to the director's work in the live broadcast production process.
[0003] In the traditional live broadcast production process, the director mainly operates the virtual studio system through the computer software interface. However, the software operation interface often has complex functions. The director needs to search for the required functions among numerous menus and options, and the operation process is cumbersome, which easily leads to problems such as untimely switching and high error rates during the live broadcast. In addition, when the live broadcast involves complex combinations of multiple pictures, scenes, and elements, operating and switching them one by one on the software interface not only consumes a large amount of time and energy but may also affect the live broadcast effect due to improper operation. For example, in e-commerce live streaming, it is necessary to frequently switch between product display pictures, host explanation pictures, and promotional activity pictures; in large-scale event live streaming, it is necessary to quickly switch between different stage perspectives and guest interview pictures. Any delay or error in operation may reduce the smoothness of the live broadcast and result in audience loss.
[0004] The emergence of the director control board effectively solves these problems. However, currently, the director control board has numerous buttons, and there will still be delays or errors in operation during the live broadcast, thereby affecting the live broadcast effect. Summary of the Invention
[0005] In view of the requirements and deficiencies in the current technological development, the present invention provides an implementation method for controlling a virtual studio system to perform scene switching based on a director control board.
[0006] The implementation method for controlling a virtual studio system to perform scene switching based on a director control board of the present invention adopts the following technical solutions to solve the above technical problems:
[0007] An implementation method for controlling a virtual studio system to perform scene switching based on a director control board. The director control board is connected to the virtual studio system through a preset interface or protocol. By clicking the function buttons on the director control board, the user's operation instructions can be transmitted to the virtual studio system, thereby realizing the function control of the virtual studio system.
[0008] Among them, the function buttons include:
[0009] The live broadcast button is used to switch the live broadcast screen to the bound scene with one key;
[0010] The preview button is used to switch the preview screen to the bound preview scene;
[0011] The transition animation area specifically includes four transition buttons with different switching animations. Clicking on a certain transition button will use the switching animation corresponding to that transition button;
[0012] The PPT switching area specifically includes two PPT switching buttons for different switching scenes. Clicking on a certain PPT switching button will switch to the PPT content of the switching scene corresponding to that PPT switching button;
[0013] The PPT page turning area specifically includes two PPT page turning buttons, which are used to control the up and down page turning of the displayed PPT content;
[0014] The subtitle control button is used to realize the display and hiding function of the teleprompter;
[0015] The scene switching button is used to realize the instant switching between the live broadcast and preview screens.
[0016] Optionally, the production control panel is connected to the virtual studio system through a serial port, and the RS485 / UART communication method is adopted. The specific communication parameter settings are as follows:
[0017] The baud rate is 115200, the data bits are 8, there is no parity check, and there is 1 stop bit.
[0018] Optionally, all communication instructions are encrypted through the CRC16 protocol;
[0019] Based on predefined protocol instructions, the virtual studio system realizes the binding of the function buttons on the production control panel. When the user presses the function button on the production control panel, the production control panel quickly captures the instruction and transmits it to the virtual studio system after encryption.
[0020] Further optionally, the involved live broadcast button is used to switch the live broadcast screen to the bound scene with one key;
[0021] When the user clicks the live broadcast button on the production control panel, the button light immediately lights up, and at the same time, the live broadcast scene in the virtual studio system directly switches to the scene pre-bound by that button. The specific steps are as follows:
[0022] After the MCU on the production control panel detects that the live broadcast switching button is clicked, it sends an instruction to switch the live broadcast scene to the virtual studio system through the serial port;
[0023] After the virtual studio system receives the serial communication message, it first calls the perchaseReceiveDataAsync() method to parse the message. After confirming that the received message is a live scene switching instruction, it then determines whether the currently clicked live button has been bound to a live scene: a) If no scene is bound, the virtual studio system will prompt the user to perform a scene binding operation. b) If a live scene has been bound, the virtual studio system reads the layout information LayoutBean of the bound scene;
[0024] The virtual studio system passes the read LayoutBean into the play() method. Inside this method: it calls the deleteSelectBackground() method to clear the original playback screen in the virtual studio system to avoid interference between the old and new screens; it calls the ConvasUIController.changeLayout() method to switch the current live scene to the scene bound to the button; it calls the playLayoutBean() method to start playing the specified scene;
[0025] The virtual studio system sets the Active state of the playback scene to true to enable normal playback of the live video.
[0026] Further optionally, the involved preview button is used to switch the preview screen to the bound preview scene;
[0027] When the user clicks the preview button, the button light will be immediately lit, and the preview scene will directly switch to the scene bound to the button. The specific steps are as follows:
[0028] After the MCU on the production control panel detects that the preview switching button is clicked, it sends an instruction to switch the preview scene to the virtual studio system;
[0029] After the virtual studio system receives the serial communication message, it first calls the perchaseReceiveDataAsync() method to parse the message. After confirming that the received message is a preview scene switching instruction, the virtual studio system then determines whether the current button has been bound to a preview scene. a) If no scene is bound, the virtual studio system prompts the user to perform a scene binding operation. b) If a live scene has been bound, the virtual studio system reads the layout information LayoutBean of the bound scene;
[0030] The virtual studio system passes the LayoutBean into the ToSwitchLayout() method. In this method: it calls the deleteSelectBackground() method to clear the original preview playback screen and prevent interference between the old and new screens; it calls the DisplayController script and passes the LayoutBean into the ToSwitchLayout method in this script; it determines the currently selected scene type. If it is a picture, it calls the addBgImage() method to add a picture resource to the GameObject. If it is a video, it calls the addBgVideo() method to add a video resource; it calls the play() method to play the current preview scene after the switch.
[0031] Further optionally, the involved transition animation area includes four transition buttons, and each button corresponds to a different switching animation; when a certain transition button is clicked, the virtual studio system uses the switching animation corresponding to this button;
[0032] When the user clicks a transition button, the button light will be lit immediately. At the same time, the MCU on the production control panel captures this operation signal, converts it into an instruction, and sends it to the virtual studio system through the serial port;
[0033] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirms that the received is a switching playback animation instruction, and then performs the following steps:
[0034] The virtual studio system calls the saveDirectorSetting() method to save the currently selected switching animation locally, so that when the virtual studio system is started next time, this switching animation can be directly called without the user having to select again;
[0035] When the virtual studio system needs to switch from the preview scene to the live broadcast scene: the virtual studio system reads the local configuration file, obtains the animation content that needs to be executed, and executes the corresponding animation according to the read animation content to complete the scene switching operation.
[0036] Further optionally, the involved PPT switching area specifically includes two PPT switching buttons, and each button is associated with a different PPT content display scene; when the user clicks any PPT switching button, the virtual studio system will immediately switch to the corresponding PPT display scene; at the same time, the virtual studio system supports switching to the previous or next PPT based on the PPT list;
[0037] When the user clicks the PPT switching area button or performs up / down switching operations based on the PPT list, the MCU on the director control panel will quickly capture the operation signal. Then, the MCU converts the signal into an instruction and sends it to the virtual studio system through the serial port;
[0038] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the user's specific operation intention, and determine whether to turn the page up, down, or jump to a PPT in a specific scene;
[0039] After determining the user's specific operation intention, the virtual studio system starts the coroutine StartCoroutine to asynchronously execute the PPT switching operation in the background;
[0040] The virtual studio system calls the prePPT() and nextPPT() preloading interfaces of PPTControl.instance to obtain the PPT resources to be displayed and starts the loading process in the background;
[0041] After calling the interface, the virtual studio system allocates space in memory for the PPT to be loaded, reads the PPT file data from the storage device, and parses the PPT file structure to prepare for display;
[0042] The virtual studio system monitors the loading status of the PPT in real time. When the PPT loading is completed, the virtual studio system receives a loading completion notification;
[0043] The virtual studio system calls the updatePPTControl() method to update the loaded PPT content to the display interface of the virtual studio system.
[0044] Further optionally, the specific PPT page turning area specifically includes two PPT page turning buttons for controlling the up / down page turning of the displayed PPT content, that is, switching the previous and next pages of the PPT displayed in the current scene; when the PPT is on the first page, clicking the previous page button, the virtual studio system will not respond; when the PPT is on the last page, clicking the next page button, the virtual studio system will also not respond;
[0045] When the user operates the PPT page turning button, the MCU on the director control panel first captures the button action, converts it into an electrical signal, and transmits the signal instruction to the virtual studio system through the serial port;
[0046] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the user's operation intention to control the PPT up / down page turning. Subsequently, the virtual studio system performs operations according to the following steps:
[0047] The virtual studio system starts the coroutine StartCoroutine and asynchronously executes the PPT page turning operation in the background;
[0048] The virtual studio system calls the PPTControl.instance.switchPPTPage() method to turn the PPT page up or down according to the user's operation;
[0049] When the PPT is loaded, the virtual studio system calls the updatePPTControl() method to update the content displayed on the PPT interface to ensure that the latest page is displayed.
[0050] Further optionally, the subtitle control button is used to realize the display and hiding function of the teleprompter, and the teleprompter is in a non-display state by default; when the user clicks the button, the teleprompter will be displayed; when the button is clicked again, the teleprompter will be hidden;
[0051] When the user operates the subtitle control button, the MCU on the director control panel will capture the operation signal, convert it into an instruction, and transmit it to the virtual studio system through the serial port;
[0052] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message and confirm the user's intention to control the display or hiding of the teleprompter. After clarifying the operation intention, the virtual studio system controls the teleprompter according to the following steps:
[0053] The virtual studio system calls the TeleprompterPanel.instance.showTeleprompterPanel() method, which belongs to the TeleprompterPanel control class and is used to manage the display and hiding operations of the teleprompter;
[0054] The showTeleprompterPanel() method first reads the current status of the teleprompter: a) If the teleprompter is currently in display status, the showTeleprompterPanel() method will call the SetActive(false) method to set the display status of the teleprompter to hidden, making the teleprompter disappear from the interface of the virtual studio system; b) If the teleprompter is currently in hidden status, the showTeleprompterPanel() method will call the SetActive(true) method to set the display status of the teleprompter to displayed, making the teleprompter displayed at the specified position of the virtual studio system.
[0055] Further optionally, the involved scene switching button is used to implement the instant switching between the live broadcast and preview pictures; when the user clicks this button, the current live broadcast scene will be changed to the preview scene, and the current preview scene will be changed to the live broadcast scene;
[0056] When the user clicks the scene switching button, the MCU on the director control panel quickly captures this operation signal, converts it into an instruction, and sends it to the virtual studio system through the serial port;
[0057] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, determines the operation intention of the user to switch between the live broadcast and preview scenes. After clarifying the operation intention, the virtual studio system executes according to the following steps:
[0058] The virtual studio system first determines whether the current live broadcast scene and preview scene are the same scene. If the two are the same, the virtual studio system directly returns without performing subsequent switching operations. If the two are different, the virtual studio system continues to execute the subsequent steps;
[0059] The virtual studio system records the index scenePrePlayIndex of the current preview scene and the index sceneCurPlayIndex of the live broadcast scene. The index is used to uniquely identify different scenes, which facilitates the virtual studio system to accurately call the corresponding scene during the switching process;
[0060] The virtual studio system calls the play method and passes the preview scene index scenePrePlayIndex as a parameter. The play method loads and displays the corresponding scene picture in the virtual studio system according to the passed-in index scenePrePlayIndex, thereby realizing the switching of the live broadcast picture;
[0061] The virtual studio system calls the ToSwitchLayout method and passes the live broadcast scene index sceneCurPlayIndex as a parameter. The ToSwitchLayout method switches the preview picture according to the passed-in index sceneCurPlayIndex to display the new preview scene.
[0062] A method for implementing scene switching of a virtual studio system based on a director control panel according to the present invention has the beneficial effects compared with the prior art as follows:
[0063] 1. The present invention controls the switching of preview and live broadcast pictures, the animated switching of scene transitions, the display and hiding of teleprompters, the switching and turning of PPTs, etc. in the virtual studio system through the function buttons on the director control panel, and has the advantages of efficient switching, improved live broadcast quality, simplified operation process, enhanced interactivity, and support for diversified application scenarios;
[0064] 2. The function keys on the director control board of the present invention allow the operator to quickly switch between multiple screens, thereby realizing the instant control of the live preview screen. This efficient operation method can ensure the smoothness and coherence of the live content and enhance the viewing experience of the audience; through the function keys on the director control board, the switching of transition animations can be easily realized, making the live content more rich and diverse and attracting the attention of the audience; through the carefully designed transition effects, the live content can be made more vivid and interesting, enhancing the immersion of the audience; the function keys on the director control board also allow the operator to call the teleprompter at any time during the live broadcast, ensuring that the host can express the content accurately and smoothly and avoiding affecting the live broadcast effect due to forgetting the lines or making slips of the tongue; the function keys on the director control board can also be used to control interactive functions such as turning the pages of PPT, which enables the live content to be displayed to the audience more flexibly and enhances the interactivity and interest of the live broadcast. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] Attached Figure 1 is a schematic connection diagram of the director control board of the present invention and the virtual studio system. DETAILED DESCRIPTION OF THE INVENTION
[0066] In order to make the technical solutions, the technical problems to be solved and the technical effects of the present invention clearer and more understandable, the following combines specific embodiments to clearly and completely describe the technical solutions of the present invention.
[0067] Now, the English involved in the following embodiments will be explained.
[0068] The deleteSelectBackground() method, whose function is to clear the pre-selected playback screen in the virtual studio system. Other English words will be explained in this format, and the explanation content should involve the virtual studio system.
[0069] The perchaseReceiveDataAsync() method, whose function is to receive the message sent by the director control board through the serial port, first decrypt the message, and then parse the specific received command according to the communication protocol.
[0070] The layout information LayoutBean stores the layout parameters related to the live screen: scene name, interface width, height, position, margin, type, etc.
[0071] The play() method, whose function is to play the live scene and preview scene passed in as parameters.
[0072] The ConvasUIController.changeLayout() method, whose function is to switch the layout according to the type: PPT type, portrait type, 3D video type, background type.
[0073] The playLayoutBean() method, an interface, is used to notify the page to change the scene.
[0074] The ToSwitchLayout() method is used to switch the pre-broadcast scene passed in as a parameter.
[0075] The DisplayController script, a program script, is used for the control of various functions and scene switching.
[0076] addBgImage() means adding a background image.
[0077] GameObject refers to the control in Unit3D.
[0078] addBgVideo() means adding a background video.
[0079] The saveDirectorSetting() method has the function of saving configuration attributes locally: the port number and PPT playback number are used here.
[0080] StartCoroutine means starting a coroutine.
[0081] The PPTControl.instance.prePPT() preloading interface is used to load the previous PPT.
[0082] The PPTControl.instance.nextPPT() preloading interface is used to load the next PPT.
[0083] The updatePPTControl() method is used to update the PPT content.
[0084] The PPTControl.instance.switchPPTPage() method is used to switch the PPT page.
[0085] The TeleprompterPanel.instance.showTeleprompterPanel() method belongs to the TeleprompterPanel control class, the letter management class.
[0086] The showTeleprompterPanel() method is used to control the display and hiding of subtitles.
[0087] The SetActive(false) method, a control property in unit3D, is used to control the hiding of the control.
[0088] The SetActive(true) method, a control property in unit3D, is used to control the display of the control.
[0089] The index scenePrePlayIndex represents the position of the current pre-play screen in the pre-play scene list.
[0090] The index sceneCurPlayIndex represents the position of the current live screen in the live scene list.
[0091] Embodiment:
[0092] Reference appendix Figure 1 , this embodiment proposes an implementation method for controlling a virtual studio system to switch scenes based on a production control panel. The production control panel is connected to the virtual studio system through a preset interface or protocol. By clicking the function buttons on the production control panel, the user's operation instructions can be transmitted to the virtual studio system, thereby realizing the function control of the virtual studio system;
[0093] Among them, the function buttons include:
[0094] The live button is used to switch the live screen to the bound scene with one key;
[0095] The pre-play button is used to switch the pre-play screen to the bound pre-play scene;
[0096] The transition animation area specifically includes four transition buttons with different switching animations. Clicking on a certain transition button will use the switching animation corresponding to that transition button;
[0097] The PPT switching area specifically includes two PPT switching buttons for different switching scenes. Clicking on a certain PPT switching button will switch to the PPT content of the switching scene corresponding to that PPT switching button;
[0098] The PPT page turning area specifically includes two PPT page turning buttons, which are used to control the up and down page turning of the displayed PPT content;
[0099] The subtitle control button is used to realize the display and hiding function of the teleprompter;
[0100] The scene switching button is used to realize the instant switching between the live and pre-play screens.
[0101] In this embodiment, the production control panel is connected to the virtual studio system through a serial port, and the RS485 / UART communication method is adopted. The specific communication parameter settings are as follows:
[0102] The baud rate is 115200, 8 data bits, no parity check, and 1 stop bit.
[0103] All communication instructions are encrypted through the CRC16 protocol;
[0104] Based on predefined protocol instructions, the virtual studio system realizes the binding of the function keys on the director control panel. When the user presses the function keys on the director control panel, the director control panel quickly captures the instructions and transmits them to the virtual studio system after encryption.
[0105] In this embodiment, the live button involved is used to switch the live video to the bound scene with one key;
[0106] When the user clicks the live button on the director control panel, the button light immediately lights up, and at the same time, the live scene in the virtual studio system directly switches to the scene pre-bound to the button. The specific steps are as follows:
[0107] After the MCU on the director control panel detects that the live switch button is clicked, it sends an instruction to switch the live scene to the virtual studio system through the serial port;
[0108] After the virtual studio system receives the serial communication message, it first calls the perchaseReceiveDataAsync() method to parse the message and confirm that the received message is an instruction to switch the live scene. Subsequently, it determines whether the currently clicked live button has been bound to a live scene: a) If no scene is bound, the virtual studio system will prompt the user to perform a scene binding operation; b) If a live scene has been bound, the virtual studio system reads the layout information LayoutBean of the bound scene;
[0109] The virtual studio system passes the read LayoutBean into the play() method. Inside this method: it calls the deleteSelectBackground() method to clear the original playback screen in the virtual studio system to avoid interference between the old and new screens; it calls the ConvasUIController.changeLayout() method to switch the current live scene to the button-bound scene; it calls the playLayoutBean() method to start playing the specified scene;
[0110] The virtual studio system sets the Active state of the playback scene to true to realize the normal playback of the live video.
[0111] In this embodiment, the preview button involved is used to switch the preview video to the bound preview scene;
[0112] When the user clicks the preview button, the button light immediately lights up, and the preview scene will directly switch to the scene bound to the button. The specific steps are as follows:
[0113] After the MCU on the director control panel detects that the preview switch button is clicked, it sends an instruction to switch the preview scene to the virtual studio system;
[0114] After the virtual studio system receives the serial communication message, it first calls the perchaseReceiveDataAsync() method to parse the message. After confirming that the received message is a command to switch the preview scene, the virtual studio system then determines whether the current button has been bound to a preview scene. a) If no scene is bound, the virtual studio system prompts the user to perform a scene binding operation. b) If a live scene has been bound, the virtual studio system reads the layout information LayoutBean of the bound scene;
[0115] The virtual studio system passes the LayoutBean into the ToSwitchLayout() method. In this method: it calls the deleteSelectBackground() method to clear the original preview playback screen to prevent interference between the old and new screens; it calls the DisplayController script and passes the LayoutBean into the ToSwitchLayout method in this script; it determines the type of the currently selected scene. If it is a picture, it calls the addBgImage() method to add a picture resource to the GameObject. If it is a video, it calls the addBgVideo() method to add a video resource; it calls the play() method to play the currently previewed scene after the switch.
[0116] In this embodiment, the involved transition animation area includes four transition buttons, and each button corresponds to a different switching animation; when a certain transition button is clicked, the virtual studio system uses the switching animation corresponding to this button;
[0117] When the user clicks a transition button, the button light is immediately lit. At the same time, the MCU on the production control panel captures this operation signal, converts it into a command, and sends it to the virtual studio system through the serial port;
[0118] After the virtual studio system receives the command, it calls the perchaseReceiveDataAsync() method to parse the message. After confirming that the received message is a command to switch the playback animation, it then performs the following steps:
[0119] The virtual studio system calls the saveDirectorSetting() method to save the currently selected switching animation locally so that the switching animation can be directly called when the virtual studio system is started next time without the user having to select it again;
[0120] When the virtual studio system needs to switch from the preview scene to the live scene: the virtual studio system reads the local configuration file to obtain the animation content to be executed, and based on the read animation content, executes the corresponding animation to complete the scene switching operation.
[0121] Meanwhile, the virtual studio system default selects the animation bound to the first transition button as the animation for the pre-broadcast to live scene switch.
[0122] In this embodiment, the PPT switching area specifically includes two PPT switching buttons, and each button is associated with a different PPT content display scene; when the user clicks any PPT switching button, the virtual studio system will immediately switch to the corresponding PPT display scene; meanwhile, the virtual studio system supports switching operations of the previous or next PPT based on the PPT list.
[0123] When the user clicks the button in the PPT switching area or performs the up / down switching operation based on the PPT list, the MCU on the production control panel will quickly capture the operation signal. Then, the MCU converts the signal into an instruction and sends it to the virtual studio system through the serial port.
[0124] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the specific operation intention of the user, and determine whether to turn the page up, turn the page down, or jump to a PPT in a specific scene.
[0125] After determining the specific operation intention of the user, the virtual studio system starts the coroutine StartCoroutine to asynchronously execute the PPT switching operation in the background.
[0126] The virtual studio system calls the prePPT() and nextPPT() preloading interfaces of PPTControl.instance to obtain the PPT resources to be displayed and starts the loading process in the background.
[0127] After calling the interface, the virtual studio system allocates space in memory for the PPT to be loaded, reads the PPT file data from the storage device, and parses the PPT file structure to prepare for display.
[0128] The virtual studio system monitors the loading status of the PPT in real time. When the PPT loading is completed, the virtual studio system receives a loading completed notification.
[0129] The virtual studio system calls the updatePPTControl() method to update the loaded PPT content to the display interface of the virtual studio system.
[0130] In this embodiment, the PPT page-turning area specifically includes two PPT page-turning buttons, which are used to control the up and down page-turning of the displayed PPT content, that is, to switch the previous and next pages of the PPT displayed in the current scene; when the PPT is on the first page, clicking the previous page button, the virtual studio system will not respond; when the PPT is on the last page, clicking the next page button, the virtual studio system will not respond either.
[0131] When the user operates the PPT page-turning button, the MCU of the director control panel first captures the button action, converts it into an electrical signal, and transmits the signal instruction to the virtual studio system through the serial port.
[0132] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the user's operation intention to control the up and down page-turning of the PPT, and then, the virtual studio system performs operations according to the following steps:
[0133] The virtual studio system starts the coroutine StartCoroutine to perform the PPT page-turning operation asynchronously in the background.
[0134] The virtual studio system calls the PPTControl.instance.switchPPTPage() method to perform the up or down page-turning of the PPT according to the user's operation.
[0135] When the PPT is loaded, the virtual studio system calls the updatePPTControl() method to update the content of the PPT displayed on the interface to ensure that the latest page is displayed.
[0136] In this embodiment, the subtitle control button is used to implement the display and hide function of the teleprompter, and the teleprompter is default in the non-display state; when the user clicks the button, the teleprompter will be displayed; clicking the button again, the teleprompter will be hidden.
[0137] When the user operates the subtitle control button, the MCU on the director control panel will capture this operation signal, convert it into an instruction, and transmit it to the virtual studio system through the serial port.
[0138] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the user's operation intention to control the display or hide of the teleprompter, and after clarifying the operation intention, the virtual studio system controls the teleprompter according to the following steps:
[0139] The virtual studio system calls the TeleprompterPanel.instance.showTeleprompterPanel() method, which belongs to the TeleprompterPanel control class and is used to manage the display and hiding operations of the teleprompter;
[0140] The showTeleprompterPanel() method first reads the current status of the teleprompter: a) If the teleprompter is currently in the display state, the showTeleprompterPanel() method will call the SetActive(false) method to set the display state of the teleprompter to hidden, making the teleprompter disappear from the interface of the virtual studio system. b) If the teleprompter is currently in the hidden state, the showTeleprompterPanel() method will call the SetActive(true) method to set the display state of the teleprompter to display, making the teleprompter appear at the specified position in the virtual studio system.
[0141] In this embodiment, the scene switching button is used to achieve the instant switching between the live broadcast and preview scenes; when the user clicks this button, the current live broadcast scene will change to the preview scene, and the current preview scene will change to the live broadcast scene;
[0142] When the user clicks the scene switching button, the MCU on the director control panel quickly captures this operation signal, converts it into an instruction, and sends it to the virtual studio system through the serial port;
[0143] After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, determine the operation intention of the user to switch between the live broadcast and preview scenes. After clarifying the operation intention, the virtual studio system executes according to the following steps:
[0144] The virtual studio system first determines whether the current live broadcast scene and preview scene are the same scene. If they are the same, the virtual studio system directly returns without performing subsequent switching operations. If they are different, the virtual studio system continues to execute the subsequent steps;
[0145] The virtual studio system records the index scenePrePlayIndex of the current preview scene and the index sceneCurPlayIndex of the live broadcast scene. The index is used to uniquely identify different scenes, facilitating the virtual studio system to accurately call the corresponding scene during the switching process;
[0146] The virtual studio system calls the play method and passes the pre-broadcast scene index scenePrePlayIndex as a parameter. The play method loads and displays the corresponding scene image in the virtual studio system according to the passed-in index scenePrePlayIndex, thus realizing the switching of the live broadcast image;
[0147] The virtual studio system calls the ToSwitchLayout method and passes the live broadcast scene index sceneCurPlayIndex as a parameter. The ToSwitchLayout method switches the pre-broadcast image according to the passed-in index sceneCurPlayIndex to display a new pre-broadcast scene.
[0148] In summary, by using the implementation method of controlling the virtual studio system for scene switching based on the production control panel of the present invention, the switching of pre-broadcast and live broadcast images, the animation switching of scene transitions, the display and hiding of the teleprompter, the switching and page turning of PPT, etc. in the virtual studio system are controlled through the function buttons on the production control panel, which has the advantages of efficient switching, improved live broadcast quality, simplified operation process, enhanced interactivity, and support for diverse application scenarios.
[0149] The above application specific examples have elaborated in detail the principle and implementation manner of the present invention. These embodiments are only used to help understand the core technical content of the present invention. Based on the above specific embodiments of the present invention, any improvements and modifications made by those skilled in the art of this technical field without departing from the principle of the present invention shall fall within the patent protection scope of the present invention.
Claims
1. An implementation method for controlling a virtual studio system to perform scene switching based on a director control panel, characterized in that This method involves a director control panel and a virtual studio system. The director control panel is connected to the virtual studio system through a preset interface or protocol. By clicking the function buttons on the director control panel, the user's operation instructions can be transmitted to the virtual studio system, thereby realizing the function control of the virtual studio system; Among them, the function buttons include: A live button for quickly switching the live video to the bound scene; A preview button for switching the preview video to the bound preview scene; A transition animation area, specifically including four transition buttons with different switching animations. Clicking a certain transition button will use the switching animation corresponding to that transition button; A PPT switching area, specifically including two PPT switching buttons for different switching scenes. Clicking a certain PPT switching button will switch to the PPT content of the switching scene corresponding to that PPT switching button; A PPT page turning area, specifically including two PPT page turning buttons for controlling the up and down page turning of the displayed PPT content; A subtitle control button for realizing the display and hiding functions of the teleprompter; A scene switching button for realizing the instant switching between the live and preview videos.
2. The implementation method for controlling scene switching of a virtual studio system based on a director control panel according to claim 1, wherein The director control panel is connected to the virtual studio system through a serial port and uses the RS485 / UART communication method. The specific communication parameter settings are as follows: The baud rate is 115200, the data bits are 8, there is no parity check, and there is 1 stop bit.
3. The implementation method for controlling the scene switching of a virtual studio system based on a director control panel according to claim 2, characterized in that, All communication instructions are encrypted through the CRC16 protocol; Based on predefined protocol instructions, the virtual studio system realizes the binding of the function buttons on the director control panel. When the user presses the function button on the director control panel, the director control panel quickly captures the instruction and transmits it to the virtual studio system after encryption.
4. The implementation method for controlling scene switching of a virtual studio system based on a production control panel according to claim 3, wherein The live button is used to quickly switch the live video to the bound scene; When the user clicks the live button on the director control panel, the button light immediately lights up. At the same time, the live scene in the virtual studio system directly switches to the scene pre-bound by this button. The specific steps are as follows: After the MCU on the director control panel detects that the live switching button is clicked, it sends an instruction to switch the live scene to the virtual studio system through the serial port; After receiving the serial port communication message, the virtual studio system first calls the perchaseReceiveDataAsync() method to parse the message, confirms that the received message is an instruction to switch the live scene, and then judges whether the currently clicked live button has been bound to a live scene: a) If no scene is bound, the virtual studio system will prompt the user to perform a scene binding operation; b) If a live scene has been bound, the virtual studio system reads the layout information LayoutBean of the bound scene; The virtual studio system passes the read LayoutBean into the play() method. Inside this method: it calls the deleteSelectBackground() method to clear the original playback screen in the virtual studio system to avoid interference between the old and new screens; it calls the ConvasUIController.changeLayout() method to switch the current live scene to the scene bound by the button; it calls the playLayoutBean() method to start playing the specified scene; The virtual studio system sets the Active state of the playback scene to true to enable normal playback of the live broadcast image.
5. The implementation method for controlling scene switching of a virtual studio system based on a director control board according to claim 3, characterized in that, The preview button is used to switch the preview image to the bound preview scene; When the user clicks the preview button, the button light will be immediately lit, and the preview scene will directly switch to the scene bound to this button. The specific steps are as follows: After the MCU on the director control panel detects that the preview switch button is clicked, it sends an instruction to switch the preview scene to the virtual studio system; After the virtual studio system receives the serial communication message, it first calls the perchaseReceiveDataAsync() method to parse the message, confirms that the received message is an instruction to switch the preview scene, and then the virtual studio system determines whether the current button has been bound to a preview scene. a) If no scene is bound, the virtual studio system prompts the user to perform a scene binding operation. b) If a live broadcast scene has been bound, the virtual studio system reads the layout information LayoutBean of the bound scene; The virtual studio system passes the LayoutBean into the ToSwitchLayout() method. In this method: it calls the deleteSelectBackground() method to clear the original preview playback image to prevent interference between the old and new images; it calls the DisplayController script and passes the LayoutBean into the ToSwitchLayout method in this script; it determines the type of the currently selected scene. If it is a picture, it calls the addBgImage() method to add a picture resource to the GameObject. If it is a video, it calls the addBgVideo() method to add a video resource; it calls the play() method to play the current preview scene after the switch.
6. The implementation method for controlling scene switching of a virtual studio system based on a director control panel according to claim 3, wherein, The transition animation area contains four transition buttons, and each button corresponds to a different switching animation; when a certain transition button is clicked, the virtual studio system uses the switching animation corresponding to this button; When the user clicks the transition button, the button light will be immediately lit. At the same time, the MCU on the director control panel captures this operation signal, converts it into an instruction, and sends it to the virtual studio system through the serial port; After the virtual studio system receives the instruction, it calls the perchaseReceiveDataAsync() method to parse the message, confirms that the received message is an instruction to switch the playback animation, and then executes the following steps: The virtual studio system calls the saveDirectorSetting() method to save the currently selected switching animation locally, so that when the virtual studio system is started next time, this switching animation can be directly called without the user having to select it again; When the virtual studio system needs to switch from the preview scene to the live broadcast scene: the virtual studio system reads the local configuration file, obtains the animation content to be executed, and executes the corresponding animation according to the read animation content to complete the scene switching operation.
7. The implementation method for controlling scene switching of a virtual studio system based on a director control panel according to claim 3, characterized in that, The PPT switching area specifically includes two PPT switching buttons, and each button is associated with a different PPT content display scenario; when the user clicks any PPT switching button, the virtual studio system will immediately switch to the corresponding PPT display scenario; at the same time, the virtual studio system supports switching operations for the previous or next PPT based on the PPT list; When the user clicks the button in the PPT switching area or performs the up / down switching operation based on the PPT list, the MCU on the director control panel will quickly capture the operation signal. Then, the MCU converts the signal into an instruction and sends it to the virtual studio system through the serial port; After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the specific operation intention of the user, and determine whether to turn to the previous page, the next page, or jump to a PPT in a specific scenario; After determining the specific operation intention of the user, the virtual studio system starts the coroutine StartCoroutine to asynchronously execute the PPT switching operation in the background; The virtual studio system calls the prePPT() and nextPPT() preloading interfaces of PPTControl.instance to obtain the PPT resources to be displayed and start the loading process in the background; After calling the interface, the virtual studio system allocates space in memory for the PPT to be loaded, reads the PPT file data from the storage device, and parses the PPT file structure to prepare for display; The virtual studio system monitors the loading status of the PPT in real time. When the PPT loading is completed, the virtual studio system receives the notification of loading completion; The virtual studio system calls the updatePPTControl() method to update the loaded PPT content to the display interface of the virtual studio system.
8. The implementation method for controlling the virtual studio system to perform scene switching based on the director control board according to claim 7, characterized in that, The PPT page turning area specifically includes two PPT page turning buttons, which are used to control the up and down page turning of the displayed PPT content, that is, to switch the previous and next pages of the PPT displayed in the current scenario; when the PPT is on the first page, clicking the previous page button will not cause a reaction from the virtual studio system; when the PPT is on the last page, clicking the next page button will also not cause a reaction from the virtual studio system; When the user operates the PPT page turning button, the MCU on the director control panel first captures the button action, converts it into an electrical signal, and transmits the signal instruction to the virtual studio system through the serial port; After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the operation intention of the user to control the PPT up and down page turning. Subsequently, the virtual studio system performs the operation according to the following steps: The virtual studio system starts the coroutine StartCoroutine to asynchronously execute the PPT page turning operation in the background; The virtual studio system calls the switchPPTPage() method of PPTControl.instance to perform the up or down page turning of the PPT according to the user's operation; When the PPT is loaded, the virtual studio system calls the updatePPTControl() method to update the content displayed on the interface of the PPT, ensuring that the latest page is shown.
9. The implementation method for controlling scene switching of a virtual studio system based on a director control panel according to claim 3, characterized in that, The subtitle control button is used to implement the display and hiding functions of the teleprompter, and the teleprompter is by default in a non-display state; when the user clicks this button, the teleprompter will be displayed; when the button is clicked again, the teleprompter will be hidden; When the user operates the subtitle control button, the MCU on the director control panel will capture this operation signal, convert it into an instruction, and transmit it to the virtual studio system through the serial port; After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, confirm the user's operation intention to control the display or hiding of the teleprompter. After clarifying the operation intention, the virtual studio system controls the teleprompter according to the following steps: The virtual studio system calls the TeleprompterPanel.instance.showTeleprompterPanel() method, which belongs to the TeleprompterPanel control class and is used to manage the display and hiding operations of the teleprompter; The showTeleprompterPanel() method first reads the current state of the teleprompter: a) If the teleprompter is currently in the display state, the showTeleprompterPanel() method will call the SetActive(false) method to set the display state of the teleprompter to hidden, making the teleprompter disappear from the interface of the virtual studio system; b) If the teleprompter is currently in the hidden state, the showTeleprompterPanel() method will call the SetActive(true) method to set the display state of the teleprompter to display, making the teleprompter shown at the specified position in the virtual studio system.
10. The implementation method for controlling scene switching of a virtual studio system based on a director control board according to claim 3, characterized in that, The scene switching button is used to implement the instant switching between the live broadcast and preview scenes; when the user clicks this button, the current live broadcast scene will change to the preview scene, and the current preview scene will change to the live broadcast scene; When the user clicks the scene switching button, the MCU on the director control panel quickly captures this operation signal, converts it into an instruction, and sends it to the virtual studio system through the serial port; After receiving the instruction, the virtual studio system calls the perchaseReceiveDataAsync() method to parse the message, determine the user's operation intention to switch between the live broadcast and preview scenes. After clarifying the operation intention, the virtual studio system executes according to the following steps: The virtual studio system first determines whether the current live broadcast scene and preview scene are the same scene. If they are the same, the virtual studio system directly returns without performing subsequent switching operations. If they are different, the virtual studio system continues to execute the subsequent steps; The virtual studio system records the index of the current pre-broadcast scene, scenePrePlayIndex, and the index of the live broadcast scene, sceneCurPlayIndex. These indexes are used to uniquely identify different scenes, facilitating the virtual studio system to accurately call the corresponding scenes during the switching process. The virtual studio system calls the play method and passes the pre-broadcast scene index scenePrePlayIndex as a parameter. The play method loads and displays the corresponding scene image in the virtual studio system based on the passed-in index scenePrePlayIndex, thus realizing the switching of the live broadcast image. The virtual studio system calls the ToSwitchLayout method and passes the live broadcast scene index sceneCurPlayIndex as a parameter. The ToSwitchLayout method switches the pre-broadcast image according to the passed-in index sceneCurPlayIndex to display a new pre-broadcast scene.