# Master control monitoring and distribution

## Outcome

Multiple SRT contribution feeds will enter a small ingest flow engine and become NDI sources for a vMix master control instance. vMix will switch or monitor those sources and send its program output over NDI to a second small flow engine for distribution to multiple SRT destinations.

## Signal Flow

```mermaid
flowchart LR
    accTitle: Master control monitoring and distribution signal flow
    accDescr: Multiple SRT contribution feeds enter an ingest flow engine and become NDI sources for vMix. vMix sends its NDI program output to a separate distribution flow engine, which sends the program to multiple SRT destinations. An NDI Discovery Server supports discovery between the flow engines and vMix.

    contributionOne["SRT contribution 1"] -->|"SRT"| ingest["Small ingest flow engine"]
    contributionTwo["SRT contribution 2"] -->|"SRT"| ingest
    contributionMore["Additional SRT feeds"] -->|"SRT"| ingest
    ingest -->|"One NDI source per feed"| vmix["vMix master control"]
    vmix -->|"NDI program output"| distribution["Small distribution flow engine"]
    distribution -->|"SRT"| destinationOne["SRT destination 1"]
    distribution -->|"SRT"| destinationTwo["SRT destination 2"]
    distribution -->|"SRT"| destinationMore["Additional destinations"]
    ndiCore["NDI Discovery Server"] -.->|"NDI discovery"| ingest
    ndiCore -.->|"NDI discovery"| vmix
    ndiCore -.->|"NDI discovery"| distribution
```

## Before You Begin

- Confirm Deploy Manager, Instance Manager, and Flow Manager are enabled in the managed environment.
- Obtain the caller/listener mode, address, port, latency, and any Stream ID or encryption settings for every SRT contribution and destination.
- Decide which vMix output will be the clean program feed for distribution.
- Confirm both flow engines and the vMix instance can use the same NDI Discovery Server.
- Estimate the simultaneous feed count, resolution, frame rate, codec, and bitrate. A small flow engine is the starting point for this recipe, not a guarantee of capacity.

## Deployment Plan and Estimated Cost

Use the following resources in a managed environment. Rates are the current CLOUDflex hourly usage estimates for these sizes.

| Role | Deploy Manager selection or resource size | Quantity | Estimated hourly cost |
| --- | --- | ---: | ---: |
| Master control | **vMix Instance**, `prod.small` | 1 | $3.50 |
| NDI discovery | **NDI Discovery Server**, `ndiCore` | 1 | $0.10 |
| SRT ingest and NDI conversion | `flowengine.small` | 1 | $2.00 |
| NDI program ingest and SRT distribution | `flowengine.small` | 1 | $2.00 |
| **Estimated total** |  |  | **$7.60/hour** |

:::note
Studio usage values are estimates. The total excludes storage, data transfer, taxes, and vMix or other software and service fees outside the listed CLOUDflex resources. Use the Usage page and the applicable billing records for final charges.
:::

Separating ingest from distribution reduces the amount of unrelated processing on either flow engine, but it is not a redundant design. Loss of the ingest engine interrupts all contribution feeds, and loss of the distribution engine interrupts all outgoing destinations. Add tested backup paths when the production requires them.

## Deploy the Master Control Resources

![Launch New Deployment in CLOUDflex Deploy Manager](../../../assets/img/user-guide-screenshots/deploy-launch.png)

1. Open **Deploy Manager** and select **Launch New**.
2. Enter a stack name that identifies the master control workflow and production date.
3. Add one **vMix Instance** and one **NDI Discovery Server**.
4. Set the vMix instance size to `prod.small` and review the deployment summary.
5. Select **Launch**, then confirm both resources are ready in Instance Manager.
6. Use the environment's approved flow-engine provisioning process to make two `flowengine.small` engines available. The current Deploy Manager catalog does not expose a Flow Engine launch template.
7. Give the engines clear roles, such as `MCR Ingest` and `MCR Distribution`, and confirm both report `ready` in Flow Manager.

:::caution
Launching these resources starts billable usage. Stop or remove resources after the production according to the environment's shutdown policy.
:::

## Configure SRT Ingest and NDI Monitoring

Create one flow on the ingest engine for each contribution feed:

1. Add an **SRT** input and enter the tested connection settings for that contribution source.
2. Add an **NDI** output with a unique, operator-readable name.
3. Match the output frame rate and processing settings to the production plan.
4. Start the input, output, and flow.
5. Repeat for each SRT contribution feed.
6. In vMix, add each NDI output as an input and confirm the labels make the source easy to identify under show pressure.

## Configure vMix and SRT Distribution

1. Build and test the required switching, monitoring, audio, and return-path behavior in vMix.
2. Configure the clean program output from vMix as a uniquely named NDI source.
3. On the distribution engine, create one flow with the vMix NDI program source as its input.
4. Add one **SRT** output for each destination.
5. Enter the tested caller/listener mode, address, port, latency, and any Stream ID or encryption values for each destination.
6. Start the NDI input, all required SRT outputs, and the distribution flow.

## Verify

1. Confirm every contribution flow reports an active SRT input and NDI output.
2. Check that vMix sees the intended NDI sources without duplicate or stale names.
3. Verify picture, channel mapping, lip sync, frame rate, and source labels for every contribution feed.
4. Switch test content through the vMix program output and confirm every SRT destination receives the same intended program and audio.
5. Run all planned feeds and destinations at the same time while watching flow-engine state, bitrate statistics, and vMix performance.
6. Perform controlled contribution and destination reconnects before show day.

If either small flow engine cannot sustain the planned simultaneous workload, move that role to an administrator-approved larger size rather than reducing the test duration or accepting unstable output.

## Shutdown Checklist

1. Confirm every destination has finished recording or forwarding the program.
2. Stop the distribution flow and its SRT outputs.
3. Stop the contribution flows and their inputs and outputs.
4. Close vMix cleanly.
5. Stop or remove both flow engines, the vMix instance, and the NDI Discovery Server as appropriate.
6. Check Instance Manager and Usage for anything left running.

## Troubleshooting

- If an SRT connection does not establish, compare caller/listener mode, address, port, latency, encryption, and Stream ID at both ends. See [SRT settings](/reference/srt-settings/).
- If an NDI source is missing, verify that both flow engines and the vMix instance use the intended NDI Discovery Server and can reach it on the production network.
- If vMix receives a feed but the destination does not, verify the vMix NDI program output and the distribution flow independently before changing the contribution flow.
- If several feeds fail together, check the shared ingest engine and NDI discovery path before troubleshooting each source separately.

## What's Next

Use the [show-day workflow](/operate-production/) to assign preflight, monitoring, handover, and shutdown responsibilities.
