Search
Start typing to search...

Setting Up a Multi-Machine Configuration

Author:

When do you need a multi-machine system?

When you need multiple independent video outputs, but producing them simultaneously is too much load for a single PC.

The machines can render completely different contents or the different views of the same content. For example, in a virtual studio system each machine renders the view of a particular camera, or in a panorama view each machine renders a slice of the image and so on.

Architecture

There is a central controlling machine that itself can render as well, and in the same time it can control several satellite machines. Satellite machine are called “remote renderers” or “renderers” in Aximmetry.

The controlling machine runs a normal Composer, and you can edit and control it through the usual Flow Editor or Control Boards. While the satellite machine runs a slim application named Renderer. It’s a pure render engine, does not provide any UI, only receives rendering command from the controlling machine.

For the controlling machine it’s recommended to use the usual dual monitor configuration. The renderers normally only need a single monitor - of course it can be a shared monitor using a KVM system.

Setting up the renderer machines

Switch to one of the satellite machines.

The Renderer application cannot be started directly. We have to start the Launcher instead. Launcher has to be running all the time. It’s only task is to start, kill or restart the Renderer upon the command of the central machine. This separation serves the safety of the system. If something happens with the Renderer, it freezes or crashes, we can handle the situation remotely through the Launcher.

Launcher

So first start the Launcher.

multimach image6.png

Launcher also has a Startup Configuration where you can modify the network ports through which the various communications happens. In most cases you can leave them on default.

multimach image12.png

Click Start. The Launcher’s minimalist UI appears. It's essentlially a log window only. The important info here is in the header: the name and the IP (or IPs if you have multiple network cards) of the machine. Any of these can be used later when you set up the controlling machine.

multimach image13.png

Renderer Config

Though the Renderer itself cannot be started directly, we must be able to setup its inputs and outputs. For this start Renderer Config.

multimach image10.png

A Startup Configuration window appears which is mostly identical with the Composer’s one. Suppose we want an SDI output an two SDI inputs, one for a camera, one for a playout coming from the studio system.

Output(s)

Suppose we use the standard assignments: output #1 is a preview, output #2 is the final picture that should go to an SDI output. If you use a separate monitor for each renderer machine you can use them as preview monitors. In this case we can setup the usual configuration:

multimach image11.png

If you do not need a preview monitor per renderer, or you use a KVM system, it’s not necessary to assign any monitors. You only need the final output on the SDI port:

multimach image5.png

Input(s)

In the Device Mapper we can setup the two SDI inputs as usual:

multimach image23.png

Project Root

We have to make an important decision here.

The simplest way to use the multi-machine system is to keep the project folders on a single machine. It can be the controlling machine itself, or a dedicated server machine. We can share the folder containing the projects, and set it as the Project Root both on the controlling machine and the renderer machines. We can either use a network drive or a direct network path.

In this example the projects are located on the controller machine in the shared folder Projects:

multimach image1.png

But there’s another way. You can keep a copy of the projects on each machine. When you make a modification of the scene on the central machine, you can easily distribute the changes to the renderer machines using Composer’s Remote Synchronizer panel. We discuss this tool in a separate documentation.

Both approach have their advantages and disadvantages.

For a simpler start we recommend using the network folder approach.

The click Save. The setup window closes and the Renderer is ready to be started by the Launcher.

Do the above setup of Launcher and Renderer for all satellite machines.

Setting up the controller machine

On the controller machine you use the regular Composer application. You can choose that you use the controller machine only for controlling or it can be one of the rendering machines as well. The latter approach can be advantageous, because you can do the visual setup (for e.g. the placing of the billboards) on the preview monitor in the usual way.

Start the Composer.

Input(s) and output(s)

If you want the machine rendering, setup the inputs and outputs as usual (presumably for one camera input and one SDI output, similarly to the satellite machines).

Remote renderers

Go to the Remote Renderers section.

If you only use this machine as a controller turn off Local rendering, otherwise leave it on.

Turn on Remote rendering. Later if you want to use this machine for both content editing and for rendering the live show you can turn on/off this switch at will. That way you won’t have to start all your satellite renderers when you only want to make a graphical change in your virtual set.

multimach image19.png

Then list your renderer machines either by their names (if your network setup allows it) or by their direct IP addresses.

multimach image26.png

Then you have to assign in identifier index to each of them. #1, #2 etc. machines will be referred later on your control boards as Remote #1, Remote #2 etc.

multimach image27.png

If you decide not using one of your machines in the upcoming session, you don’t have to delete its name from the list, simply turn off its index. This way later you can easily switch it on back.

multimach image17.png

Project Root

If the shared project folders are on this machine then leave the setting as it is. If they’re on a separate server you have to set the project root to that machine.

Starting

Click Start. You’ll see the Remote Engine's Status popup as the renderers are starting. Composer UI won’t show up until all the renderers are started.

multimach image16.png

Channel Matrix

Open Preferences and go to the Channel Matrix section.

By default you’ll see the list of all outputs of all the machines and you can assign your channels to each of them individually. (If you’re not familiar with what are channels and outputs please watch this consult Outputs and Channels, Multi-GPU).

In special projects this gives you a total freedom to send specific content to all individual outputs. But in the case you want to render the same content on all machines we recommend using the more simple Unified multi-machine setup instead. That means that Channel 1, 2 etc. always goes to Output #1, #2 etc. on each machine.

multimach image18.png

Setting up the Control Boards

Some of the stock control boards are prepared for use in multi-machine environment. For e.g. if you are using virtual cameras use VirtualCam_A-B_Preview_4-Cam.xcomp. We’ll show this setup as an example now.

Inputs

First of all you have to assign all the INPUT rows to a specific machine. The system allows arbitrary configurations, for e.g. each machine renders for two cameras. But we recommend to stick with the usual one machine - one camera setup.

The assignment is made via the Engine property of each INPUT panel:

multimach image29.png multimach image28.png

multimach image7.png multimach image4.png

multimach image15.png multimach image3.png

multimach image8.png multimach image22.png

IMPORTANT: the Input Device property always refers to the devices of the selected remote machine. Since you probably assign camera input to #1 on all machine you have to select Mapped #1 for all the INPUTs:

multimach image14.png multimach image2.png

Cameras

You also have to assign the machines from the perspective of the cameras: you have to set up which machine uses which camera:

multimach image25.png

multimach image21.png

IMPORTANT: the CAM 1, CAM 2 etc. selectors above only serve editing purposes in a multi-machine one-to-one setup and only affect the controller machine. The remote machines always render the camera assigned to them.

You only have to switch between CAM 1, CAM 2 etc. to setup the camera paths and the placement of the billboards on the controlling machine. When you finished with setup you always have to switch back to CAM1, so that the controlling machine can fill its role which is rendering the Camera 1 image.

Editing the Camera Paths

You can edit the paths for each camera as usual. You select between CAM 1, CAM 2 etc. and edit the A-B points of each path. On the controller machine’s output and preview monitor you’ll always see the picture of the selected CAM. Of course, you’ll also immediately see the changes on the output of the remote machine to which the given camera is assigned.

Placing the Billboards

When you select between CAM 1, CAM 2 etc. you’ll also see the Billboards belonging to that camera and you can edit and place them as usual.

However there’s a catch: by default you cannot see the actual image of the talent for the cameras that are assigned to remote machines. It’s obvious, since their actual SDI input is connected to that machine.

So by default you’ll see a placeholder image, a schematic figure of an actor. It’s suitable if you only want to adjust the positon of the billboard, but not when you want to setup the correct proportions.

But there’s a solution: the system allows sending the input image over NDI from the remote machine to the controlling machine where we do the editing.

For that you have to specify the name of the remote machine on each INPUT panel:

multimach image7.png multimach image30.png

NOTE that it always have to be the actual machine name, never the IP address. It will be used by the NDI channel system. Set it up for all the inputs you wish to see then turn SHOW REMOTE on:

multimach image20.png

You can also select the quality of the transfer depending on your network bandwidth and the performance of your machines:

multimach image9.png

Now you’ll see the actual inputs for each machine.

Remote Engines Status

If, for some reason, the connection is lost to some of the remote machines, the Remote Engine's Status window pops up and indicates the problematic machine with flashing red.

If the problem is software based (for e.g. crash) or you’ve already fixed the hardware problem (for e.g. network connection issue), you can restart the engine on the remote machine by the Restart All Lost or the individual Restart functions. The current scene also will be automatically loaded into the remote machine and the system continues to operate normally.

Article content

Close
1/10