# MediaKind Docs > Developer documentation for MediaKind products, APIs, and workflows. Markdown versions are available for each linked documentation page. # Welcome to MK.IO Beam MK.IO Beam is engineered to meet the evolving demands of processing at the edge of your network, delivering high-quality broadcast and streaming headends, low latency contribution encoding and capable video/audio decoding. Its flexible architecture allows for seamless integration into existing workflows, providing a future-proof solution. MK.IO Beam connects to the cloud, enabling direct and automated control, monitoring and life cycle management via the MK.IO cloud portal for the ultimate in efficient operations. [Quick Start](/beam/quick-start) Configure and register your device. [Connect to MK.IO](/beam/connect-to-mkio) Check network requirements and find every device-management guide. [Essentials UI](/beam/essentials) Monitor channels and create new services from the streamlined Essentials dashboard. [Advanced interface](/beam/web-interface) Configure feeds and the individual services behind them in the Advanced interface.
## Solutions [Contribution](/beam/contribution) **For sending high-quality feeds from the field to the studio.**\ Find guides on configuring low-latency encoding, secure transport for live events, and more. [Reception](/beam/reception) **For receiving and decoding feeds from satellite or IP.**\ Find guides on configuring satellite demodulation, IP turnaround, professional decoding, and more. [Headends](/beam/headends) **For processing channels for distribution (Cable, IPTV, OTT).**\ Find guides on configuring statistical multiplexing, ABR transcoding, packaging, and more. --- ## System administration Manage the BEAM platform hardware, security, and connectivity. These guides apply to all solutions. - [Installing the Beam ISO ](/beam/system-admin/iso-installation) - [System Settings ](/beam/system-admin/system-administration) - [Maintenance](/beam/system-admin/maintenance/service-settings) - [Servers](/beam/system-admin/servers/servers) - [Security](/beam/system-admin/security/user-management) - [Network](/beam/system-admin/network/configure-nics) # MK.IO Beam API guides Use the Channels API for device-local channel workflows, the Fleets API for device management, and the Infrastructure API for sites and networks. ## Getting started [Choose an API](/beam/api-guides/getting-started/which-api) Choose the API for your Beam workflow. [API overview](/beam/api-guides/understanding/overview) Understand cloud and device-local connections. ## Channels API [Build with the Channels API](/beam/api-guides/how-to/channels) Create, control, and monitor channels on a Beam device. [Channels API reference](/api-reference/channels-api) Look up endpoints, schemas, and responses. ## Fleets API Register, update, and manage hardware and software device inventory for on-premises edge deployments. [Fleets API Reference](/api-reference/fleets-api) Endpoints, schemas, and request/response examples for fleet operations. [Manage Fleet Devices](/beam/api-guides/how-to/fleets/device-management) Register devices, configure settings, and monitor edge appliance health. [Backups & Restores](/beam/api-guides/how-to/fleets/backups-and-restores) Backup device configurations and restore edge states. [Software & Updates](/beam/api-guides/how-to/fleets/software-and-updates) Manage device software versions and roll out fleet-wide updates. ## Infrastructure APIs Configure network settings and sites across the platform. [Infrastructure API Reference](/api-reference/infrastructure-api) Endpoints, schemas, and details for infrastructure resource operations. [Set up Networks & Sites](/beam/api-guides/how-to/infrastructure/networks-and-sites) Provision network configuration and link sites. # Get started with the Beam APIs Choose the API that owns your workflow before configuring the connection. - [Which API to use](/beam/api-guides/getting-started/which-api): choose Channels, Fleets, or Infrastructure. - [Authentication and connections](/beam/api-guides/getting-started/authentication): prepare cloud or device access. - [Your first API call](/beam/api-guides/getting-started/first-api-call): list registered devices with the Fleets API. - [Connect to a Beam device](/beam/api-guides/how-to/channels/connect-to-a-device): prepare a device-local Channels API workflow. # Authentication and connections Choose the connection for the API you are using. ## Fleets and Infrastructure The Fleets and Infrastructure APIs use `https://app.mk.io/` and bearer authentication: ```http Authorization: Bearer| Workflow | API | Guide |
|---|---|---|
| Create, control, and monitor channels on a Beam device | Channels | Channel workflows |
| Register devices, manage software, and back up or restore configurations | Fleets | Fleet workflows |
| Configure networks and sites for devices | Infrastructure | Infrastructure workflows |
## API overviewThe Channels API requires an MK.IO Beam device running version
1.12.0or higher. It is delivered as part of the Beam Essentials UI release, so devices on earlier versions do not serve these endpoints.
| Detail | Value |
|---|---|
| Base path | <DEVICE_ADDRESS>/api/ |
| Scope | A single Beam device |
| Access | Network access to the device |
| Reference | Channels API reference |
| Half | Who writes it | What it holds |
|---|---|---|
spec |
You | The configuration you want: type, desired state, inputs, transform, and outputs. |
status |
The device | What is actually happening: actual state, health severity, live input and output detail, and sync state. |
spec.type |
Use it for | Accepted inputs | Accepted outputs |
|---|---|---|---|
EncodingContribution |
Encoding a baseband source for onward contribution at high quality | SDI, Smpte2110 |
ASI, UDP, SRTCaller, SRTListener, RF |
EncodingDistribution |
Encoding a baseband source for distribution to viewers | SDI, Smpte2110 |
ASI, UDP, SRTCaller, SRTListener, RF |
EncodingStreaming |
Encoding a baseband source into adaptive bitrate streaming output | SDI |
HttpStreaming |
ReceptionDecoding |
Receiving a transport stream and decoding it back to baseband | SRTCaller, SRTListener, UDP, ASI, SatDemod |
SDI, Smpte2110 |
ReceptionGateway |
Receiving a transport stream and passing it on without decoding | SRTCaller, SRTListener, UDP, ASI, SatDemod |
ASI, UDP, SRTCaller, SRTListener, RF |
syncState |
Meaning |
|---|---|
Ok |
The configuration on the device matches the spec you sent. |
Configuring |
The device is still applying the change. |
ConfigFailed |
The device rejected the configuration when it tried to apply it. |
SyncFailed |
The device could not reconcile the channel with its services. |
Failed |
The channel is in a failed state. |
mode |
Effect |
|---|---|
merge (default) |
Creates channels that are missing, updates channels that have changed, and leaves every other channel on the device alone. |
replace |
Deletes any channel that is not in the payload, then creates and updates the rest. |
The optional `state` field overrides the desired state of every imported channel, and accepts `Running` or `Stopped`. Setting it to `Stopped` imports a configuration without putting anything on air, which is the safer way to bring a payload onto a live device. ## Check the result The response summarises what the device accepted: ```json { "imported": [ { "name": "news-contribution", "sourceName": "news-contribution", "displayName": "News contribution", "status": "accepted", "error": null } ], "deleted": [], "errors": [], "warnings": [] } ``` Each entry in `imported` has a `status` of `accepted`, `skipped`, or `rejected`, with `error` carrying the reason for a rejection. `deleted` lists the channels a replace import removed. `errors` and `warnings` cover problems with the payload as a whole rather than with one channel. `accepted` means the channel passed validation, not that it is configured. Import returns as soon as the payload is validated, and the device applies the configuration in the background. Poll `GET /api/channels/{channel_id}/` for each imported channel and read `status.syncState` to see how it finished. See [How Beam channels work](/beam/api-guides/how-to/channels/how-channels-work) for the values. ## What goes wrong **A merge import did not remove an old channel.** That is what merge does. Use `replace` if the payload is meant to be the complete set. **Channels came up running when you did not want them to.** The desired state travels with the payload. Set `state` to `Stopped` on the import request to override it. **A channel was accepted but never came up.** Import validation and configuration are separate steps. Check `status.syncState` and `status.syncError` on the channel itself. **The destination device is equipped differently.** A spec that names `eth1` or `slot_1_port_1` depends on the target having that interface. Call `GET /api/interfaces/` on the destination and compare it against the payload before importing, then check both `ImportResult` and each channel's `status.syncState` afterwards. ## Where to go deeper - [Configuration backups](/mkio/how-to/managing-edge-devices/configuration-backups) covers whole-device backups through MK.IO, which is a broader safety net than a channel export. - [Channels API reference](/api-reference/channels-api) documents `ExportPayload`, `ImportRequest`, and `ImportResult` in full. # Create and manage channels Channels are created with `PUT /api/channels/{channel_id}/`, where `{channel_id}` is the channel name you choose. The same request creates a channel that does not exist and replaces one that does, so there is no separate create endpoint and no generated identifier to keep track of. Read [How Beam channels work](/beam/api-guides/how-to/channels/how-channels-work) first if you have not picked a `spec.type` yet, because that choice constrains everything else in the body. ## Read the interfaces first Channel inputs and outputs point at real ports on the device, so start by asking the device what it has: ```bash curl
modeset toreplacewith an emptychannelslist deletes every channel on the device. Check the payload before sending a replace import.
| Your situation | spec.type |
Body differences |
|---|---|---|
| Encoding a baseband source for onward contribution | EncodingContribution |
Requires transform.encoding. Video codecs are the 4:2:2 and JPEG XS profiles, plus H264High and its variants. |
| Encoding a baseband source for delivery to viewers | EncodingDistribution |
Requires transform.encoding. Video codecs are the delivery profiles: HEVCMain, HEVCMain10bit, H264High, H264Main, and MPEG2. |
| Encoding a baseband source into adaptive bitrate output | EncodingStreaming |
Requires transform.abrEncoding instead of transform.encoding. The only output type is HttpStreaming. |
| Receiving a stream and putting it back to baseband | ReceptionDecoding |
No transform. Outputs are SDI or Smpte2110. |
| Receiving a stream and passing it on untouched | ReceptionGateway |
No transform. Outputs are the transport types, as for contribution. |
| Parameter | Default | Purpose |
|---|---|---|
$filter |
none | An expression that limits which channels are returned. |
$orderby |
metadata/created |
A sort field with optional asc or desc. Comma-delimit for multiple keys. |
$select |
none | A comma-separated list of fields to return. |
$top |
1000 |
Maximum items per page, from 1 to 1000. |
$skiptoken |
0 |
Offset into the results. |
| Detail | Value |
|---|---|
| Base path | /api/v1/projects/{project_name}/fleet/ |
| Scope | Project |
| Reference | Fleets API reference |
| Field | Tells you |
|---|---|
currentSoftwareVersion |
The version running now. |
softwareUpgradeState |
Idle, Switching, or SwitchFailed during a version change. |
alarmSeverity |
0 Clear, 1 Info, 2 Warning, 3 Error, 4 Critical. |
lastContact |
When the device last reached the cloud. |
| To... | Set | Effect |
|---|---|---|
| Run a specific version now | desiredSoftwareVersion |
The device switches to it. softwareUpgradeState moves Switching then Idle. |
| Stage a version without applying it | preloadSoftwareVersion |
The device downloads it; watch status.preloadedSoftware for progress. |
| Always keep the newest staged | autoPreloadLatestSoftware |
The device preloads the latest available version automatically. |
| Detail | Value |
|---|---|
| Base path | /api/v1/projects/{project_name}/infra/ |
| Scope | Project |
| Reference | Infrastructure API reference |
| API | Path prefix | Guide |
|---|---|---|
| Fleets | /api/v1/projects/{project_name}/fleet/ |
Fleet workflows |
| Infrastructure | /api/v1/projects/{project_name}/infra/ |
Networks and sites |
Check which interface you are usingMK.IO Beam for contribution is engineered to meet the demands of modern live content acquisition, delivering pristine video quality with maximum efficiency. Its flexible architecture allows for field reconfiguration for IP or satellite contribution, up to 4:2:2 10-bit UHD targeted at a range of server options. It’s ideally suited to live events, where we can offer the flexibility of paying on a pure consumption basis MK.IO Beam connects to the cloud, enabling direct and automated control, monitoring and life cycle management via the MK.IO cloud portal for the ultimate experience in efficient operations. ## Common Workflows: ### Input setup [Configure SMPTE ST 2110 Input](/beam/contribution/how-to/setup-smpte-2110-input) How to configure SMPTE ST 2110 Input [Configure SDI/ASI Cards](/beam/system-admin/maintenance/setup-sdi-asi-card) How to configure SDI/ASI cards ### Low Latency & Reliability [Minimise End-to-end Delay](/beam/contribution/how-to/minimize-end-to-end-delay) How to minimise the end-to-end delay. [Drop IP/ASI output on input loss](/beam/contribution/how-to/drop-output-on-input-loss) How to drop IP/ASI output on input loss. ### Transport [Configure SRT/Zixi/RST](/beam/reliable-transport/service-management) How to configure SRT/Zixi/RST [Configure satellite modulator](/beam/contribution/configure-feed-components/satellite-modulator) How to configure the satellite modulator # Configure the feed components After a feed has been created, each service within the feed must be individually configured to create the entire MK.IO Beam configuration. Thus, you will configure: - [the Live Encoder service](/beam/contribution/configure-feed-components/live-encoder) - optionally [the Multiplexer service](/beam/multiplexer) - optionally [the Satellite Modulator](/beam/contribution/configure-feed-components/satellite-modulator) The Reliable Transport service is not included in any of the MK.IO Beam feed templates. It can be added separately via the **Services** page. See [Reliable Transport Configuration](/beam/contribution/configure-feed-components/reliable-transport) When editing component parameters, do not modify any interfaces which have been configured to use the “tap0” or “lo” interfaces as those are used internally to pass data between the services. # Configure the Live Encoder service The following sections explain the basic configuration for the Live Encoder component. For advanced configuration, see the following sections of Live Encoder: \- [Input parameters](/beam/live-encoder/configure/input) \- [Encoding parameters](/beam/live-encoder/configure/encoding) \- [Output parameters](/beam/live-encoder/configure/output/configure-output) To configure the Live Encoder, follow these steps: 1. Click `Edit` icon next to the **Live Encoder** component within the feed. The Live Encoder settings open.  2. When you get to the **General** tab, the name is already pre-defined. It will be incremented at each new feed instance so you don't need to change it. ## Configure the input To configure the video, audio and data components, follow these steps: 1. Go to the **Input** tab. 2. In the **General parameters** section, select the input type: - [**SDI**](/beam/contribution/configure-feed-components/live-encoder#sdi-input) - or [**SMPTE ST 2110**](/beam/contribution/configure-feed-components/live-encoder#smpte-st-2110-input) ### SDI input Before you start: ensure you already [set up the SDI card for HD or UHD operation](/beam/system-admin/maintenance/setup-sdi-asi-card). To configure an SDI input, follow these steps: 1. From the **General parameters** section: - Set the input **Type** to **SDI**. - Select a Connector from the drop-down list. - You can keep the SDI card number, by default **1** or change it. 2. Go to the **Input streams selection** section: the input video is already configured but you can add an input audio: - Go to the **Audio ID** section. - Click **Add**. You can either keep the default parameters or modify them as needed. - Click **Ok** to validate. 3. Click **Save and continue** to save your changes. ### SMPTE ST 2110 input Before you start: ensure you already [set up the SMPTE ST 2110 input operation](/beam/contribution/how-to/setup-smpte-2110-input). To configure an SMPTE ST 2110 input, follow these steps: 1. In the **Input** > **General parameters** section, set the input **Type** to **SMPTE ST 2110**. 2. Configure the input video stream: - In the **Input streams selection** section, go to the **Video ID** section. - Click `Edit` icon then enter the **SDP file location**. - Click **Ok** to validate. 3. Add and configure the input audio stream: - In the **Input streams selection** section, go to the **Audio ID** section. - Click **Add** then enter the **SDP file location**. - Click **Ok** to validate. 4. Click **Save and continue** to save your changes. **See also**\ [Limitations and Considerations for ST2110 and PTP](/beam/contribution/how-to/setup-smpte-2110-input#limitations-and-considerations-for-st2110-and-ptp)\ [Configure SDP files on MK.IO Beam](/beam/contribution/how-to/setup-smpte-2110-input#configure-sdp-files-on-mkio-beam)\ [Setup the PTP for ST 2110](/beam/contribution/how-to/setup-smpte-2110-input#configure-ptp-for-st-2110) ## Configure video, audio and data components ### Configure the video component To configure the video component go to the **Video encoding** section. 1. Click `Edit` icon to check and configure the video parameters. 2. Select the appropriate parameters for the video encoding. 3. Click **Ok** to validate. ### Configure the audio component To configure the audio component go to the **Audio encoding** section. 1. Click **Add**. A new window is displayed. By default audio codec is set to **Pass-through** but you can change it. 2. Select the appropriate parameters for the audio encoding. 3. Click **Ok** to validate. ### Save Click **Save and continue** to save your changes. ## Configure the output 1. Go to the **Output** tab. A default output has already been created. 2. In the top right corner, click `Edit` icon. 3. Scroll to the **Common MPEG-2 TS parameters** section. You may change some parameters, especially **Standard**, **PCR PID**, **Program number**, **Service name**, **Service provider**. 4. Scroll to the **Output streams** section, click `Edit` icon then tick the audio stream. 5. You can change the PIDs if needed. 6. Click **Ok** to validate. 7. Click **Save and continue** to save your changes. ## Configure advanced parameters ### CBR To ensure that the video is output as a CBR elementary stream, you need to add an advanced parameter: 1. Go to the **Advanced parameters** tab. 2. Click **Add** then set **Mpeg2ts.NullPacketStuffing** to **False**.  3. Click **Save and exit** to save and finalize your service configuration. 4. Select the **Home** menu from the left menu bar to go back to the Home page. ### SCTE-35 pass-through If passing through SCTE35 messages with a default configuration, a high proportion of null splice messages will be output in comparison to splice messages which contain actual splices. This can be adjusted using the **capDmif.maxScte35Bitrate** advanced parameter. Setting this to a value of **7520** will reduce the number of null splice messages in the output. # Configure the Multiplexer service For detailed information on the Multiplexer service, refer to the [Multiplexer documentation](/beam/multiplexer). # Configure a Reliable Transport serviceThe guides linked from this page configure MK.IO Beam through the Advanced interface, where a workflow is a feed made up of individual services. If your device runs the Essentials interface, build the workflow as a channel instead: see Create a channel. Both interfaces control the same settings underneath, so these pages stay useful as reference for the detail behind a channel.
To create a Reliable Transport service, see [how to create a new Reliable Transport service](/beam/reliable-transport/service-management#create-a-new-reliable-transport-service). If configuring a Reliable Transport service to provide Reliable Transport output, i.e. taking the output from another service and providing a Reliable Transport output, ensure that: 1. In the **Output** section, set the **Output Mode** to **SRT Caller**. 2. Configure the **Network Interface**, **Stream Address** and **Port** with the same information as the upstream service's output.  _Reliable Transport configuration example_ # Configure the Satellite Modulator output The Satellite Modulator option card is only supported on MK.IO Beam running on C-series servers. The Satellite Modulator option card is only supported with the Live Encoder + Multiplexer + Satellite Modulator use case.Although the Reliable Transport service is not included in all of the MK.IO Beam feed templates, a Reliable Transport service can be added separately and connected to the input or output of a feed. For example, a Reliable Transport service can be added to the output of an Encoder and Multiplexer feed to provide Reliable Transport output.
To configure the Satellite modulator option card, follow these steps: 1. Create a new feed based on the **Live Encoder + Multiplexer + Satellite Modulator** template. 2. Once created, go to the feed card then edit the Satellite Modulator options by clicking `Edit` icon next to the **Satellite Modulator** component within the feed. 3. Log in to the satellite modulator option card as an administrator: 1. Navigate to the **System** menu, then go to the **Admin** sub-menu. 2. Log in with the following credentials:\ Username: `admin`\ Password: `root` 3. Click the green tick in the top right corner:  ## Configure modulation settings To configure modulation settings, go to **Settings** then **Modulation**: ```  ``` ## Configure RF output parameters To configure RF output parameters, go to **Settings** then **Outputs**: ```  ``` Enabling or disabling the RF output must be done on the **Outputs** menu. ``` - To disable the RF output, set the **RF Output** setting to **OFF**, then click on the green tick in the top right corner. - To enable the RF output, set the **RF Output** setting to **ON**, then click on the green tick in the top right corner. ```On first usage, the Satellite Modulator settings will be read-only. To edit modulation parameters, you must log in to the Satellite Modulator card as an administrator. The administrator user will be logged out after a period of inactivity. If that happens, you will need to log in as an administrator again to be able to edit settings.
- [LCM and Dolby E Passthrough](/beam/contribution/how-to/lpcm-and-dolby-e-passthrough) - [Minimise Latency](/beam/contribution/how-to/minimize-end-to-end-delay) - [Configure NMOS](/beam/contribution/how-to/configure-nmos) - [Drop Output on Input Loss](/beam/contribution/how-to/drop-output-on-input-loss) - [Configure JPEG XS](/beam/contribution/how-to/configure-jpegxs) - [Output Synchronization with PTS](/beam/contribution/how-to/output-synchronization-with-pts) - [SMPT2110 Input](/beam/contribution/how-to/setup-smpte-2110-input) # JPEG-XS with Jumbo Frames Jumbo frames are Ethernet frames with a payload larger than the standard 1500 bytes. Using them can improve network performance for high-bitrate streams like JPEG-XS by reducing packet header overhead. They are recommended for JPEG-XS services at bitrates of 300 Mbps and higher. To use jumbo frames, you must configure them on your Beam device's network interfaces and in the Live Encoder service.Starting and stopping the feed on the MK.IO Beam home page does not change any modulation parameters or enable or disable modulation.
## Configure Jumbo Frames on Network Interfaces To use jumbo frames for a JPEG-XS stream, you must first enable them on the network interfaces of your Beam device by setting a higher Maximum Transmission Unit (MTU). See [Configure Jumbo Frames for instructions](/beam/system-admin/network/jumbo-frames). ## Enable Jumbo Frames in the Live Encoder Service After configuring the network interfaces, enable jumbo frames for the specific Live Encoder service. 1. In the **Live Encoder** service configuration, go to the **Input** tab and ensure the **Contribution encoding service** checkbox is checked. 2. Under the **Encoding** tab, ensure the codec is set to **JPEG XS 4:2:2** or **JPEG XS 4:2:2 10 bits**. 3. In the output properties under the **Output** tab, check the **Ensure Large Frames** checkbox.Jumbo frames only work if all devices on the network path, including switches and routers, are also configured to support them.
Secure Reliable Transport (SRT) does not support jumbo frames. If you are using JPEG-XS with SRT, do not enable jumbo frames in the Live Encoder or on the network interfaces.
# Configure NMOS IS-04 and IS-05 ## Overview The diagram below shows how the Controller and Live Encoding components are collaborating on MK.IO Beam.  - The Live Encoding server shown here is contained within the Live Encoding component on MK.IO Beam. - The NMOS Node microservice within the Live Encoding component exposes the NMOS Node API and NMOS Connection API. - The Node API is achieved by retrieving the NMOS resources of the Services running on the server thanks to the products Configuration Managers. - The Configuration API is achieved by updating the Service Configurations thanks again to the products Configuration Managers - The Live Encoding component implements API endpoints so that the NMOS node microservice can retrieve the NMOS resources of a Live Encoding service. ## Prerequisites - You need to provide an NMOS Registration and Discovery Server (RDS) that is NMOS IS-04 compliant, and an NMOS Client, which will interact with the NMOS RDS and NMOS Nodes. - NMOS IS-04 supports different modes of operation for the NMOS Node discovery, Encoding Live mandates discovery using Registered mode with multicast operation. - When configuring a service with NMOS, the SDP file for each input stream is supplied by the NMOS Client, this means that you no longer need to specify the SDP file location. ## Configuration The MK.IO Beam must be configured with a Live Encoding service. ### Create a Live Encoding service 1. Go to the **Services** page, click **Add service** then select **Live Encoding**. ### Configure the Live Encoding service 1. Under the **General** tab, enter a name for the service. 2. Under the **Input** tab: 1. set the **Type** to **SMPTE ST 2110**. 2. Leave the **Input redundancy** set to **None**. 3. Tick the **NMOS enabled** checkbox. 4. Set the **Network interface** to the input network interface. SDP files are greyed for each input stream since this information is supplied by the NMOS Client. 5. Configure video encoding, audio encoding and output parameters as required. ### Save and start the service ``` 1. Click **Save and exit** to save and finalize your service configuration and go back to the **Services** page. 2. Assign a server to run the service. Result:Jumbo frames are enabled by default in the Live Encoder configuration if the bitrate is higher than 1 Mbit/s.
**See also**\ [Synchronize two services](/beam/live-encoder/configure#synchronize-two-services) # Configure SMPTE ST 2110 input ## Limitations and Considerations for ST2110 and PTP The following limitations apply to the current version: - ST 2110 streams are carried over RTP. RTP header extension is not supported and should be turned off on the source, as described here:It is required that the unit IP addresses are not set to the default IP address (127.0.0.1) or the unit control IP addresses which will interfere with this feature.
### Set the PTP interface and domain PTP interface configuration is under the **System Settings** page. - Navigate to the **Servers** view. - Click the **Details** `View` icon button to display the server information. - Go to the **System Settings** tab. - Under **Time sources**, select the **PTP** tab. - Set **Interface** to the network interface which will connect to the PTP Grand Master. - Set **Domain number** to the required PTP domain. If the system time source is not set to PTP, click the **Make active** button to set this. Confirm all changes by clicking on **Confirm,** then click the **Save** button at the bottom of the page to save the changes. ## Checking PTP operation ### How to check that PTP services are running To check the p4p4l service: ```shell copy systemctl status ptp4l.service ``` The output from this command should show that the service is loaded and active, for example: ```shell ptp4l.service - Precision Time Protocol (PTP) service Loaded: loaded (/usr/lib/systemd/system/ptp4l.service; enabled; vendor preset: disabled) Active: active (running) since ``` To check the phc2sys service: ```shell copy systemctl status phc2sys.service ``` The output from this command should show that the service is loaded and active, for example: ```shell phc2sys.service - Synchronize system clock or PTP hardware clock (PHC) Loaded: loaded (/usr/lib/systemd/system/phc2sys.service; enabled; vendor preset: disabled) Active: active (running) since ``` ### How to check the PTP Grand Master Run the pmc tool to check the status of the PTP grand master. In the example below, PTP domain 0 is used (`-d 0`). Modify the “`-d`” option to specify a different PTP domain. ```shell copy sudo pmc -u -b 0 -d 0 'GET TIME\_STATUS\_NP' ``` The text `gmPresent true` confirms that the grand master is detected, for example: ```shell sending: GET TIME_STATUS_NP 043f72.fffe.ff60cb-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP master_offset 13 ingress_time 1620380188201784144 cumulativeScaledRateOffset +0.000000000 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent true gmIdentity b8599f.fffe.60ffc8 ``` # Technical specifications ## Input / Output cards ### Baseband inputPTP is required for ST 2110 operation.
- **SDI over IP (SMPTE ST 2022-6)** ### Combined SDI and ASI input/outputOptional hardware required
- **4-port card:** 4xHD -SDI or 4x3G-SDI or 1x12G-SDI or 4xASI. Connector: BNC (F) 75 ohm - **8-port card:** 8xHD-SDI or 8x3G-SDI or 1x12G-SDI or 8xASI. Connector: BNC (F) 75 ohm - **Standards supported** - HD-SDI: SMPTE 292M; 3G-SDI: SMPTE 424M; 12G-SDI: SMPTE 2082. - Embedded audio: SMPTE 299M (HD) SDR/HDR - Signaling: SMPTE ST 425-5 - External sync genlock (black and burst) - Max. ASI input rate: 208 Mbps - ASI packet length: 188/204 byte packets - ASI standard: EN50083-9 ### IP outputOptional cards
- **2x10GbE card:** Connector: Dual SFP+ cages. 10G BASE-T optical transceivers or 10Gbe SFP DAC - **2x25GbE card:** Connector: Dual SFP28 cages. Can support 1GbE, 10GbE or 25GbE. Can provide hardware acceleration for SMPTE ST 2110 input ## Compressed output ### Transport stream output - Single or multi-service MPEG Transport Stream(s) - UDP or RTP encapsulated - RTMP/RTMPS ### Reliable transport - **SRT and RIST input/output** - Carriage of UDP or RTP streams over the SRT protocol - SRT listener or caller mode - RIST sender mode - RIST listener mode - **Zixi input/output** - Zixi sender - Zixi feeder or Zixi Receiver mode ### High availability - Automated (standalone) 1+1 output synchronization with PTS alignment (either SDI or ST 2110 inputs) ## Content security ### Encryption - BISS v1 Mode 1 and E - BISS v2 Fixed Key and CA Mode - SRT and RIST Encryption modes (fixed key 128/256 AES) ## Video encoding - **Video codecs:** HEVC, H.264, MPEG-2, JPEG-XS - **Chroma & bit depth:** 4:2:2 10-bit / 8-bit. 4:2:0 8-bit (10-bit UHD). - **Resolutions:** 480i (SD), up to 2160p (UHD) - **Framerates:** 23.98, 24, 25, 29.97, 50, 59.94Optional cards
| UHD | HD | SD |
|---|---|---|
| 4:2:2 10-bit or 4:2:0 8 bit-HEVC | 4:2:2 10-bit or 4:2:0 8-bit MPEG-4 AVC or HEVC | 4:2:0 8-bit MPEG-2, MPEG-4 AVC or HEVC |
| 4:2:2 or 4:2:0 8-bit MPEG-2 | 4:2:2 8-bit MPEG-2 | |
| 4:2:2 10-bit or 8-bit JPEG-XS | 4:2:2 10-bit or 8-bit JPEG-XS | 4:2:2 10-bit or 8-bit JPEG-XS |
| 2160p 23.98, 24, 25, 29.97, 50 or 59.94 frame rates | 1080i25/29.97, 720p50/59.94, 1080p50/59.94 frame rate | 480i 29.97, 576i 25 |
The Essentials UI also introduces the **Channels API**. This API presents everything the device is doing as a number of _channels_, where one channel can cover the input, the processing, and the output of a single service. It is the API behind the Beam Essentials UI, and it runs on the device. For more information and user guides see: [Channels API guides](/beam/api-guides/how-to/channels/) ## Essentials and Advanced views The device UI is split into two views, available from a toggle in the top right corner of the header. - **Essentials**: day to day operations and monitoring. Channels are presented as a single unified concept, with live thumbnails and clear status. - **Advanced**: deeper engineering and service level configuration, exposing the underlying services, alarms, servers, and templates that power each channel. See [Advanced interface overview](/beam/web-interface) for Advanced view documentation. Both views operate on the same underlying system. Advanced gives full configuration access at the service level, while Essentials presents that configuration as unified channels. A device presents one or the other, never both. A device with the Essentials view manages workflows as _channels_, and a device without it manages them as _feeds_. If the documentation you are reading refers to feeds, you are in the wrong set of pages: see [Advanced interface overview](/beam/web-interface). ### Switch to the Advanced interface The **Essentials** and **Advanced** buttons sit together in the top right of the header, next to the help and account icons. The current view is the highlighted one. Select **Advanced** when you need something the Essentials view does not cover, such as reception and gateway configuration beyond the channel wizard, service level settings, servers, or templates. Select **Essentials** to come back. Both views act on the same device, so a change made in one is visible in the other. The first time you open the Essentials view, a welcome dialog introduces the interface, with links to a short video and to this documentation.  ## Dashboard Opening a device in the Essentials view displays the dashboard, showing every channel running on that device. ### Quick controls Below the header, the dashboard provides: - **View only alarmed**: a toggle that filters the dashboard to show only channels that currently have alarms. - **Filter**: a search field to filter the channel list by name. - **New channel**: opens the channel creation wizard. See [Create a channel](/beam/essentials/create-a-channel), or [Create a reception channel](/beam/essentials/create-a-reception-channel) for the **Reception (Decoding)** workflow.  ### Status panel In the top right of the dashboard, three summary metrics show the device's current load: **CPU Usage**, **Unit up-time**, and **Temperature**. A dash in place of a value means that reading is not available on this device. Below the summary metrics, a second panel identifies the device: **Software version** and **Installed hardware**.  ### Active alarms panel Below the status panel, the active alarms panel lists every active alarm across the device, sorted by alarm severity and recency. Each entry shows a timestamp, a severity badge, a title, and a description of the fault, usually including the affected service name. Severity levels are **Critical**, **Major**, and **Notice**. For a full breakdown of alarm types and how to configure alarm overrides, see [Manage alarms](/beam/system-admin/maintenance/manage-alarms). ### Channel cards The channel card grid is the main part of the dashboard. Each card represents a channel on the device and shows: - Its **On Air** or **Stopped** status, and a live video thumbnail when it is on air and healthy (a stopped or unhealthy channel shows **No thumbnail** instead). - Its **Video** parameters (resolution, codec, bitrate, and bit depth) and **Audio** parameters (codec, and mode and bitrate where applicable). - A signal diagram showing the input and output type for the channel, for example **SDI** into **UDP**, or **ASI** into **SDI**, connected by a line of status dots. When a channel has an active alarm, the card makes it clear: - The thumbnail area shows a severity badge, for example a red **Critical** badge. - The card background and the signal diagram dots turn red or orange to match the alarm severity.  ## View channel details Select a channel card to open its detail view. At the top of the page, you can see the channel name, its workflow label, and its status. - Select **Stop** to take the channel off air. - Select the three dot menu for additional actions. - Use the channel selector on the left to move to a different channel without returning to the dashboard. Below the video preview, **Input status** and **Output status** report the live condition of the channel: - **Input status** shows the input **Type** and **Status** (for example **Not receiving**), and **Service** identification. - **Output status** shows the output **Type**, and its **Video scaling** and **Dynamic range** settings. The active alarms panel on the right stays scoped to the selected channel, and shows **No alarm** when the channel is healthy.  ## Edit channel settings From a channel's detail view, use the three dot menu to open its settings. Each section lists the channel's current configuration, with an independent **Modify** button: - **Channel display name** - **Workflow**: the channel's type, for example **Reception (Decoding)**. - **Input**: input type, slot or port, and TS packet size. - **Audio**: configured audio tracks, with an **+ Add** button for adding another. - **Output**: output type, and slot or port.  # Create a channel The channel creation wizard configures a new channel and its underlying input, video, audio, and output settings from the Essentials dashboard. The wizard walks through the same pattern at every step: a step list on the left tracks your progress, and the form for the current step is on the right. The steps after **Input** depend on the workflow you choose. ### Start the wizard Select **New channel** from the dashboard. You can also start a new channel from within an existing channel's detail view. Choose **Create a channel** to configure a channel from scratch, or **Duplicate an existing channel** to base it on one that already exists. Enter a name for the channel and select **Next**.  ### Choose the workflow Select the workflow type for the channel, then select **Next**. On the device below, **Encoding (Streaming)**, **Encoding (Distribution)**, **Encoding (Contribution)**, and **Reception (Decoding)** can be selected. **Reception (Gateway)** appears greyed out, because it is not yet available. Availability depends on the device and its software version: the three encoding workflows need Beam `1.12.0` or higher, and **Reception (Decoding)** needs `1.13` or higher. A workflow the device cannot run appears greyed out. See [Contribution](/beam/contribution), [Reception](/beam/reception), and [Headends](/beam/headends) for the workflows behind each type. The workflow you choose determines the steps that follow, so the wizard is not the same length for every channel. A **Reception (Decoding)** channel decodes rather than encodes, so it replaces the encoding steps below with **Decrypt**, **Decoding**, and **Decoded Output**: see [Create a reception channel](/beam/essentials/create-a-reception-channel).  ### Select the input Choose the input type, for example **SDI**. If the input has multiple physical connections, choose the **Slot/Port** from the dropdown list, then select **Next**.  ### Configure video or encoding For an **Encoding (Streaming)** workflow, this next step is to configure our **Video** settings: Set the **Video Codec**, **Resolution**, **Frame rate**, and **Bitrate** for the rendition, then select **+ Add** to add further renditions. The MK.IO Beam Essentials UI requires Beam version
1.12.0or higher, and is only available for new customers or fresh Beam ISO installations.
Select **Next** once the video parameters are set. ### Configure audio Set the audio parameters: **Audio codec**, **Audio Group**, **Mode**, and **Bitrate**. Select the trash icon to remove a track, or **+ Add** to configure an additional one. In a video ladder, the audio you define here is automatically assigned to every rendition.  Select **Next**. ### Configure the output For an **Encoding (Streaming)** workflow, the output step is informational: it produces HLS-TS, HLS-fMP4, and DASH segmentation types, each with its own URL available after you create the channel. There are no fields to fill in here.  For **Encoding (Contribution)** and **Encoding (Distribution)** workflows, choose an output type such as **SRT**, **RF**, **IP**, or **ASI**, and enter its connection details. For the full set of Reliable Transport configuration options available outside the wizard, see [Reliable Transport](/beam/reliable-transport). Select **Next**. ### Review and create the channel Review the channel summary. It covers the channel name, workflow, and input, one entry per video rendition (or a single encoding entry outside the streaming workflow), the audio configuration, and the output. Select **Modify** next to a section to change those settings.  Select **Create channel**. ### Start the channel The new channel opens in its detail view. Select **Start** to take it on air, then return to the dashboard to see it in the channel card grid. # Create a reception channel A **Reception (Decoding)** channel receives a transport stream, optionally decrypts it, decodes the video and audio, and presents the result as baseband. Use it when content arrives over satellite, ASI, IP, or SRT and needs to come back out as SDI or SMPTE ST 2110.The channel creation wizard shows different options depending on the selected workflow. For example For Encoding (Contribution) and Encoding (Distribution) workflows, this step is called Encoding and configures a single set of video parameters rather than a ladder.
CautionReception channels are created in the same wizard as every other channel, so read [Create a channel](/beam/essentials/create-a-channel) first for the parts that do not change. This page covers only what is specific to **Reception (Decoding)**. The steps differ from an encoding channel because nothing is re-encoded. Instead of Encoding and Audio steps, the wizard shows **Decrypt**, **Decoding**, and **Decoded Output**: **Name** > **Workflow** > **Input** > **Decrypt** > **Decoding** > **Decoded Output** 1. **Choose the workflow** Select **Reception (Decoding)**, then choose an **Input resolution mode** of **UHD** or **SD/HD**. If the device has no SDI card configured for UHD, selecting **UHD** shows an **Update required** notice: "None of the SDI cards are configured to support UHD output. Please configure the card modes from the ASI/SDI Interface page." Use **Update** to go to that page, or choose **SD/HD** instead. **Reception (Gateway)** is greyed out, because it is not yet available.  Select **Next**. 2. **Select the input** Choose the transport the stream arrives on: **SRT** (Secure Reliable Transport), **IP**, **ASI** (Asynchronous Serial Interface), or **Satellite**. Choosing **SRT** reveals a second choice between **SRT Listener** and **SRT Caller**, and the connection fields for whichever you pick. For **SRT Listener**:Reception (Decoding) requires an MK.IO Beam device running version
1.13or higher.
| Field | Notes |
|---|---|
| Listener interface | The network interface on the device that accepts the connection. |
| Listener port | The port the device listens on, for example 3000. |
| Encryption | Defaults to None. |
| Latency | Defaults to 125 ms. |
| Field | Notes |
|---|---|
| Dynamic Range Conversion | None, or Convert to BT.709. |
| Video scaling | None, or a target such as 1080p. |
| Field | Notes |
|---|---|
| Destination IP address | Output stream unicast or multicast IPv4 address, for example 239.1.1.1. |
| Destination port | For example 5005. |
| Network interface | The interface the output leaves on. |
| Auto source port | Selected by default. Clear it to set the source port yourself. |
### OS Security All the products are software products running on Linux operating systems. To ensure the security of the solution MediaKind uses Nessus® vulnerability scanner tool to highlight any security risk. Based on the results, MediaKind regularly (every two months) propose “security packages” to secure the OS the MediaKind products are running on. Each security package will upgrade some of the libraries present on the OS to ensure products are using the secured version of these. Products are tested with these security packages installed to ensure their behavior with the latest libraries. OS should not be upgraded outside of these security packages. # MK.IO Beam for headends, high availability controller, distributed workers ## Live Broadcast use case The target of the Live Broadcast use case is to encode or transcode a set of incoming sources and multiplex them with optional encryption into an MPTS for distribution to end-users via traditional broadcast networks using digital terrestrial, satellite, or cable transmission.  In this configuration, Live Encoding receives the incoming sources, encodes or transcodes them into SPTS streams, and sends them to Multiplexing. Multiplexing receives the encoded streams and combines them to produce a DVB-compliant MPTS stream. ## Live Streaming use case The target of the Live Streaming use case is to encode or transcode a set of incoming sources and Package them in different ABR formats including HLS DASH and HSS.  In this configuration, Live Encoding receives the incoming sources, encodes or transcodes them into SPTS streams, these streams are Packaged into segments and manifests so that players can stream them adaptively over HTTP. Live Encoding and Packaging Services may be deployed to the same distributed server nodes, or separate server nodes with the choice dependent on the server node capacity. ## Live Stream Processing use case The target of the Live Streaming use case is to encode or transcode a set of incoming sources and dynamically substitute content in response to Time (POIS) or Signal (SCTE-35) based triggers.  In this configuration, Live Encoding receives the incoming sources, encodes or transcodes them into SPTS streams. Live Stream Processing dynamically substitutes content within a live MPEG-2 Transport Stream without decoding and re-encoding the video content from one source with content from another in response to SCTE-35 trigger signals or a schedule. Live Encoding, Viewing Policy Manager (VPM) Stream Conditioning (SC) and TS Splicer Services may be deployed to the same distributed server nodes, or separate server nodes with the choice dependent on the server node capacity. ## Redundancy ### N+M redundancy N+M redundancy is supported, where N is a collection of servers dedicated to active services and M is a smaller collection of servers that may be used for carrying some active services if some of the dedicated servers, or their dedicated sources, fail. #### Using Controller Failover groups for n+m redundancy MK Controller n+m redundancy is provided through "Failover Groups", this is accessible via the Controller Failover menu. Failover groups provide server or service level redundancy for Live Encoding, Packaging, Viewing Policy Manager, Stream Conditioning and TS Splicer services. From the Failover page: On adding a group, or editing an existing group the user is presented with options to specify a group with - Group name - a name which represents the purpose of the failover group. - Failover level: - Server - failover all services to a backup server, for a failover operation. - Service - failover just the affected services, to a backup server, for a failover operation. - Group Processing Type - The service types that are affected by a failover group, for the case when a worker Server hosts multiple service types. - Group failover mode: - Automatic - failover will be triggered on critical alarm. - Manual - failover is only triggered by user action. - Available servers - The collection of servers that may be used for Primary or Backup operation. - Primary Servers - The collection of servers which are dedicated as Primary servers for a failover group. These servers are those which are expected to be normally active and may not be used as a failover target server. - Backup Servers - The collection of servers which are dedicated as Backup servers for a failover group. These servers are expected to be normally inactive and available for uses solely as backup server(s). 1. The backup server(s) need(s) to be compatible with the services being used for failover, including network interface naming. 2. Following a failover operation, the “now” in-use backup server may not be used for any further failover operations. Clearing the fault condition on the origin server and then reverting the failed services back to the origin server will allow the backup server to be used for failovers from other servers. 3. Manual failover and revert, for an existing group, is exercised through the "Detail" Failover Actions icon. 4. Some Group Processing Type options include "(Dual Output)". This option is to be used with Live Encoding and TS Splicer Services, that have been configured for "Dual Output Prevention". The option's purpose is to reduce/avoid outage seen with failover operations, by starting the Service on the Backup server ahead of stopping it on Primary Server. (On confirming the service has started on the backup, a period of 3s will be waited for stabilisation, prior to stopping the service on the Primary server.) 5. Failover group processing type handling operates on a subset of processing types - any services of the type listed in the chosen "Group processing type" selection will be moved from nominated Primary to backup server(s). If chosen Group processing type list, has processing types which are not in use, these will be ignored during failover and reversion operations. ### 1+1 Redundancy 1+1 redundancy is supported, where two servers are used to host/carry the same active service(s). #### 1+1 Multiplexer service Active Active operation This mode is the default output handling for when two servers are assigned to the same Multiplexer service. When operating in this mode, the service will be transmitting/outputting on both Servers, it will be the responsibility of the downstream recipient to determine which server's Multiplexer output to use. It is recommended that multiple Outputs are defined, and the "Server filter" field is used to ensure that the outputs are unique for each server. \*_If using this mode of operation, consider disabling automatic Multiplexer server failover handling. This maintenance operation is detailed in the MediaKind High Availability Distributed MOP document, and should only be configured by a qualified person._ #### 1+1 Multiplexer service Active Standby operation This handling is enabled by selecting "IP Active/Standby" and/or "ASI Active/Standby" in the Multiplexer service configuration. When enabled and the service is started, both servers will carry the services in an active state, but they are not both actively outputting/transmitting over the configured IP or ASI output. One server is active and outputting/transmitting and the service on the other server will be in an active and synchronised, but standby state. On failure of the actively outputting/transmitting server, the service in standby mode on the other server will take over. #### 1+1 Live Encoding and TS Splicer dual output prevention operation MediaKind Live Encoding and TS Splicer services may be configured in such a way that multiple servers are assigned to the same service but only one Server will be actively outputting/transmitting. This feature is enabled by selecting "Dual Output prevention" in the Live Encoding and TS Splicer services General tab and then detailing parameters for the communication between the servers assigned for the same service. When enabled and the service is started, both servers will carry the services in an active state, but only a single server will be outputting/transmitting. This setting may be used in conjunction with the "Dual Output" Failover group processing type options, to allow the service to be started on the backup server, ahead of stopping it on the Primary server. The effect being to reduce outages during failover operations. ### Packager redundancy considerations In addition to standard Packager service configuration, ensure that the Live Encoding Output(s) include Publishing points for all Backup and 1+1 partner servers, as well as the Primary Server. Two servers running MK.IO Beam for headends can be configured as a server pair, which offers various redundancy options with the options being chosen depending on the desired system behavior. ## Chain redundancy Chain redundancy provides simplified server-level redundancy.  Chain redundancy is appropriate for 1+1 server use cases where: - There is no benefit to “meshing” the Encoding Live services from one server to another, to provide additional/secondary redundant sources to each multiplexer within the server pair. - When inter-chassis network bandwidth is limited. ## Mesh redundancy Mesh redundancy provides optimal service-level combined with server-level redundancy.  Mesh redundancy is appropriate for 1+1 server cases where: - Service-level redundancy is required/beneficial. For example, with SDI sources where a single SDI feed could be lost/damaged and switching just one service is required. - The inter-network infrastructure can carry all traffic between the server pair providing redundant sources, i.e. there is adequate network bandwidth. With mesh redundancy it is necessary to use the externally visible interfaces for all service outputs which are to be meshed between single server partners. Mesh source redundancy between Live Encoding services and Multiplexer services is achieved by offering the Live Encoding sources of one server as an additional set of sources to the other. The above diagram shows that both Multiplexers within the pair are outputting (aka Active/Active). Active/Standby is also supported. # MK.IO Beam for headends, single server A single server installation of MK.IO Beam can provide limited redundancy through redundant/multiple outputs of a Live Encoding service, offering a pair of sources to a Multiplexer service, which in turn can offer redundant multiple transport stream outputs.  Reliable Transport services can optionally be used to provide services for ingress to the solution, or egress from the solution. ## Input ### Compressed input - **Type:** IP (IGMPv3-based redundancy and dual multicast redundancy), Dual source redundancy (active/active & active/passive modes), Pro-MPEG FEC support - **Monitoring:** Packet loss statistics - **Protocol:** MPEG-2 TS (MPTS & SPTS), RTMP - **Codec:** JPEG-XS, MPEG-2, H.264, HEVC – MPEG-1 LII, Dolby Digital (AC-3), Dolby Digital Plus (E-AC3), AAC, HEAAC v1 and v2, Dolby E (baseband input only), Dolby Digital Plus ATMOS - **Data rate:** SD / HD up to 50 Mbps, UHD up to 80 Mbps #### Reliable transport - **SRT and RIST input/output:** - Carriage of UDP or RTP streams over the SRT protocol - SRT listener or caller mode - RIST sender mode - RIST listener mode - **Zixi input/output** - Zixi sender - Zixi feeder or Zixi Receiver mode ### Baseband inputThis user management can be connected to an LDAP service for better integration in your system.
- **SDI:** 3G / HD / SD-SDI (max 16 per server) - **SDI over IP (SMPTE ST 2022-6)** - **SMPTE ST 2110** - SMPTE ST 2110-20 uncompressed video up to UHD resolution, - SMPTE ST 2110-30/31: uncompressed audio, - SMPTE ST 2110-40: data (VITC/Time code, AFD/BAR, Closed captioning, OP-47 Teletext, SMPTE 2031 Teletext), - All SMPTE ST 2110 essences can be input as ST 2022-7 - NMOS IS-04 and NMOS IS-05 support ## Pre-processing ### Enhancement filters - **Video:** De-interlacing, Cropping, Letter boxing, Stretching, SD and HD Cross-scaling, 3:2 Pull down, MCTF, Deblocking filter, Spatial denoising filter, Cross Talk filter, Sharpening, Diamond filter - **Audio:** Automatic loudness control (A/85), Audio gain adjustment, Mute ### Image - **Image settings:** Brightness, Contrast, Saturation, Hue, Gamma, Temperature - **Image overlays:** Image insertion on input loss - **Aspect ratio:** WSS, AFD, Video index ## Metadata - **Subtitles passthrough and translation:** EIA 608/708 Closed Caption, SCTE-20, DVB Teletext, DVB Subtitles, SCTE-27, ARIB B24 - **Metadata:** SCTE-104, SCTE-35, IA 608 / 708 Closed Caption, SCTE-20, DVB Teletext, DVB-VBI, SCTE-27, OP47, SMPTE 2031, VITC , SMPTE 2038, ARIB B24 - **Streaming subtitles** - Closed Captions: WebVTT for HLS, DFXP for HSS, WebVTT or SMPTE-TT for DASH - DVB-Teletext page 888: WebVTT for HLS, DFXP for HSS, WebVTT or SMPTE-TT for DASH - DVB-Subtitles: DFXP for HSS, SMPTE-TT for DASH - **Ad insertion:** EBIF / EISS / AITSCTE-35 passthrough - **Nielsen:** Watermark extraction for multi-screen devices ## Video encoding - **Video codec:** HEVC Main 10, HEVC Main Profile, H.264 Baseline / Main / High profile, MPEG-2 - **HDR:** HDR10, HLG10, PQ10. Dolby Vision 8.1 & 5.0 - **Rate control:** CBR, VBR, constant video quality - **Data rate:** From 100 kbps to 60 Mbps - **Resolutions:** - Progressive: from QCIF to UHD, up to 60 fps - Interlaced: 480i, 576i, 720i and 1080i - **Templates:** Channel templates creation and management ## Audio encoding - **Audio encoding:** MPEG-4 / MPEG-2 AAC, AAC 5.1, HE-AAC v1 & v2, HE-AAC 5.1 1, Dolby Digital (AC3), Dolby Digital Plus (E-AC3), Dolby Digital Plus ATMOS - **Audio channels per service:** Up to 8 stereo pairs. Radio channels. - **Passthrough:** MPEG 1 LII, Dolby Digital (AC-3), Dolby Digital Plus (E-AC3) 5.1-ch or stereo, Dolby E, Dolby Digital Plus ATMOS - **Data rate:** From 4.75 kbps to 320 kbps (from 64 to 1024 kbps for DD+) ## Multiplexing ### Processing - Full re-multiplexing support including real-time PSI regeneration, and dynamic rules-based passthrough of descriptors - PID re-mapping - SI/PSI generation/re-generation and insertion from external source - Statistical multiplexing bit rate allocation for MediaKind software encoder - Bitrate policing - Input Content Extraction ### Content protection - DVB-CSA V1, V2 scrambling - AES-128 scrambling - BISS Mode 0, 1, 2 ## Broadcast output ### Output type and format - Adaptive TS / MPEG-2 TS (ALD, EBP, IDR or RAP-based signal) - SPTS over UDP ### Transmission - Multicast / Unicast, UDP, RTP ## Streaming output ### Formatting - Apple HTTP Live Streaming (Over CMAF or TS), Microsoft Smooth Streaming, DASH - Common CMAF segment delivery for HLS and DASH - Low latency chunking support for DASH - RTMP ### Multi audio - Multiple audio streams per output for HLS, Smooth Streaming and DASH ### Content protection - Microsoft PlayReady DRM support for HLS/TS, Smooth Streaming and DASH - Apple Segment for HLS/TS - FairPlay support for HLS/TS and HLS/CMAF - Adobe Primetime Access support HLS/TS - Widevine, PlayReady and Marlin support in CTR mode for DASH - Widevine and PlayReady support in CBC mode for DASH - Key provisioning interface to leading CAS & DRM vendors ### Content publishing - Support for pull scenarios in just-in-time packaging - Support publishing to local storage or to WebDAV servers ### Origin server - Built-in live and VOD origin server for HLS, Smooth Streaming and DASH - Custom HTTP headers management (Expiry settings, CORS headers…) - Built-in support of HTTP 1.1 Chunked Transfer Encoding for Low Latency ### CDN - Interfaces to leading CDNs - Certified with Akamai MSL 4 for HLS and DASH ## Monitoring & control - **Control interface:** Up to 2 IP ports, monitoring and control ports (primary and spare) through API & GUI - **Control and system protocols:** REST, HTTP, NTP, FTP, IGMP v2 / v3, SNMP v2 / 3c - **Content replacement:** SCTE-35 in-band / ESAM out-of-band. Triggers: Time signal, Splice-out / Splice-in, Alternate command, or manually triggered from GUI. - **High availability:** Support both 1+1 and N+M redundancy schemes. Service synchronization on encoder and packager ## Infrastructure - **Servers:** MediaKind-referenced hardware IT Datacenter based on COTS servers - **CPU:** Intel, AMD # Video and Audio Encoding A **live encoder** compresses uncompressed baseband video and audio into a lower-bitrate encoded format suitable for contribution, broadcast distribution, or streaming. MK.IO Beam's Live Encoding converts live video feeds into streams for internet, IP, and broadcast delivery. You configure encoding settings, output profiles, and delivery targets through the MK.IO Beam interface, without managing the underlying processing pipeline. The diagram below shows the functional blocks from input to output:  _Live Encoder: functional view_ ## Processing stages **Input:** The encoder receives and ingests the video signal. Several input types are supported, including SDI for HD and UHD workflows and IP transport streams. **Decoding:** The input can be optionally decoded using a range of audio and video codecs before processing. **Pre-processing:** After decoding, a range of pre-processing functions can be applied to improve signal quality or adapt the video before encoding. **Video and audio encoding:** The video and audio are encoded. Audio pass-through is also supported, meaning audio can be forwarded without re-encoding. **Media composing:** A specific input mode for content operations. You can schedule, start, and stop blackout, logo insertion, crawler insertion, switching to an alternate live input, or switching to a TS playlist. **Post-processing:** After encoding, additional post-processing features are available, including SCTE-35 and SCTE-104 signalling for content replacement and advertising. **Output:** The encoder produces an MPEG-2 Transport Stream over IP, in either CBR or adaptive bitrate modes. FEC (Forward Error Correction) and redundant IP outputs are also supported. ## Rate control and statistical multiplexing MK.IO Beam's Live Encoder uses a leaky bucket rate control model, which defines the constraints on bitrate variation that a decoder can handle. See [Leaky bucket concept](/beam/live-encoder/leaky-bucket) for an explanation of how this works. For headend workflows, Live Encoder services can participate in statistical multiplexing (statmux) as slave services under a Multiplexer master. The Multiplexer dynamically adjusts each encoder's bitrate allocation based on scene complexity across the pool, improving overall quality within a fixed output bandwidth. See [Advanced rate control](/beam/live-encoder/rate-control) for details. ## Common use cases - Contribution encoding: compressing live video for transport from a field location to a production facility. - Headend encoding: producing compressed channels for multiplexing and distribution over cable, IPTV, or satellite. - OTT encoding: producing streams for adaptive bitrate packaging and delivery. To create your first Live Encoding service, see [Create a Live Encoding service](/beam/live-encoder/create-service). # Configure the service general parameters ## Configure general parameters 1. When creating a new service, you can: - Specify its name and optionally the template that will be used to create this new service - Activate the hardware acceleration (Intel QSV) - Define the network interface used for ESAM out-of-band messages - Define the SCTE-104 network interface used for SCTE-104 out-of-band messagesOptional hardware required
2. You can activate automation mode and [configure the associated parameters](/beam/live-encoder/parameters/general) (see Technical Note _"Automation for scheduled blackout"_). 3. You can activate the synchronization between two services by ticking the corresponding checkbox (see [Synchronize two services](/beam/live-encoder/configure#synchronize-two-services) and [Split one OTT service on the same server](/beam/live-encoder/configure#split-one-ott-service-on-the-same-server). New parameters are displayed. Enter the appropriate value for each parameter. 4. You can activate the [dual output prevention](/beam/live-encoder/configure#configure-dual-output-prevention) 5. You can define variants: **Redundancy** for 1+1 redundancy (i.e. primary and secondary) and **Subsets**. These variants will be used in output streams to synchronize streams or to distribute the streams across multiple servers. ## Configure clock synchronization By default, the Program Clock Reference (PCR) used in the encoder is locked to the input clock available in the source. As an alternative, Live Encoder can use the external NTP clockSee General parameters for more details.
External SDI Genlock clock is only visible if you set the advanced parameter
enableExternalGenlockClocktotrue.
To synchronize the PCR to the external NTP clock, follow these steps: 1. From the **General** tab, go to the **Clock synchronization** section. 2. In the **Program Clock Reference (PCR)**, select either **External NTP clock** or **External SDI Genlock clock** from the drop-down menu. 3. Select a **Save** option to save changes. ## Synchronize two services Before you start, ensure the two services are identical, same address and same port. To synchronize two services and achieve the 1+1 redundancy, follow these steps: 1. From the **General** tab, go to the **Services synchronization** section then tick the **Activate** checkbox. Parameters related to the synchronization are displayed. 2. You can edit the [synchronization parameters](/beam/live-encoder/parameters/general#synchronization-of-services). 3. From the **Output** tab, click `Edit` icon to edit the output parameters. 4. In the **General parameters** section, tick the **Synchronize** checkbox. The synchronization is automatically activated in the output, but you can deactivate it (see [Output parameters](/beam/live-encoder/parameters/output#general-mpeg-2-ts-parameters)). 5. Select a **Save** option to save changes. ## Split one OTT service on the same server Before you start: ensure the two services are identical, same address and same port. On SG1-based systems, there are multiple GPUs. In some instances, it can be necessary to create a large ABR ladder that cannot fit on a single GPU. To split an OTT service on the same server, follow these steps: 1. From the **General** tab, define two (or more) QSV services and assign each to a different **QSV Device**. 2. For both services, go to the **Service synchronization** section then tick the **Activate** checkbox. Parameters related to the synchronization are displayed. 3. Edit an identical configuration for both services (see [Synchronize two services](/beam/live-encoder/configure#synchronize-two-services)). 1. Enter a memorable identifier for the **Pool name** (in our example, **SG1**). 2. Select a **Network interface** that can be used for the communication multicast then enter a multicast address and port.  4. In the **Input** tab, configure both services to ingest the same source. 5. In the **Encoding** tab, ensure that all encoders have matching **GOP settings**. 6. Ensure that all the output multicasts are on different address/port combinations. 7. In the **Output** tab, click `Edit` icon to edit the output parameters then from the 8. In the **General parameters** section, tick the **Synchronize** checkbox. The synchronization is automatically activated in the output, but you can deactivate it (see [Output parameters](/beam/live-encoder/parameters/output#general-mpeg-2-ts-parameters)). 9. Select a **Save** option to save changes. ## Configure dual-output prevention The dual output prevention feature allows the operator to prevent from duplicate media multicast on the same network, especially in the case of active/active encoders. This feature is based on the Multicast Guard Protocol (MGP) according to the following principles: - Point-to-point communication between both encoders using multicast messages on a dedicated port. - Both encoders constantly check that one and ONLY one encoder has its output enabled. When using the external NTP, it is not possible to enable the service synchronization feature (see Synchronize two services).
Benefits for the operator are: - Remove network multicast conflicts - Protect against management communication loss - Near-seamless switching during manual failover To configure dual-output prevention, follow these steps: 1. On the first encoder, click the **General** tab then go to the **Dual output prevention** section and tick the **Activate** checkbox. Parameters related to the dual output prevention are displayed. 2. You can edit the dual output prevention parameters:By default, the first encoder that starts has its output enabled, but you can force the output status via the API.
| Parameter | Description |
|---|---|
| Network interface | Name of the network interface used to communicate between the two encoders. |
| Address | Multicast address used to communicate between the two encoders. |
| Port | Port used to communicate between the two encoders. |
| Group name | Group name that identifies the pair of encoders for which dual output prevention is managed. |
3. Repeat steps #1 to #3 on the second encoder. 4. Select a **Save** option to save changes. 5. You can go to the **Statistics** > **Outputs** to view the encoder status (enabled/disabled).  **See also**\ [Dual-output prevention parameters](/beam/live-encoder/parameters/general#dual-output-prevention) ## Create server variants There are two types of server variants: - variants based on redundancy: primary and secondary - variants based on a defined subset Once created, these variants can be used to synchronize streams or to distribute the streams across multiple servers. ### Create redundancy variants To create redundancy variants, follow these steps: 1. From the **General** tab, go to the **Server variant configuration** section. 2. Tick the **Activate** checkbox. Primary and secondary variants are automatically created. 3. Click `Edit` icon to edit the [**Server tags**](/beam/live-encoder/parameters/general#redundancy). ### Create subset variants To create subset variants, follow these steps: 1. From the **General** tab, go to the **Variants** section. 2. In the **Subset** subsection, click **Add**. A new window is displayed. 3. Enter a subset **Name**, for example **SD** or **HD** and **Server tags** (see [Server variant parameters](/beam/live-encoder/parameters/general#subset)). 4. Click **Ok** to save. 5. You can use these subsets to synchronize streams or to distribute the streams across multiple servers (see [Link an output stream to a predefined subset](/beam/live-encoder/configure/output/configure-output#link-an-output-stream-to-a-predefined-subset). # Configure advanced parameters To add advanced parameters, follow these steps: 1. From the **Advanced parameters** tab, enter a parameter name then enter its value. 2. You can click the **Add** button to add additional advanced parameters. 3. Click **Save and continue** or **Save and exit** to save your changes. # Configure the general encoding parameters Before configuring the input stream general parameters, you must select the export type.\ Select either **IP TV** or **Internet TV**. ``` - The main purpose of **IP TV** is interlaced encoding, dedicated to TV (Progressive encoding is also a configuration to leverage true motion feature). - Codec presets are different between **Internet TV** and **IP TV** export types. Video quality is better with IP TV. We use closed GOP for chunking in Internet TV and open GOP in IP TV. These are the 3 main differences. - Video, audio and metadata parameters and values may differ depending on the selected export type. ``` { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure the audio encoding parameters Audio encoding parameters are only available if you defined an audio input from the **Input** tab. 1. Click **Add** to create a new audio encoding, or click `Edit` icon to edit an existing one. The **Encoding audio** window displays. 2. Select your audio **Codec** in the drop-down list. Depending on the selected audio codec, different parameters may display.These parameters must be the same for both encoders.
3. Enter the appropriate value for [audio encoding parameters](/beam/live-encoder/parameters/encoding/audio). 4. Click **Save and continue** or **Save and exit** to save your changes. { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure blackout ## Configure an automated blackout Live Encoder can blackout a program on SCTE-35 trigger and replace the video with a still image.\ SCTE-35 metadata can be: - either [in-band](/beam/live-encoder/configure/input/inband-metadata) - or [out-of-band](/beam/live-encoder/configure/input/outofband-metadata) Before you start: ensure you have configured the SCTE-35 metadata in the input stream. To create a scheduled blackout, follow these steps: ### Configure the metadata encoding ``` 1. From the **Encoding** tab, go to the **Metadata encoding** section. 2. For each SCTE-35 metadata, click `Edit` icon in the **Actions** column then set the **Codec** to **Conditioning**. 3. Click **Ok** to validate. ``` ### Configure the blackout encoding ``` 1. Go to the **Blackout configuration** section. 2. Click **Add** then configure a blackout configuration by selecting and setting the adequate [blackout parameters](../../parameters/encoding/blackout).  3. Click **Ok** to validate. ``` ### Configure the video encoding ``` 1. Go to the **Video encoding** section. 2. For each video stream, select the associated [**Stream Conditioning** and **Blackout**](../../parameters/encoding/video#general-parameters) configuration.  3. Click **Ok** to validate. ``` ### Configure the audio encoding ``` 1. Go to the **Audio encoding** section. 2. For each audio stream, select the associated [**Blackout**](/beam/live-encoder/parameters/encoding/audio#mpeg-1-layer-ii-dolby-digital-dolby-digital-plus-aac-he-aac-he-aac-v2-parameters) configuration.  3. Click **Ok** to validate. ``` ### Configure the subtitle encoding ``` 1. Go to the **Subtitle encoding** section. 2. For each subtitle stream, select the associated [**Blackout**](../../parameters/encoding/subtitle#general-parameters) configuration.  3. Click **Ok** to validate. ``` ### Check that blackout is present in the output ``` Open the **Output** tab to ensure that blackout is present in the output.  *Example of output with blackout configured* ``` ### Activate blackout. You can [Manually activate or deactivate a blackout](/beam/live-encoder/configure/encoding/blackout-encoding#manually-activate-or-deactivate-a-blackout). ## Configure a manual blackout To configure a manual blackout, follow these steps: ### Activate ESAM From the **General** tab, set the **ESAM server network interface** to activate ESAM. ### Create an SCTE-35 out-of-band input stream Go to the **Input** > **Sources** > **Out-of-band streams** section to create an SCTE-35 out-of-band input stream. ```  ``` ### Configure the metadata encoding ``` 1. From the **Encoding** tab, go to the **Metadata encoding** section. 2. Next to your SCTE-35 metadata, click the edit button, `Edit` icon in the **Actions** column then set the **Codec** to **Conditioning**.  3. Click **OK** to validate. ``` ### Configure the blackout encoding ``` 1. Go to the **Blackout configuration** section. 2. Click **Add** then configure a blackout configuration by selecting and setting the adequate **[blackout parameters](../../parameters/encoding/blackout).**  3. Click **OK** to validate. ``` ### Configure the video encoding ``` 1. Go to the **Video encoding** section. 2. For each video stream, click `Edit` icon to select the associated [**Stream Conditioning** and **Blackout**](../../parameters/encoding/video#general-parameters) settings.  *Example of configuration for Stream Conditioning and Blackout parameters* 3. Click **OK** to validate. ``` ### Check that blackout is present in the output Open the **Output** tab to ensure that blackout is present in the output. ```  *Example of output with blackout configured* ``` ### Save Return to the list of services, or edit any parameters then save. ### Check statistics 1. From the list of services, click `Chart` icon to view statistics. 2. Ensure that blackout configurations display as expected in the **Monitoring** section of the **Statistics** page.  ### Activate blackout You can [Manually activate or deactivate a blackout](/beam/live-encoder/configure/encoding/blackout-encoding#manually-activate-or-deactivate-a-blackout). ## Configure a scheduled blackout Creating a scheduled blackout is a 4-step process: 1. [Create a scheduled blackout configuration](/beam/live-encoder/configure/encoding/blackout-encoding#create-a-scheduled-blackout-configuration). 2. [Apply a blackout configuration to video encodings](/beam/live-encoder/configure/encoding/blackout-encoding#apply-a-blackout-configuration-to-video-encodings). 3. [Apply a blackout configuration to audio encodings](/beam/live-encoder/configure/encoding/blackout-encoding#apply-a-blackout-configuration-to-audio-encodings). 4. [Check blackout configurations](/beam/live-encoder/configure/encoding/blackout-encoding#check-blackout-configurations). ### Create a scheduled blackout configuration Live Encoder can blackout a program and replace the video with a still image.\ You must first create the blackout configuration, then configure to apply to video encodings. Before you start, ensure that: - A **Metadata input stream** must exist. - Metadata processing is set to **Conditioning** in **Metadata encoding** parameters.Pass-Through lets you receive an already encoded stream and forward it to the output.
1. Display services. 2. Click `Edit` icon to edit the service. 3. Click the **Encoding** tab to display encoding options. 4. Scroll to **Blackout configuration** and click **+Add** to display parameters. The **Blackout configuration** options display.Audio plays during blackout, unless you configure the blackout to mute audio.
5. Configure the parameters, then click **Ok** to save. Blackout configurations display in the list (see image below). You can create multiple blackout configurations for a single service.
```  ``` 6\. Use the save options to save configurations. 7. Apply the blackout configuration to a [video](/beam/live-encoder/configure/encoding/blackout-encoding#apply-a-blackout-configuration-to-video-encodings) and/or [audio](/beam/live-encoder/configure/encoding/blackout-encoding#apply-a-blackout-configuration-to-audio-encodings) encoding. ### Apply a blackout configuration to video encodings You can apply a blackout configuration per video encoding. Before you start: ensure that you created at least one blackout configuration.If no SCTE-35 Input options display in the list, then reconfigure inputs.
1. Display services. 2. Click `Edit` icon to edit the service. 3. Open the **Encoding** tab, then click `Edit` icon to edit the video stream. 4. Select the blackout option. All previously created blackout configurations display. 5. Check that the applied Blackout option displays for video encodings.  6. [Apply the blackout configuration to audio](/beam/live-encoder/configure/encoding/blackout-encoding#apply-a-blackout-configuration-to-audio-encodings) streams. 7. [Add encodings to output](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). 8. Use the save options to save configurations. 9. Ensure that [Blackout configurations are configured and applied](/beam/live-encoder/configure/encoding/blackout-encoding#check-blackout-configurations) as expected. ### Apply a blackout configuration to audio encodings You can apply a blackout configuration per audio encoding. before you start, ensure that you have created at least one blackout configuration.Blackout is not supported in Pass-through.
1. Display services. 2. Click `Edit` icon to edit the service. 3. Open the **Encoding** tab, then click `Edit` icon to edit the audio stream, or **Add** a stream. 4. Click **Blackout** to display the list of previously created blackout configurations, then select a blackout configuration to apply.  5. Click **OK** to save. 6. Check that audio encodings display in the list with the blackout tag displayed.  7. [Add encodings to output](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). ### Check blackout configurations Blackout configurations are first created, then applied to video and/or audio encodings. The encodings are then configured in an output stream. Check the overviews to ensure that blackouts are configured and applied. 1. Display services. 2. Click `Edit` icon to edit the service. 3. Open the **Encoding** tab and ensure that any expected blackout configurations display in the list.  4. Check video and audio encodings to ensure that blackout configurations are applied as expected. 5. Open the **Output** tab to ensure expected video and audio encodings display in the list.  6. Return to the list of services, or edit any parameters and then save. 7. From the list of services, click `Chart` icon to view statistics. 8. Ensure that blackout configurations display as expected in the **Statistics** page.  ### Activate blackout You can [Manually activate or deactivate a blackout](/beam/live-encoder/configure/encoding/blackout-encoding#manually-activate-or-deactivate-a-blackout). ## Manually activate or deactivate a blackout Once you have configured a [manual](/beam/live-encoder/configure/encoding/blackout-encoding#configure-a-manual-blackout) or an [automated blackout](/beam/live-encoder/configure/encoding/blackout-encoding#configure-an-automated-blackout) and started a service, you can manually activate or deactivate it.Blackout is not supported in Pass-through.
 ``` 1. Display statistics on [**Outputs**](../../monitor-statistics).  2. Click the **Activate Blackout** button. A message informs you that the command has been sent. 3. Click **OK**. The current video is blacked out until the specified **Timeout** \(if configured\); or by clicking the **Deactivate Blackout** button. ``` { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure logo insertion 1. From the **Encoding** tab, go to the **Logo insertion** section. 2. Tick the **Activate** checkbox. New [parameters](/beam/live-encoder/parameters/encoding/logo-insertion) are displayed. 3. Enter and/or select the appropriate value for each parameter. 4. Click **Save and continue** or **Save and exit** to save your changes. { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure metadata encoding Before you start: ensure you have defined metadata encoding parameters (see [Configure in-band metadata input stream](/beam/live-encoder/configure/input/inband-metadata) or [Configure out-of-band metadata input stream](/beam/live-encoder/configure/input/outofband-metadata)). 1. From the **Encoding** tab, go to the **Metadata encoding** section. 2. Metadata created from the **Input** tab has been already automatically created. You can click `Edit` icon to edit an existing one or click **Add** to create a new metadata encoding configuration. The **Encoded metadata selection** window displays. 3. Select the **Codec** to define how metadata is processed.Manual blackout activation/deactivation is only available if Trigger parameter is set to spliceOutSpliceIn.
| Metadata input type | Possible values for Codec |
|---|---|
| SCTE-35 SCTE-35 OOB Cuetones |
Pass-through or Conditioning - Select Pass-through to forward SCTE-35 information in dedicated output metadata track without video conditioning. For Automation ( Clock icon), metadata must be Pass-through.- Conditioning allows video stream conditioning and lets you define a POIS server. It can also be used in Blackout. |
| AIT EBIF EISS |
Pass-through |
| SMPTE-2038 | Pass-through, Timecode ID3, or Tissot clock metadata ID3 In Pass-through mode, you can specify the Max Bitrate on output. If the bitrate target is exceeded, an alarm is raised. The Tissot metadata present in the SMPTE-2038 stream contains several game metadata (shot clock, scores, team names,…) sent individually in distinct PES packets. To ensure that the Tissot metadata is available for the clients/players, Live Encoder carries them into one ID3 stream (see Convert SMPTE 2038 to ID3). |
To convert SMPTE 2038 to ID3, follow these steps: 1. From the **Input** tab, [configure the SMPTE 2038 in-band metadata in the input stream](/beam/live-encoder/configure/input/inband-metadata). 2. Go to the **Encoding** tab and check that **Export type** is set to **Internet TV**. 3. Go to the **Metadata encoding** section to add and configure the subtitle encoding: - Click the **Add** button then set the **Codec** to **Timecode ID3**, set **Origin** to **LTC** and enter the **Period** (in ms).  - Click **OK** to validate. 4. Add the video stream related to the output. 1. From the **Output** tab, go o the **Output streams** section, then click either the **Add** button (if no stream has been selected) or the edit button, `Edit` icon in the **Actions** column. 2. Select the video stream that you configured in Step #3.  3. Click **OK** to validate. You should see the selected streams in the list of output streams. 5. Click **Save and exit** to save and finalize your service configuration and go back to the **Services** page. 6. [Assign a server to run the service](/beam/web-interface/services#assign-a-server-to-run-the-service). 7. Click `Chart` icon to display service details and monitor the service: - **Media info** tab shows the SMPTE-30 metadata at input.  - **Output** tab shows ID-3 metadata at output.  { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # SCTE-104/IP out-of-band metadata Live Encoder supports out-of-band conditioning via SCTE-104/IP, on the same principle as ESAM. - Live Encoder can receive conditioning triggers from an external server, using SCTE-104 over IP messages. - Once received, SCTE-104 messages are decoded, sent to the targeted channel (based on DPI PID index) and converted in SCTE-35 in order to enable stream conditioning actions.  _SCTE-104 out-of-band IP conditioning_ ## Configure SCTE-104/IP out-of-band metadata Before you start, ensure that [you have added and configured the SCTE-104/IP out-of-band metadata in the input stream](/beam/live-encoder/configure/input/outofband-metadata#configure-scte-104ip-out-of-band-metadata-input-stream). Configuring SCTE-104/IP out-of-band metadata requires multiple steps: ### Configure the metadata encoding ``` 1. From the **Encoding** tab, go to the **Metadata encoding** section. 2. For each SCTE-104/IP metadata, click `Edit` icon in the **Actions** column then set the **Codec** to **Conditioning**.  3. Click **Ok** to validate. ``` ### Configure the video encoding ``` 1. Go to the **Video encoding** section. 2. For each video stream, select the associated [**Stream Conditioning**](/beam/live-encoder/configure/encoding).  *Example of video configuration* 3. Click **Ok** to validate. ``` ### Add the SCTE-35 conditioned stream related to the SCTE-104/IP to the output ``` 1. Go to the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or `Edit` icon in the **Actions** column. 3. For each video stream, tick the associated [**Stream Conditioning**](/beam/live-encoder/configure/encoding).  4. Click **Ok** to validate. You should see the selected streams in the list of output streams. ``` # Configure subtitle burn-in You can burn DVB or Teletext subtitles into the video stream. You must have defined one or more DVB or Teletext subtitle(s) (see [Configure input subtitle selection](/beam/live-encoder/configure/input/subtitle)). 1. From the **Encoding** tab, go to the **Subtitle burn-in configuration** section. 2. Click **Add** to create a new subtitle burn-in configuration or click `Edit` icon to edit an existing one. The **Subtitle burn-in configuration** window is displayed. 3. In the **input** value, select the DVB or Teletext subtitle(s) that you previously created from the **Input** tab. 4. Configure the video encoding: 1. For each video stream, click `Edit` icon then go to the **Subtitle settings** section and select a subtitle burn-in that you just created.  2. Click **OK** to validate. 5. Click **Save and continue** to save your modifications and go to another tab. 6. [Add subtitle(s) to output stream(s)](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). # Configure subtitle encoding Before you start: ensure you have configured a [subtitle input stream](/beam/live-encoder/configure/input/subtitle). 1. From the **Encoding** tab, go to the **Subtitle encoding** section. 2. Click **Add** to create a new subtitle processing configuration or click `Edit` icon to edit an existing one. The **Subtitles encoding** window displays. 3. Select the **Codec** to define how metadata is processed: - **Pass-through** - **DVB-Subtitles** - **DVB-Teletext** - **Closed caption CEA 608** (only valid with both IP TV export type and 25i/50p to 29.97i/59.94p frame rate conversion) - **DVB-TTML** (only valid with Internet TV export type) - **DASHIF-TTML** (only valid with Internet TV export type)This feature is only available with Internet TV export type.
4. Depending on the selected codec, [specific parameters](/beam/live-encoder/parameters/encoding/subtitle) must be configured. 5. Click **Save and continue** or **Save and exit** to save your changes. 6. Add the conditioned metadata to the output stream (see [Define the output stream composition](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition)). ## Convert Teletext to Closed Caption To convert Teletext to Closed Caption, follow these steps: ### Add input subtile From the **Input** tab, go to the **Sources** > **Input streams selection** > **Subtitle ID** section then [Configure input subtitle selection](/beam/live-encoder/configure/input/subtitle) by setting the **Type** to **Teletext**. ### Check Video adjustment Go to the **Media processing** tab then go to the **Video processing** > **Video adjustment** section and check that **Frame rate conversion** is set to **25i/50p to 29.97i/59.94p**. ### Check export type Go to the **Encoding** tab then check that **Export type** is set to **IPTV**. ### Configure subtitle encoding Go to the **Metadata encoding** section to add and configure the subtitle encoding: 1. Click the **Add** button then set the **Codec** to **Closed caption CEA 608**. 2. Click the **Add** button then specify the input teletext**Magazine**, the **Page** and the destination CEA 608 **Field**.  3. Click **OK** to validate. ### Configure subtitle encoding Go to the **Video encoding** section to configure the video encoding. 1. Go to the **Video encoding** > **Stream metadata setting** section. 2. Tick the **Closed caption** checkbox then in the **Closed caption stream**, select the stream created in Step #5.  3. Click **OK** to validate. ### Add the video stream related to the output 1. Go to the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or `Edit` icon in the **Actions** column. 3. Select the video stream that you configured in Step #6 that includes the closed caption.  4. Click **OK** to validate. You should see the selected streams in the list of output streams. ## Convert Teletext to TTML To convert Teletext to TTML, follow these steps: ### Add input subtile 1. From the **Input** tab, go to the **Sources** > **Input streams selection** > **Subtitle ID** section and [Configure input subtitle selection](/beam/live-encoder/parameters/input/subtitle) by setting the **Type** to **Teletext**. ### Check export type 2. Check that **Export type** is set to **Internet TV**. ### Configure the subtitle encoding 1. Click the **Encoding** tab then go to the **Subtitle encoding** section. Teletext subtitle has been added to the **Encoding** tab. By default **Codec** is set to **Pass-through**. 2. Click `Edit` icon to edit the subtitle encoding. 3. Select the codec used to convert the subtitles, **DVB-TTML**. A new window let you configure the [TTML parameters](/beam/live-encoder/parameters/encoding/subtitle#dvb-ttml-with-teletext-subtitles-input). 4. Click **Ok** once done. You should get the following:  ### Add the subtitle stream to the output 1. Click the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or the edit button, `Edit` icon in the **Actions** column. 3. Tick the subtitle stream that you configured in the previous step. 4. Click **OK** to validate. You should see the selected streams in the list of output streams.  ## Convert ARIB B24 to DVB-TeletextPossible values depend on subtitle type.
To convert ARIB B24 subtitles to Teletext, follow these steps: ### Add an ARIB B24 subtitle at the input 1. From the **Input** tab, go to the **Sources** > **Input streams selection** > **Subtitle ID** section. 2. Click **Add** then set the **Type** to **ARIB B24** and enter either the **PID** or **Language** of the subtitle. You should get the following:  ### Configure the subtitle encoding 1. Click the **Encoding** tab then go to the **Subtitle encoding** section. ARIB B24 subtitle has been added to the **Encoding** tab. By default **Codec** is set to **Pass-through**. 2. Click `Edit` icon to edit the subtitle encoding. 3. Select the codec used to convert the subtitles, **DVB-Teletext**. You should get the following:  ### Add the subtitle stream to the output 1. Click the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or the edit button, `Edit` icon in the **Actions** column. 3. Tick the subtitle stream that you configured in the previous step. 4. Click **OK** to validate. You should see the selected streams in the list of output streams.  ### Check that ARIB B24 subtitles are present ``` . You can check that ARIB B24 subtitles are present in the input by displaying statistics.  . You can check that ARIB B24 subtitles are present in the output by opening the output stream in a player. ``` ## Convert CEA-608/708 Closed Captions to TTML for DASH output To convert CEA-608/708 Closed Captions to TTML, follow these steps: ### Add input subtile 1. From the **Input** tab, go to the **Sources** > **Input streams selection** > **Subtitle ID** section and [Configure input subtitle selection](/beam/live-encoder/parameters/input/subtitle) by setting the **Type** to **CEA-608/CEA-708 Closed Captions**. ### Check export type 2. Check that **Export type** is set to **Internet TV**. ### Configure the subtitle encoding 1. Click the **Encoding** tab then go to the **Subtitle encoding** section. 2. Click **Add**. A new window let you configure the subtitle parameters. 3. Select the codec used to convert the subtitles, **DVB-TTML** or **DASHIF-TTML** then configure the [DVB-TTML](/beam/live-encoder/parameters/encoding/subtitle#dvb-ttml-with-cea-608cea-708-closed-captions-input) or [DASHIF-TTML](/beam/live-encoder/parameters/encoding/subtitle#dashif-ttml-with-cea-608cea-708-closed-captions-input). 4. Click **Ok** once done. ### Add the subtitle stream to the output 1. Click the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or the edit button, `Edit` icon in the **Actions** column. 3. Tick the subtitle stream that you configured in the previous step. 4. Click **OK** to validate. You should see the selected streams in the list of output streams. ## Convert ARIB B24 to DVB-TeletextOnly available with MPEG-2 TS/UDP input type (or MediaComposer with MPEG-2 TS/UDP source only).
To convert ARIB B24 subtitles to Teletext, follow these steps: ### Add an ARIB B24 subtitle at the input 1. From the **Input** tab, go to the **Sources** > **Input streams selection** > **Subtitle ID** section. 2. Click **Add** then set the **Type** to **ARIB B24** and enter either the **PID** or **Language** of the subtitle. You should get the following:  ### Configure the subtitle encoding 1. Click the **Encoding** tab then go to the **Subtitle encoding** section. ARIB B24 subtitle has been added to the **Encoding** tab. By default **Codec** is set to **Pass-through**. 2. Click `Edit` icon to edit the subtitle encoding. 3. Select the codec used to convert the subtitles, **DVB-Teletext**. You should get the following:  ### Add the subtitle stream to the output 1. Click the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or the edit button, `Edit` icon in the **Actions** column. 3. Tick the subtitle stream that you configured in the previous step. 4. Click **OK** to validate. You should see the selected streams in the list of output streams.  ### Check that ARIB B24 subtitles are present ``` . You can check that ARIB B24 subtitles are present in the input by displaying statistics.  . You can check that ARIB B24 subtitles are present in the output by opening the output stream in a player. ``` ## Convert DVB-Sub to DVB-Teletext using OCROnly available with MPEG-2 TS/UDP input type (or MediaComposer with MPEG-2 TS/UDP source only).
To convert DVB-Subtitles to DVB-Teletext, follow these steps: ### Add a DVB subtitle at the input 1. From the **Input** tab, go to the **Sources** > **Input streams selection** > **Subtitle ID** section. 2. Click **Add** then set the **Type** to **DVB-Subtitles** and enter either the **PID** or **Language** of the subtitle. You should get the following:  ### Configure the subtitle encoding 1. Click the **Encoding** tab then go to the **Subtitle encoding** section. DVB subtitle has been added to the list of subtitles. By default **Codec** is set to **Pass-through**. 2. Click `Edit` icon to edit the subtitle encoding.This feature relies on an open-source OCR (Optical Character Recognition) engine that extracts printed or written text from images. Once converted to Text, the subtitles are converted to DVB-Teletext.
3. Select the codec used to convert the subtitles, **DVB-Teletext**. You should get the following:  ### Add the subtitle stream to the output 1. Click the **Output** tab. 2. Go to the **Output streams** section, then click either the **Add** button (if no stream has been selected) or the edit button, `Edit` icon in the **Actions** column. 3. Tick the subtitle stream that you configured in the previous step. 4. Click **OK** to validate. You should see the selected streams in the list of output streams.  ### Check the average OCR confidence You can display statistics to check the average OCR confidence (in the range 0-100) on the last converted subtitle. ### Check that DVB subtitles are present You can check that DVB subtitles are present in the output by opening the output stream in a player. { /\* TODO: update links (especially Chunk) once MD files are created \*/} # Configure the video encoding parameters To configure the video encoding parameters, follow these steps: 1. From the **Encoding** tab, go to the **Video encoding** section. 2. Click the **Add** button to create a video profile or click `Edit` icon in the **Actions** column to configure an existing profile. 3. Enter the appropriate value for [**Video encoding**](/beam/live-encoder/parameters/encoding/video) parameters. 4. If you selected Statmux rate control, expand the [**Statmux advanced settings**](/beam/live-encoder/parameters/encoding/video#statmux-advanced-parameters) section then enter the appropriate value for each parameter. 5. Expand the [**Codec settings**](/beam/live-encoder/parameters/encoding/video#codec-settings) section then enter the appropriate value for each parameter. 6. Expand the [**Video processing**](/beam/live-encoder/parameters/encoding/video#video-processing) section then enter the appropriate value for each parameter. 7. Expand the [**GOP settings**](/beam/live-encoder/parameters/encoding/video#gop-settings) section then enter the appropriate value for each parameter. 8. Expand the [**Aspect ratio**](/beam/live-encoder/parameters/encoding/video#aspect-ratio) section then enter the appropriate value for each parameter. 9. Expand the [**Stream metadata settings**](/beam/live-encoder/parameters/encoding/video#stream-metadata-settings) section then enter the appropriate value for each parameter. 10. Expand the [**Subtitle settings**](/beam/live-encoder/parameters/encoding/video#subtitle-settings) section then enter the appropriate value for each parameter. 11. Cick **Ok** to validate. 12. You can create a [child encoding](/beam/live-encoder/configure/encoding/video-encoding#create-a-child-encoding-factorization). 13. You can configure [HDR signaling conversion (HEVC)](/beam/live-encoder/configure/encoding/video-encoding#configure-hdr-signaling-conversion-hevc). 14. Click **Save and continue** or **Save and exit** to save your changes. ## Create a child encoding (factorization) MediaKind Live Encoder can factorize the encoding of ABR profiles that have the same resolution and frame rate: processing for parent and child encodings is mutualized to optimize CPU usage. Before you start: ensure you have created a video encoding stream. This main video stream will be considered as parent. To create a child video encoding, follow these steps: 1. Select the parent video stream you want to factorize. 2. Click `Fork` icon in the **Actions** column to create and configure a child encoding with the corresponding [target bit rate](/beam/live-encoder/parameters/encoding/video#general-parameters).Usually, there is no need to set the Forced language field because the language is directly retrieved from the input DVB Subtitles. If the language is not set or is wrong in the input DVB subtitle descriptor, it can be set by the "Forced language" field.
 3. Click **Save and continue** or **Save and exit** to save your changes. ## Configure HDR signaling conversion (HEVC) You can configure HDR signaling conversion in the encoding options, or choose to keep the initial input ‘as is’ using the **Follow input** option. 1. From the **Video encoding** section, click **Add** to create and configure a new video stream or click `Edit` icon to edit an existing video stream. 2. Set the video codec to **HEVC main 10 bits**. 3. Expand the **Codec settings** section. 4. Configure the [**Dynamic range mode**](/beam/live-encoder/parameters/encoding/video#codec-settings) depending on your conversion requirements.  5. Click **Ok** to validate. The **Encoding** page is displayed. 6. Click **Save and continue** or **Save and exit** to save your changes. ## Align EBP acquisition time on timecodesChild stream bitrates must be more than half of the parent bitrate.
This feature allows aligning wallclock time in the output segments. A typical use case is when you have several live channels with feeds coming from distinct cameras. The use of the Timecode for the EBP acquisition time allows the end-user player to switch to the closest segment when switching from one live channel to another. To configure a service, follow these steps: 1. Create an Internet TV service named **wallClock**. 2. Go to the **Advanced parameters** tab, then click **Add** an enter the following parameters:This feature is only available with advanced parameters.
| Parameter name | Description | Value |
|---|---|---|
videoSynchronizer.alignEbpAcquisitionTimeOnTimecodes |
Activates this feature. | Set to true |
videoSynchronizer.alignEbpAcquisitionTimeOnTimecodes.margin |
Margin in seconds | Default value is 10 |
# Configure the input 1. From the **services** page, click `Edit` icon to edit the service. The **General parameters** display. 2. Select **Input** tab to display parameters. 3. Enter the appropriate value for each [parameter](/beam/live-encoder/parameters/input/general).An alarm can be raised if the UTC Timecode cannot be aligned on the EBP Timecodes, either because there are no Timecodes or because the offset is larger than the margin.
4. You can [configure the source error management](/beam/live-encoder/configure/input/source-error-management). 5. [Configure source(s)](/beam/live-encoder/configure/input/input-stream-source): the primary source and optionally the secondary source. 6. Select a **Save** option to save changes. { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure the audio input stream 1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select **Input** tab to display parameters. 4. Go to the **Sources** > **Input streams selection** > **Audio ID** section then click **Add** to configure a new audio stream or click `Edit` icon to edit an existing one. 5. Enter the appropriate value for each [audio stream parameter](/beam/live-encoder/parameters/input/video-and-audio#audio).Parameters may differ depending on the selected input type, especially SDI or SMPTE ST 2110 that have a limited number of parameters.
6. Click **Ok**. The audio input is added to the list of audio inputs. 7. Click **Save and continue** or **Save and exit** to save your changes. { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure cross stream prevention 1. From the **Input** tab, go to the **Cross stream prevention** section then click the **Add** button. The **Metadata selection** window displays. 2. Enter the **Stream ID** and optionally the **Period** (see [Cross stream prevention parameters](/beam/live-encoder/parameters/input/cross-stream-prevention)). 3. Click **Ok** to save settings and return to the service edition options. The Cross-stream prevention metadata stream is added to the list. 4. Save your settings to continue or click **Exit** to quit without saving. 5. You can add the metadata to the output stream (see [Define the output stream composition](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition)). { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure in-band metadata in input stream To configure in-band metadata input stream, follow these step:Parameters differ depending on the selected input type.
1. From the **Input** tab, go to the **Input streams selection** > **Metadata ID** section then click the **Add** button. The **Metadata selection** window displays.  2. Select a [**Type**](/beam/live-encoder/parameters/input/metadata#in-band-metadata).  3. Enter or select the following information depending on the selected type: 1. Enter a [**PID**](/beam/live-encoder/parameters/input/metadata#in-band-metadata). 2. If you selected **SCTE-35** type, you can apply a **Delay**. 3. If you selected **Cuetones** type, select the audio source that you previously created. 4. Click **Ok** to save. - The in-band metadata stream is added to the list of metadata. - The in-band metadata is automatically added to the **Encoding** tab. 5. Click **Save and continue** or **Save and exit** to save your changes. { /\* TODO: Transition? Are the two next items necessary? \*/ } - You can [configure the metadata encoding](/beam/live-encoder/configure/encoding/metadata-encoding). - You can [add the metadata to the output stream](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure stream source(s) in input stream You can configure two multicast sources. To configure a first source, complete the parameters in the **Primary** tab. If you want to configure a second source, you just have to click the **Add** button in the top right corner then complete the parameters in the **Secondary** tab.In our example, we consider that you have selected an MPEG-2 TS input.
1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select **Input** tab to display parameters. 4. Go to the **Sources** section then enter and/or select the appropriate values for each [input source](/beam/live-encoder/parameters/input/source). 5. Depending on the input type, you can add: - [video input(s)](/beam/live-encoder/configure/input/video-stream) - [audio input(s)](/beam/live-encoder/configure/input/audio-stream) - [subtitles input(s)](/beam/live-encoder/configure/input/subtitle), - [VANC data input(s)](/beam/live-encoder/configure/input/vanc-data) _(SMPTE ST 2110 input only)_ - [in-band metadata input(s)](/beam/live-encoder/configure/input/inband-metadata) - [out-of-band metadata](/beam/live-encoder/configure/input/outofband-metadata) - [cross stream prevention](/beam/live-encoder/configure/input/cross-stream-prevention) 6. Click **Save and continue** or **Save and exit** to save your changes. ## Configure an SDI/IP redundancy You can configure two SDI/IP input sources to allow the management of losses on the input of the encoder. The redundancy works in active/passive mode. On primary input signal loss, the secondary input is used as source, if the backup input is lost, the primary input switches back to the primary source. To activate the redundancy, follow these steps: 1. Set the input type to **SDI/IP**. 2. Set the timeout before switching, [Input loss timeout](/beam/live-encoder/parameters/input/general). 3. Complete the [parameters](/beam/live-encoder/parameters/input/source#sdiip) in the **Primary** and **Secondary** tabs: - Network interface - Stream address - Protocol - IGMPv3 source filtering ## Configure SMPTE ST 2110 inputFor more information on SDI/IP redundancy, see Configure an SDI/IP redundancy.
You can create SMPTE® ST 2110 input to ingest a source that is compliant with the SMPTE ST 2110 specification.\ You can optionally configure the input to use SMPTE ST 2022-7 (see [Configure SMPTE ST 2110 input with ST 2022-7 redundancy](/beam/live-encoder/configure/input/input-stream-source#configure-smpte-st-2110-input-with-st-2022-7-redundancy)). You can configure the SMPTE ST 2110 input either: - [by specifying an SDP file](/beam/live-encoder/configure/input/input-stream-source#configure-an-smpte-st-2110-input-with-sdp-files) that contains information about the SMPTE ST 2110 content, - or [by configuring the input to use NMOS IS-04 and IS-05](/beam/live-encoder/configure/input/input-stream-source#configure-an-smpte-st-2110-input-with-nmos) to provide that information. ## Configure an SMPTE ST 2110 input with SDP files When configuring a service with ST 2110 input, every input stream must contain an SDP File location. To configure an SMPTE ST 2110 input with SDP files, follow these steps: ### Create a service ### Configure the input parameters ``` 1. From the **Input** tab, set the **Type** to **SMPTE ST 2110**. 2. Leave the **Input redundancy** to **None**. 3. Complete the parameters in the **Primary** tab: - **Network interface** - Video input: enter a unique **SDP file location** for both sources and a different **Index** for each source. Both primary and secondary sources share a common SDP file but each source has a different index to select a stream within that SDP file. - Audio input: enter a unique **SDP file location** for both sources and a different **Index** for each source, then leave other fields unchanged. - VANC input: enter a unique **SDP file location** for both sources and a different **Index** for each source to add video metadata such as Closed Captions, Subtitles or SCTE-104. ``` ### Configure video encoding parameters ``` 1. Click the **Encoding** tab. 2. In the **Video encoding** section, click **Add** then go to the **Subtitle settings** section and tick the **Closed caption** checkbox. 3. Leave the other parameters unchanged. 4. Click **Ok** to validate. ``` ### Configure audio encoding parameters ``` 1. In the **Audio encoding** section, click **Add** then set the codec to **MPEG-1 Layer II**. 2. Leave the other parameters unchanged. 3. Click **Ok** to validate. ``` ### Configure the subtitle encoding parameters for path-throughWe recommend using the Mellanox ConnectX6 card to ingest SMPTE ST 2110 streams in Live Encoder. Without this card the ST 2110 is limited (no PTP support, no ST 2022-7 support, lower density, no UHD, audio level A only).
``` 1. If you want the Teletext subtitles to be passed-through, in the **Audio encoding** section, click **Add** then set the codec to **Pass-through**. 2. Select **Initial Teletext page** then enter **Language**. **Magazine** and **Page**. 3. Select **Teletext subtitle page** then enter **Language**, **Magazine** and **Page**.  *Example of subtitle encoding configuration Pass-through* 4. Click **Ok** to validate. ``` ### Configure the subtitle encoding parameters for DVB conversionIf you added Teletext subtitles as VANC data input, you need to configure the Subtitle encoding section.
``` 1. If you want the Teletext subtitles to be converted to BVB, in the **Audio encoding** section, click **Add** then set the codec to **DVB Subtitles**. 2. Enter **Magazine** and **Page**.  *Example of subtitle encoding configuration (DVB)* 4. Click **Ok** to validate. ``` ### Configure output parameters ``` 1. Click the **Output** tab then click the **Add an output** button. 2. Go to the **Output streams** section then click **Add**. 3. Enter the **IP address** and **Port**, then tick the video, audio and optionally VANC stream checkboxes. 4. Click **Ok**. ``` ### Save Click **Save and exit** to save your service configuration and go back to the **Services** page. ## Configure an SMPTE ST 2110 input with NMOS Before you start: - You need to provide an NMOS Registration and Discovery Server (RDS) that is NMOS IS-04 compliant, and an NMOS Client, which will interact with the NMOS RDS and NMOS Nodes. - NMOS IS-04 supports different modes of operation for the NMOS Node discovery, Live Encoder mandates discovery using Registered mode with multicast operation. When configuring a service with NMOS, the SDP file for each input stream is supplied by the NMOS Client, this means that you no longer need to specify the SDP file location. To configure an SMPTE ST 2110 input with NMOS, follow these steps: ### Create a service ### Configure the input parameters ``` 1. From the **Input** tab, set the **Type** to **SMPTE ST 2110**. 2. Leave the **Input redundancy** to **None**. 3. Tick the **NMOS enabled** checkbox. 3. Complete the parameters in the **Primary** tab: - **Network interface** - SDP files are greyed for each input stream since this information is supplied by the NMOS Client. ``` ### [Configure the video encoding parameters](/beam/live-encoder/configure/encoding/video-encoding) ### [Configure the audio encoding parameters](/beam/live-encoder/configure/encoding/audio-encoding) ### [Configure the output parameters](/beam/live-encoder/configure/output/configure-output) ### Save Click **Save and exit** to save your service configuration and go back to the **Services** page. ``` - The **Stats** \> **Monitoring** tab will display **NMOS Configured** when the NMOS **Enabled** checkbox is ticked. - In the **Stats** \> **Monitoring** tab, if the SDP file is available, you can click the `Download` icon button next to the **Download SDP file** row to download and view the content of the SDP file, otherwise **Not available** will be displayed and download will not be available. - Upon first start of the service, each input stream will have an alarm raised indicating “waiting for NMOS” that will be cleared once the NMOS client has configured each input stream.If you added Teletext subtitles as VANC data input, you need to configure the Subtitle encoding section.
``` ## Configure SMPTE ST 2110 input with ST 2022-7 redundancy The SMPTE ST 2022-7 standard specifies a form of input redundancy that aims at providing a resiliency against data loss at the IP packet level when two identical streams are received. When one stream loses a packet, the receiver picks out the lost data from the other stream. Senders may transmit duplicated streams by using the mechanisms of separate destination addresses or separate source addresses. This use case is an example of how to configure SMPTE ST 2110 input with ST 2022-7 redundancy. ### Create a service ### Configure the input parameters ``` 1. From the **Input** tab, set the **Type** to **SMPTE ST 2110**. 2. Set the **Input redundancy** to **SMPTE ST 2022-7**. 3. You can set the **Max Skew** which is the maximum expected delay (in ms) between the two sources. 3. Click **Add** to add a secondary source. e. Complete the parameters in the **Primary** and **Secondary** tabs: - **Network interface** - Video input: enter a unique **SDP file location** for both sources and a different **Index** for each source. **Note:** Both primary and secondary sources share a common SDP file but each source has a different index to select a stream within that SDP file. - Audio input: enter a unique **SDP file location** for both sources and a different **Index** for each source, then leave other fields unchanged. - VANC input: enter a unique **SDP file location** for both sources and a different **Index** for each source to add video metadata such as Closed Captions and SCTE-104. ``` ### Configure video encoding parameters ``` 1. Click the **Encoding** tab. 2. In the **Video encoding** section, click **Add** then go to the **Subtitle settings** section and tick the **Closed caption** checkbox. 3. Leave the other parameters unchanged. 3. Click **Ok** to validate. ``` ### Configure audio encoding parameters ``` 1. In the **Audio encoding** section, click **Add** then set the codec to **MPEG-1 Layer II**. Leave the other parameters unchanged. 2. Leave the other parameters unchanged. 3. Click **Ok** to validate. ``` ### Configure output parameters ``` 1. Click the **Output** tab then click the **Add an output** button. 2. Go to the **Output streams** section then click **Add**. 3. Enter the **IP address** and **Port**, then tick the video and audio stream checkboxes. 3. Click **Ok**. ``` ### Save Click **Save and exit** to save your service configuration and go back to the **Services** page. **Related information**\ [SMTPE ST 2110 parameters](/beam/live-encoder/parameters/input/source#smtpe-st-2110) ## SMPTE ST 2110 SDP fileThe state is retained across restarts of the service.
SDP file example: ```shell v=0 o=- 1443716955 1443716955 IN IP4 192.168.61.19 s=emsfp-a0-9b-b8 1-0-0 t=0 0 m=video 60020 RTP/AVP 96 c=IN IP4 239.0.2.22/64 a=source-filter: incl IN IP4 239.0.2.22 172.23.240.105 a=rtpmap:96 raw/90000 a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; exactframerate=30000/1001; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; SSN=ST2110-20:2017; TP=2110TPN; interlace; a=mediaclk:direct=0 a=ts-refclk:ptp=IEEE1588-2008:b8-59-9f-ff-fe-60-ff-c8:0 ``` ### ST 2022-7 configurationThe SDP file must conform to the Session Description Protocol as defined in Section 8 of the SMPTE ST 2110-10-2017 specification.
SDP file example: ```shell v=0 o=- 123456 2 IN IP4 192.168.1.2 s=SMPTE ST2022-7 DUP streams t=0 0 a=recvonly a=group:DUP primary secondary m=video 50020 RTP/AVP 96 c=IN IP4 224.1.1.1/64 a=source-filter: incl IN IP4 224.1.1.1 192.168.1.2 a=rtpmap:96 raw/90000 a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; exactframerate=25; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; TP=2110TPN; SSN=ST2110-20:2017 a=ts-refclk:ptp=IEEE1588-2008:39-A7-94-FF-FE-07-CB-D0:127 a=mediaclk:direct=0 a=mid:primary m=video 50020 RTP/AVP 96 c=IN IP4 224.2.1.2/64 a=source-filter: incl IN IP4 224.2.1.2 192.168.1.2 a=rtpmap:96 raw/90000 a=fmtp:96 sampling=YCbCr-4:2:2; width=1920; height=1080; exactframerate=25; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; TP=2110TPN; SSN=ST2110-20:2017 a=ts-refclk:ptp=IEEE1588-2008:39-A7-94-FF-FE-07-CB-D0:127 a=mediaclk:direct=0 a=mid:secondary ``` ### Multi-channel audio For multi-channel audio, the SDP file can specify how audio channels are grouped. SDP file example: ```shell a=fmtp:97 channel-order=SMPTE2110.(ST,ST,ST,ST) - 4 Stereo pairs a=fmtp:97 channel-order=SMPTE2110.(51,ST) - 5.1 (6 channels) plus a stereo pair a=fmtp:97 channel-order=SMPTE2110.(M,M,DM,ST,ST) - mono, mono, dual mono, stereo, stereo ``` { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure out-of-band metadata in input stream There are different types of out-of-band metadata: - The ESAM out-of-band signal interface allows an external module (typically a POIS) to send splice information to Live Encoder. The splice information is used by MediaKind Live Encoder to generate SCTE-35 signals and/or ad markers in the output. - The SCTE-104/IP out-of-band interface allows an external server to send SCTE-104 over IP messages to Live Encoder that converts them in SCTE-35 to enable stream conditioning actions. - The ID3 out-of-band allows extracting the Nielsen watermark from the input audio stream, translate it to ID3 tags and output it enabling the monitoring of the audience of each channel distributed over the Internet. To configure out-of-band metadata input stream, follow these steps:The SDP file may specify duplicate RTP streams that are compliant to ST 2022-7, as defined in Section 8 of the ST2110-10-2017 specification.
1. From the **Input** tab, go to the **Metadata** section then click the **Add** button. The **Metadata selection** window displays. 2. Select a [**Type**](/beam/live-encoder/parameters/input/metadata#out-of-band-metadata).  _Example of configuration for SCTE-35 OOB metadata_In our example, we consider that you have selected an MPEG-2 TS input type.
3. Enter the appropriate values for the following [parameter](/beam/live-encoder/parameters/input/metadata#scte-35-oob): { /\* NEEDS REVISION. The following seems to apply only to SCTE-35 OOB although these steps are not specific to SCTE-35 OOB \*/} - **Network name** - **Zone identity** - **ESAM server network interface** 4. Click **Ok** to save settings and return to the service edition options. The metadata stream is added to the list.SCTE-35 OOB can be used for automation (
Clockicon) or when there is no SCTE-35 in the input.
5. Save your settings to continue or click **Exit** to quit without saving. 6. You can [configure the metadata encoding](/beam/live-encoder/configure/encoding/metadata-encoding) and [add the metadata to the output stream](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). For ESAM out-of-band, the POIS should perform an HTTP POST request to the following URL: `http://If you selected SCTE-35 OOB metadata, Live Encoder ESAM out-of-band signal interface is now accessible from
http://<controller.ip>:8080/api/esam/LiveEncodings/<network_name>.
## Configure SCTE-35 out-of-band metadata input stream To configure SCTE-35 out-of-band metadata input stream, follow these steps:
- The body of the HTTP request should be an XML document containing a
SignalProcessingNotificationelement as defined in the CableLabs Real-time Event Signaling and Management (ESAM) API (OC-SP-ESAM-API-I03-131025).
- The
acquisitionPointIdentityattribute of theSignalProcessingNotificationelement and/or theResponseSignalelement should match the Network name parameter.- If the
ResponseSignalcontains anAlternateContentelement to trigger alternate content switching, thezoneIdentityattribute of theAlternateContentelement should match the Zone identity parameter.
1. From the **Input** tab, go to the **Out-of-band streams** section then click the **Add** button. The **Metadata selection** window displays. 2. Set the [**Type**](/beam/live-encoder/parameters/input/metadata#out-of-band-metadata) to **SCTE-35 OOB**.  _Example of configuration for SCTE-35 OOB metadata_In our example, we consider that you have selected an MPEG-2 TS input.
3. Enter the appropriate value for the following [parameters](/beam/live-encoder/parameters/input/metadata#scte-35-oob): - **Network name** - **Zone identity** - **ESAM server network interface** 4. Click **Ok** to save settings and return to the service edition options. The metadata stream is added to the list.SCTE-35 OOB can be used for automation (
Clockicon ) or when there is no SCTE-35 in the input.
5. Save your settings to continue or click **Exit** to quit without saving. 6. You can [configure the metadata encoding](/beam/live-encoder/configure/encoding/metadata-encoding) and [add the metadata to the output stream](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). **Related information**\ [Configure blackout](/beam/live-encoder/configure/encoding/blackout-encoding) ## Configure SCTE-104/IP out-of-band metadata input stream To configure SCTE-104/IP out-of-band metadata input stream, follow these steps:If you selected SCTE-35 OOB metadata, Live Encoder ESAM out-of-band signal interface is now accessible from:
http://<controller.ip>:8080/api/esam/LiveEncodings/<network_name>.
1. From the **Input** tab, go to the **Out-of-band streams** section, click the **Add** button. **Metadata selection** window displays. 2. Set the [**Type**](/beam/live-encoder/parameters/input/metadata#out-of-band-metadata) to **SCTE-104 / IP OOB**.  _Example of configuration for SCTE-104/IP out-of-band metadata_ 3. Enter the appropriate value for the following [parameters](/beam/live-encoder/parameters/input/metadata#scte-104ip-oob): - **DPI PID index** - **SCTE-104 server network interface** (if not already configured in the **General** tab). 4. Click **Ok** to save settings and return to the service edition options. The metadata stream is added to the list. 5. Save your settings to continue or click **Exit** to quit without saving. 6. You can [configure the metadata encoding](/beam/live-encoder/configure/encoding/metadata-encoding) and [add the metadata to the output stream](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). # Configure source error management You can configure the encoder behavior in case of source error management. You can : - [Activate the switch on ES data loss](/beam/live-encoder/configure/input/source-error-management#configure-switch-on-es-data-loss) to backup the source if video or audio input is lost. - [Configure a slate (replacement image)](/beam/live-encoder/configure/input/source-error-management#configure-a-slate) that will be displayed if the input is not detected at start. - [Activate the fast recovery](/beam/live-encoder/configure/input/source-error-management#configure-fast-recovery) to recover the signal faster. ## Configure switch on ES data loss You can activate the **Switch on ES data loss** to backup the source if video or audio input is lost. In case of video or audio input loss of both sources, the option selected with frame freeze management applies (see [Configuring the video prefiltering](/beam/live-encoder/parameters/input/source-error-management)).In our example, we consider that you have selected an MPEG-2 TS input.
1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select the **Input** tab to display parameters. 4. In the **Source error management** section, tick the **Switch on ES data loss** check box. 5. Under **Delay**, specify the time before switching to the backup source when loss of video or audio occurs. See [Input - Source error management](/beam/live-encoder/configure/input/source-error-management). ## Configure a slate You can specify a slate (replacement image) that will be displayed if the input is not detected. 1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select **Input** tab to display parameters. 4. In the **Source Error Management** section, tick the **Slate if no source at start** check box.Works both in Active/Active and in Active/Passive redundancy mode.
5. Select the **Default frame rate** for this slate. ## Configure fast recovery The **Fast recovery** option is activated by dafault. - When checked, the encoder will process the access units as soon as possible to recover the signal faster, though temporary macroblocks may appear. - When unchecked, the encoder will wait for the closest random access point (RAP), prioritizing video quality over signal recovery speed. 1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select **Input** tab to display parameters. 4. In the **Source Error Management** section, tick or untick the **Fast recovery** check box depending on your needs. { /\* TODO: update links (especially Chunk) once MD files are created \*/} # Configure subtitle in input stream To configure the input stream subtitle parameters, follow these steps: 1. Display Services. 2. Click `Edit` icon to edit the service. 3. From the **Input** tab, scroll to **Input stream selection** > **Subtitle ID** and click **Add**. 4. [Set Subtitles options](/beam/live-encoder/parameters/input/subtitle), then click **OK** to save. Subtitles are automatically added to the **Encoding** tab in pass-through only. - You can [configure subtitle encoding parameters](/beam/live-encoder/configure/encoding/subtitles-encoding). - You can [configure subtitle burn-in](/beam/live-encoder/configure/encoding/subtitle-burnin-encoding). - You can [add subtitles to output streams](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure VANC in input stream To configure a VANC data input stream, follow these steps:The image displayed is the same as the one configured for Media Processing > Video Processing > Freeze Frame Management section.
1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select **Input** tab. 4. Set the input type to **SMPTE ST 2110**. 5. Go to the **Sources** > **Input streams selection** > **VANC ID** section then click **Add** to configure the VANC data selection or click `Edit` icon to modify an existing one. 6. Enter the appropriate value for each \[VANC data parameter]\(./parameters/input#VANC data parameter). 7. Click **OK**. The ANC data input is added to the list of VANC data inputs. 8. Click **Save and continue** or **Save and exit** to save your changes. { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure video in input stream To select a video stream, follow these steps: 1. Display services. 2. Click `Edit` icon to edit the service. The **General parameters** display. 3. Select the **Input** tab. 4. Go to the **Sources** > **Input streams selection** > **Video ID** section, then enter the appropriate value for each [video stream parameter](/beam/live-encoder/parameters/input/video-and-audio#video): - **Video PID** (PID is only configurable if **Input synchronization mode** is set to **PidLocked** mode.) - **Decoding capability** - In case of **SMPTE ST 2110** input type, **Stream Index** and **SDP File Location**. 5. In [IPTV export type](/beam/live-encoder/configure/encoding), you can delete the video input to get an audio-only service. 6. Click **Save and continue** or **Save and exit** to save your changes. - [Configure video processing](/beam/live-encoder/configure/media-processing/video-processing) - [Configure audio processing](/beam/live-encoder/configure/media-processing/audio-processing) - [True Motion](/beam/live-encoder/configure/media-processing/true-motion): Use True Motion to convert interlaced video to progressive video with motion-compensated de-interlacing and frame rate doubling for OTT delivery. { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Configure the audio processing parameters To configure the audio processing parameters, follow these steps: 1. From the **Media Processing** tab, go to the **Audio processing** section. The audio processing parameters are displayed for each audio input. 2. Select the audio tab stream you want to configure then \[set the appropriate value for each parameter]. 3. You can [configure **Watermarking**](/beam/live-encoder/configure/media-processing/audio-processing#audio-watermarking). 4. You can [configure **DTMF extraction**](/beam/live-encoder/configure/media-processing/audio-processing#dtmf-extraction). 5. You can configure \[**Signal loss management replacement sound**]). 6. Click **Save and continue** or **Save and exit** to save your changes. ## Audio watermarking To configure audio watermarking, follow these steps: 1. From the **Media Processing** > **Audio processing** tab, go to the **Watermarking** section. 2. Select the watermarking type you want to activate by clicking `Edit` icon. 3. Activate **Insertion** and/or **Extraction** by ticking **Enable**. 4. [Set the appropriate value for each parameter](/beam/live-encoder/parameters/media-processing/audio-processing#watermarking). 5. Click **Ok** to validate. 6. Click **Save and continue** or **Save and exit** to save your changes. ## DTMF extraction To configure DTMF extraction, follow these steps: ### Create service Create a Live Encoding service. ### Configure the input parameters ``` 1. From the **Input** tab, set the **Type** to **MPEG-2 TS/UDP**. 2. Enter the primary source parameters: - **Network interface** - **Stream address** and **Port** 3. Click **Ok** to validate. 4. Go to the **Input streams selection** \> **Audio ID** section then click **Add** to define the audio stream. Enter the **PID** of the audio track with cue tones. You should get the following:  5. Click **Ok** to validate. 6. Go to the **Metadata ID** section then click **Add** to define the metadata stream. - Set **Type** to **Cuetones**. - Select the audio input stream you just configured as **Source**. You should get the following:  7. Click **Ok** to validate. ``` 3\. From the **Media Processing** > **Audio processing** tab, go to the **Cue Tones** section. The **Extract DTMF** checkbox should already be checked to enable DTMF extraction and cue tones detection. You can keep the default parameters. ```  ``` ### Configure the encoding parameters ``` 1. Go to the **Encoding** tab. 2. From the **Video encoding** section, click **Add** to add and configure the video stream. You can keep the default parameters or adjust them if needed. 3. Click **Ok** to validate. 4. From the **Audio encoding** section, click **Add** to add and configure the audio stream. - Set the **Codec** to **MPEG-1 Layer II**. - You can keep the default parameters or adjust them if needed. 5. Click **Ok** to validate. 6. If you go to the **Metadata encoding** section, you can see that it is already configured in **Pass-through**. ``` ### Configure the output ``` 1. From the **Output** tab, click the **Add an output** button then set the output parameters, especially the **Network interface**. 2. Go to the **Output stream** section then click **Add**. - Enter the multicast output **IP address** and **Port**. - Tick the metadata, audio and video streams. You should get the following:  3. Click **Ok** to validate. ``` ### Save Click **Save and exit** to save and finalize your service configuration and go back to the **Services** page. ### Run the service [Assign a server to run the service](/beam/web-interface/services#assign-a-server-to-run-the-service). ### Check statistics Click `Chart` icon to display service details and to monitor the service. Specific cue tones statistics are displayed. # True Motion de-interlacing True Motion is MediaKind's motion-compensated de-interlacing technology. It converts interlaced video to progressive video using advanced de-interlacing, cross-scaling, and inverse telecine filters, and doubles the frame rate of interlaced sources to produce smooth content for OTT players. > When the input is progressive, enabling True Motion has no effect. Live Encoder does not double frames for progressive sources. ## Frame rate conversion For interlaced inputs, True Motion doubles the frame rate. For example, a 1080i30 input becomes a 1080p60 output.Only available with SMPTE ST 2110 input type.
| Ingest | OTT Configuration | Output |
|---|---|---|
| 1080i30 | 1080 True Motion | 1080p60 |
| 1080p30 | 1080 True Motion | 1080p30 |
| 1080i30 | 720p True Motion | 720p60 |
| 1080p30 | 720p True Motion | 720p30 |
4. Click **Ok** to confirm. The output stream configuration is displayed in the output stream IP address and stream composition. 5. Click **Save and continue** or **Save and exit** to save your changes. ### Activate FEC on existing output streams ```By default, one transport stream is defined using the first video stream and the first audio stream.
``` 1. From the **Output** tab, click `Edit` icon to edit the output. 2. Go to the **Output streams** section then click `Edit` icon to edit the output stream. 3. Tick the **FEC** checkbox to activate. Additional FEC parameters display. 4. Enter [FEC parameters](/beam/live-encoder/parameters/output#output-stream-parameters) 5. Click **Ok** to save. ### Link an output stream to a predefined subset You can link an output stream to a subset. Once linked, these subsets can be used to synchronize streams or to distribute the streams across multiple servers. Before you start: ensure [server subsets](/beam/live-encoder/configure#create-subset-variants) are created. 1. From the **Output** tab, click `Edit` icon to edit the output. 2. Go to the **Output streams** section then click `Edit` icon to edit the output stream. 3. For the **Subset** parameter select an existing preset in the drop-down list. The output stream is linked to the selected subset. 4. Click **Ok** to save. ## Configure a DASH-IF CMAF output DASH-IF CMAF Ingest is a protocol for transport of fragmented MP4 in CMAF container format between Live Encoder and a Packager. To configure a DASH-IF CMAF output, follow these steps: 1. From the **Encoding** tab, go to the **Video** > **Gop settings** section then enter a value for **Low latency fragment(s) per GOP** (see [GOP settings](/beam/live-encoder/parameters/encoding/video#gop-settings)). 2. From the **Output** tab, create or edit an existing output. - In the **General parameters** section, set the **Transport protocol** to **DASH-IF CMAF INGEST**, then define the associated parameters (see [Output general parameters](/beam/live-encoder/parameters/output#general-parameters)). - In the **MP4 general parameters** section, set the number of **GOPs per segment**. You can optionally enable Low latency and Unix epoch relative timestamps. Fragment(s) per GOP value is retrieved from the Low latency fragment(s) per GOP field that you previously defined. (See [DASH-IF CMAF parameters](/beam/live-encoder/parameters/output#general-dash-if-cmaf-ingest-parameters)) - The **Tracks** section displays all the streams configured in the **Encoding** tab. [You can change their track ID and add an optional label](/beam/live-encoder/parameters/output#tracks). - In the **Output groups** section, select the tracks to be added in the output (see [Defining the output stream composition](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition)). # Manage the output ## Add an output You can create several outputs. To create an output you can either: - [Create a new one](/beam/live-encoder/configure/output/manage-output#create-a-new-output-from-scratch). - [Duplicate an existing one](/beam/live-encoder/configure/output/manage-output#duplicate-an-existing-output). ### Create a new output from scratch When connecting for the first time or if you want to add an output, you can create a new one from scratch. To create an output, follow these steps: 1. From the **Output** tab, click the **Add** button. A new output section is created. 2. [Edit the output](/beam/live-encoder/configure/output/manage-output#edit-an-output). 3. Click **Ok** to save your changes. The new output is added in the output tab. ### Duplicate an existing output You can create an output by duplicating an existing one. To duplicate an output, follow these steps: 1. Click the duplicate icon `Clone` icon in the top right corner of the reference output. A new output section is created with the same parameters as the reference output. 2. If needed, you can [edit the output](/beam/live-encoder/configure/output/manage-output#edit-an-output) 3. Click **Ok** to save your changes. The new output is added in the output tab. ## Edit an output Before you start, ensure an output exists. If no output exists, see [Add an output](/beam/live-encoder/configure/output/manage-output#add-an-output). 1. From the **Output** tab, click **Output** to open the tab and display outputs. 2. Click `Edit` icon to display parameters and edit the output. The output parameters display.Only available with MPEG-2 TS/RTP transport protocol.
3. [Edit the general parameters](/beam/live-encoder/configure/output/configure-output#configure-the-output-stream-mpeg-2-ts-parameters). 4. [Configure the MPEG-2 TS parameters](/beam/live-encoder/configure/output/configure-output#configure-the-output-stream-mpeg-2-ts-parameters). 5. [Select the streams to include in the output.](/beam/live-encoder/configure/output/configure-output#define-the-output-stream-composition). 6. Click **Ok** to save your changes. The new output is added in the output tab. ## Delete an outputDepending on your configuration type and settings, additional parameters may display.
From the **Output** tab, click `Delete` icon in the top right corner of the selected output stream. A message asks you to confirm the deletion. # Create a new service To create a new service, follow these steps: 1. From the **Services** page, click **Add service** then select **Live Encoding**. 2. Enter a service name. 3. You can [create the service from an existing template](/beam/live-encoder/create-service#create-a-service-from-a-template). 4. Start configuring or completing the service parameters: - **Input** (see [Configure the input](/beam/live-encoder/configure/input)) - **Media Processing** (see [Configure the media processing](/beam/live-encoder/configure/media-processing/video-processing)) - **Encoding** (see [Configure the encoding parameters](/beam/live-encoder/configure/encoding)) - **Output** (see [Configure the output](/beam/live-encoder/configure/output/configure-output))If deleted, the stream is automatically removed from any outputs.
## Create a service from a template Templates are a set of saved parameters that are based on an existing service configuration. You can create a new service from a template to automatically apply its configuration. Before you start: ensure you have previously created one or more template(s). 1. From the **Services** page, click **Add service** then select **Live Encoding**. 2. In the **Template** drop-down list, select a template. Template parameters display. Missing parameters appear in orange. 3. Edit the missing parameters (in the **General**, **Input** and **Output** tabs) and, if needed, modify the predefined parameters. # Leaky bucket concept Leaky bucket is a flow-control mechanism designed to reduce the effect of the inevitable variability in input data streams as they are "injected" into communication networks. The leaky bucket algorithm performs the following functions: - It controls what the encoder can inject into the network. - It prevents the data "bucket" from overflowing by automatically regulating the bit rates in the event that the encoder generates too much data or very complex data. - It prevents “burstiness” in the input stream, ensuring a smooth, even data flow.  _Leaky bucket algorithm_ { /\* TODO: update links (especially ./parameters/) once MD files are created \*/} # Monitor service statistics You can retrieve and monitor detailed statistics information on a service.If you create a service from a template, some parameters are already configured. Enter any missing parameters (displayed in orange) and, if needed, modify the predefined ones.
1. From the **Services** page, identify the service that you want to monitor and click the related `Chart` icon icon. The **Statistics** page displays. 2. You can navigate between three tabs: - [**Media info**](/beam/live-encoder/monitor-statistics#media-info) - [**Input monitoring**](/beam/live-encoder/monitor-statistics#input-monitoring) - [**Outputs**](/beam/live-encoder/monitor-statistics#outputs).The
Charticon icon is only accessible when a Live encoding servive is associated to a server and then running.
## Media info From the **Media info** tab, you can view the following information for each program: - Video statistics - Audio statistics - Preview of the video - List of other available programs  _Example of Service Statistics>Media info_ ## Input monitoring From the **Input monitoring info** tab, you can view the following information: - Quality indicators (ETR290) - RTP quality indicators - FEC quality indicators - Input CC Errors - Splice schedule  _Example of Service Statistics>Input monitoring_ ## Outputs From the **Outputs** tab, you can view the following information for each output: - PID number - Media type (audio, video, subtitles, metadata) - CC errors - Information  _Example of Service Statistics>Output monitoring_ - Once you have configured an automated blackout and started a service, you can manually [activate or deactivate the blackout](/beam/live-encoder/configure/encoding/blackout-encoding#manually-activate-or-deactivate-a-blackout). - Once you have activated and configured the [Switch to CBR option](/beam/live-encoder/parameters/encoding/video#switch-to-cbr-parameters), and started the service, you can manually switch from Statmux to CBR (**Switch to CBR** button) or switch back from CBR to Statmux (**Switch to Statmux** button).  _Example of Service Statistics>Outputs with Switch to CBR option activated_ - [Encoding](/beam/live-encoder/parameters/encoding): Pages in the Encoding section. - [General](/beam/live-encoder/parameters/general) - [Input](/beam/live-encoder/parameters/input): Pages in the Input section. - [Media Processing](/beam/live-encoder/parameters/media-processing): Pages in the Media Processing section. - [Lineup](/beam/live-encoder/parameters/lineup) - [Output](/beam/live-encoder/parameters/output) - [General](/beam/live-encoder/parameters/encoding/general) - [Video](/beam/live-encoder/parameters/encoding/video) - [Audio](/beam/live-encoder/parameters/encoding/audio) - [Subtitle](/beam/live-encoder/parameters/encoding/subtitle) - [Metadata](/beam/live-encoder/parameters/encoding/metadata) - [Blackout](/beam/live-encoder/parameters/encoding/blackout) - [Logo insertion](/beam/live-encoder/parameters/encoding/logo-insertion) # Audio encoding parametersYou can customize the information displayed such as activating or deactivating the auto refresh by clicking the Auto refresh button.
| Parameter | Description |
|---|---|
| Codec | Specify the codec for the audio encoding. 'Passthrough' is not supported when audio input is uncompressed. For PCM or Dolby E Passthrough, select 'SMPTE302 / Dolby E Passthrough'. |
| Parameter | Description |
|---|---|
| Insert audio frames on signal loss | Generate audio frames according to the input loss management configured in Media processing tab (silence, 1kHz tone) when the input source is lost. Note: If you activate this option, associated monitoring statistics are available from the Service statistics (see example below). |
| Glitch supression | Only available if Insert audio frames on signal loss is checked. Repeat 3 audio frames before enabling input loss audio frames generation. |
| Generate audio frames if no source at start | Only available if Insert audio frames on signal loss is checked. If the audio service is missing at startup, generate audio frames according to the input loss management configured in Media processing tab (silence, 1kHz tone). Frames may be encoded in a different codec from the real audio. Note: Applies to both use cases where Live Encoder is configured either with SDI or as IP input. |
| Parameter | Description |
|---|---|
| Data Width | Data width of AES audio sample to be encoded. Possible values: Follow input, 16-bit, 20-bit, or 24-bit |
| Parameter | Description |
|---|---|
| Watermarking | Type of watermarking insertion to use |
| Profile | Profile to use with AAC codec |
| Channels mode | Number of audio channels in the encoded audio track |
| Bit rate | Bandwidth used to encode the audio stream |
| Sampling rate | Number of audio samples per second defined in Hz |
| Frame rate | Frame rate as defined in video input |
| Blackout | This blackout configuration will be applied to the related audio/video/subtitles stream. |
| Parameter | Description |
|---|---|
| Dialog normalization | Metadata parameter that controls playback gain. Possible values: Auto or, from -1 dB to -31 dB. Auto means that no processing will be done on the input. |
| Dolby Surround mode | Decoders can use this flag to automatically switch on Pro Logic decoding. |
| DRC Line Mode Profile | The Dynamic Range Control restricts the signal's absolute peak level for a decoder using the line mode. |
| DRC RF Mode Profile | The Dynamic Range Control restricts the signal's absolute peak level for decoder using the RF mode. |
| DC highpass filter | A DCblocking 3Hz highpass filter applied on the main Dolby channel. Used to remove DC offsets in the program audio. Only switch off in exceptional circumstances. |
| Parameter | Description |
|---|---|
| Tracks SCTE-35 | Select tracks to trigger blackout. Note: Options for this parameter depend on metadata configured in Input. |
| Trigger | Select the command to trigger blackout. Possible values: - spliceOut/SpliceIn: blackout triggered on reception of an SCTE 35 splice out, end of blackout on splice in. - webDeliveryAllowedFlag: blackout triggered on reception of an SCTE 35 containing a web delivery flag set to false. - alternateContent: alternate content triggered on reception of an SCTE 35 message. |
| Timeout | Maximum duration of the blackout. If 0, there will be no maximum duration set. Note: If no "alternate content off" command is received, the blackout will be removed at the end of this timeout. Range: From 0 to 60000 ms |
| Parameter | Description |
|---|---|
| Image URL | Note: - Image URL can be a web URL ( http://server/image, https://server/image) or a local file defined with an absolute path (such as /directory/filename.png).- Authorized file types are .gif, .png or.jpg. |
| Parameter | Description |
|---|---|
| Default image URL | Enter the path to the default alternate content to display. If empty, a black frame is used. Note: Default image URL can be empty, but if an alternate content image with an Id and Image URL is added, both fields are mandatory. |
| Id | Define an ID used to identify the alternate content to apply. This ID should be passed in the SCTE35 message triggering the blackout condition. If no alternate content is configured, the default image is used. |
| Image URL | Enter the path to the alternate content to display. The default image is used if no alternate content is configured. Note: - Image URL can be a web URL ( http://server/image, https://server/image) or a local file defined with an absolute path (such as /directory/filename.png).- Authorized file types are .gif, .png or.jpg. |
| Parameter | Description |
|---|---|
| Export type | Select either IP TV or Internet TV export type. |
| Parameter | Description |
|---|---|
| Image URL | The path to the replacement image (GIF, PNG or JPEG file). Syntax can be either HTTP://path or /path. |
| Placement | Select the image placement. Possible values: Top left corner, Top right corner, Bottom left corner, or Bottom right corner |
| Horizontal gap | Position of the image in relation to the screen corner. |
| Vertical gap | Position of the image in relation to the screen corner. |
| Size | The percentage of the image height. |
| Parameter | Description |
|---|---|
| Codec | Select the codec used to refine the stream object type. |
| Use POIS | Only available with Conditioning. Tick this checkbox if you want to define a POIS server. |
| PTS insertion compensation | Only available with Conditioning. Enable pts insertion compensation. If checked, the pts_adjustment of an SCTE-35 event will be adjusted so that the splice_time + pts_adjustment corresponds to the PTS of the video frame, as illustrated below: ![]() Note: Arm time is the time that separates the SCTE-35 event from its execution. |
| Recover conditioning state if failover | If 'By Controller' is selected, this option enables to keep the conditioning status after an encoder failover without the need of any external system. |
| Parameter | Description |
|---|---|
| Delay | If metadata stream is SCTE35, a delay adjusts the trigger time value. Possible values: From 30000 to 60.000 |
| URL | URL for the POIS (Placement Opportunity Information Service) (if any) |
| Network interface | Name of the network interface used to communicate with the POIS |
| Network name | ID shared with the POIS for the current channel |
| Zone identity | The area ID for this channel distribution. Commonly used for regionalization. |
| Parameter | Description |
|---|---|
| Period | Target frequency of sending encoded metadata. If higher than the key frame period, encoded metadata will only be present on key frames. Possible values: From 0 to 65535 ms |
| Parameter | Description |
|---|---|
| Origin | Type of the timecode used to filter SMPTE 2038 input. |
| Period | Target frequency of the Timecode ID3 in ms. Possible values: From 0 to 65535 ms |
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles. DVBTTML and DASHIFTTML are only valid when ITV export type is used. Closed caption CEA 608 is only valid when both IPTV export type and 25i/50p to 29.97i/59.94p frame rate conversion are used. |
| Blackout | This blackout configuration will be applied to the related audio/video/subtitles stream. |
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles, in this case, Pass-through. |
| Override subtitle language in the teletext descriptor | Override language information (ISO639 language triplet) of a selected subtitle. The subtitle selected by the magazine and page should be already present in the descriptor |
Only available with SDI and SDI/IP input.
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles, in this case, Pass-through. |
| Adjust display height | Only available with DVB-Subtitles input subtitles. Adjust the display height for NTSC resolution. If not checked, optimized for PAL resolution. |
| Parameter | Description |
|---|---|
| Language | Input language to encode in ISO 639 format (3letter code, lowercase). If not present in the input stream, the subtitles will not be transcoded. |
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
| Field | Closed caption field as defined by the standard. Only one of each value is allowed. |
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles, in this case, DVB-Subtitles. |
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
Only available with Teletext input subtitles and Internet TV export type.
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitle, in this case, DVB-TTML. |
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
| Profile | Specify the DVB TTML processor profile. |
| Purpose | Purpose of the subtitle service. |
| Suitable for TTS | Boolean value that indicates whether the subtitles are suitable for texttospeech (TTS). If the value is not set, this means unknown suitability. |
| Forced language | Overwrites the language of the audio track. If not set the original language is kept. Format: 3 alphanumeric characters |
Only available with Teletext input subtitles and Internet TV export type.
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitle, in this case, DASHIF-TTML. |
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
| Profile | Specify the DASHIF TTML processor profile. |
| Role | Role of the subtitle service.
|
| Forced language | Overwrites the language of the audio track. If not set the original language is kept. Format: 3 alphanumeric characters |
Only available with CEA-608/CEA-708 Closed Captions input subtitles and Internet TV export type.
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitle, in this case, DVB-TTML. |
| Profile | Specify the DVB TTML processor profile. |
| Purpose | Purpose of the subtitle service. |
| Suitable for TTS | Boolean value that indicates whether the subtitles are suitable for texttospeech (TTS). If the value is not set, this means unknown suitability. |
| Forced language | Overwrites the language of the audio track. If not set the original language is kept. Format: 3 alphanumeric characters |
| Closed caption service | Specify the CEA608 or CEA708 service number. Possible values for CEA-608: cc_1, cc_2, cc_3 and cc_4. Possible values for CEA-708: service_1, service _2, service _3 and service _4 |
Only available with CEA-608/CEA-708 Closed Captions input subtitles and Internet TV export type.
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitle, in this case, DASHIF-TTML. |
| Profile | Specify the DASHIF TTML processor profile. |
| Role | Role of the subtitle service.
|
| Forced language | Overwrites the language of the audio track. If not set the original language is kept. Format: 3 alphanumeric characters |
| Closed caption service | Specify the CEA608 or CEA708 service number. Possible values for CEA-608: cc_1, cc_2, cc_3 and cc_4. Possible values for CEA-708: service_1, service _2, service _3 and service _4 |
Only available with Teletext subtitle input, IPTV export type and 25i/50p to 29.97i/59.94p frame rate conversion.
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles, in this case, Closed caption CEA 608. |
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
| Field | Closed caption field as defined by the standard. Only one of each value is allowed. |
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles, in this case, Pass-through. |
| Forced language | Overwrites the language of the audio track. If not set the original language is kept.. |
| Adjust display height | Only available with DVB-Subtitles input subtitles. Adjust the display height for NTSC resolution. If not checked, optimized for PAL resolution. |
| Parameter | Description |
|---|---|
| Codec | Select the codec used to convert the subtitles, in this case, DVB-Subtitles. |
| Forced language | Overwrites the language of the audio track. If not set the original language is kept.. |
| Parameter | Description |
|---|---|
| Language | Input language to encode in ISO 639 format (3letter code, lowercase). If not present in the input stream, the subtitles will not be transcoded. |
| Parameter | Description |
|---|---|
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
| Parameter | Description |
|---|---|
| Language | Input language to encode in ISO 639 format (3letter code, lowercase). If not present in the input stream, the subtitles will not be transcoded. |
| Magazine | 1digit magazine number (18) used to identify the Teletext service. |
| Page | Page number (099) used to identify the Teletext service. |
| Field | Closed caption field as defined by the standard. Only one of each value is allowed. |
| Parameter | Description |
|---|---|
| Burn-in | Configuration of the subtitle to be used for burnin in the video. Format available for burnin: DVBsubtitles, Teletext. |
| Parameter | Description |
|---|---|
| Rate control | Define how the bitrate is managed for this stream. Trick Play only applies to CBR.Possible values: VBR, CBR, CVQ (Constant Video quality), Statmux. - With CBR (Constant bit rate), you can stream content over a limited bit rate channel such as a network. The output stream fits in one bit rate, which you specify as a parameter. Constant bit rate means that the bit rate is constant according to the leaky bucket concept. - For more information on Statmux, see Statmux, Statistical rate control. Note: In case of H.264, the stream remains compliant with the normative HRD. |
| Trick play | Only available with CBR rate control.Provides a low frame rate video stream that can be used for Trick play. This option requires CBR and is not compatible with shared encoding. |
| Low delay encoding | Only available with CBR rate control.This mode decreases latency by forcing the encoder to use a simplified codec analysis. The video quality is impacted, and only CBR mode is allowed. Note: If activated, Buffer duration in Codec settings section is limited to Short and Custom values. |
| CVQ mode | Only available with CVQ rate control. Define how to manage bandwidth in CVQ rate mode. Select Average bit rate to define Target bit rate in kbps. While keeping homogeneous quality, this mode guarantees the Target bitrate over a long period of time (several hours). Select Quality level to define a Target quality using a decimal number on a scale from 1.0 to 5.0. |
| Target quality | Only available with CVQ rate control. Define the Target quality of the CVQ encoding using a decimal number on a scale from 1.0 to 5.0. 5.0 is the highest quality. |
| Pool name | Only available with Statmux rate control. Each statmux stream is included in a pool that defines the global multiplex bitrate. This parameter defines the pool this stream must be attached to. |
| Service name in profile name | Service name is in profile name. |
| Minimum bit rate | Only available with Statmux rate control. In statmux each stream is encoded in VBR. Minimum bit rate defines the lowest bit rate limit. Note: This bit rate can be changed on-the-fly. |
| Maximum bit rate | Only available with Statmux or VBR rate control. In statmux, VBR or CVQ mode, each stream is encoded with variable bitrate. Maximum bit rate defines the highest bit rate limit. Note: This bit rate can be changed on-the-fly. |
| Target bit rate | Bandwidth used to encode the video stream. Possible values: From 100 to 60000 kbps Note: - Video bit rate corresponds to "raw" video bit rate, and does not include bit rate overhead due to encapsulation (such as PES headers, MPEG-2 TS headers). - This bit rate can be changed on-the-fly. |
| Resolution | Define the output size of each image (length x height). Note: Resolutions are sorted by the total number of pixels per frame. You can either choose a value from the drop-down list or enter a custom resolution. |
| Codec | The different codecs (MPEG2, H.264, HEVC, JPEG XS) can be used to encode the content. Select a codec and its profile for each video stream. |
| Video quality mode | Different tradeoffs between video quality and density. UP! and UP!+ provide the highest video quality. With Adaptive quality mode the codec leverages ACT (AI Compression Technology) to ensure the best video quality while using all the available resources to process the channel. Adaptive (ACT) is an option if the service runs on constrained resources (like a Kubernetes POD with limited vCPU resources). Note: - The list of available video quality modes depends on codec, rate control, export type and resolutions values. - For Internet TV, output a mix of these presets is recommended to optimize both the VQ and the density. |
| Stream conditioning | Conditions stream encoding based on the metadata stream. Note: You can select several SCTE-35 streams (either in-band or out-of-band) to condition video streams. |
| Blackout | This blackout configuration will be applied to the related audio/video/subtitles stream. |
| Chunking policy | Select the policy to apply when a splice occurs (ad insertion, ad replacement, blackout management, etc). The policy applies for both stream conditioning and blackout to ensure relevant chunk sizing.
![]() Chunking policy: Distribute ![]() Chunking policy: Merge |
Only available when Rate control is set to Statmux.
| Parameter | Description |
|---|---|
| Switch to CBR | Enable switching from Statmux to CBR based on SCTE35 splice triggers.The switch relies on SCTE-35 splice commands: a Splice out is used to exit Statmux rate control and switch to CBR then a Splice in is used to switch back to Statmux. If enabled and configured, when you start the service new buttons are available in the Services > Statistics > Outputs menu: - Switch to CBR to manually switch from Statmux to CBR. - Switch to Statmux to manually switch back from CBR to Statmux. |
| Constant bit rate | Bandwidth used to encode the video stream |
| Triggering stream | Select the SCTE35 metadata stream used to trigger the switch between Statmux and CBR. Note that SCTE35 metadata stream codec must be set to conditioning. |
| Timeout | Timeout in milliseconds for switching back to Statmux. Disabled if not filled. Possible values: from 1s to 24h |
| Parameter | Description |
|---|---|
| Stream priority | Ability to set the priority (or weight) of a service when it joins a statmux group. 'Normal' does not change the default behavior of the statmux algorithm. 'High' and 'Highest' will distribute more bandwidth to the video stream than normal computation of the statmux algorithm. 'Low' and 'Lowest' will distribute less bandwidth in order to favor the other streams of the group. |
| Parameter | Description |
|---|---|
| Video quality experience | Select the codec configuration for subjective or objective measurement. If you have a proprietary probe then select MSSSIM finetuning.The last algorithms integrated in our codec improve the subjective video quality: the quality of experience of the end user is increased. However, these specific fine-tuning in the encoder may decrease objective scores measured by automatic metrics such as PSNR, SSIM, MS-SSIM. If the customer wants to evaluate the video quality with one of these metrics, he can select a fine-tuning of the encode to keep high scores. If the customer uses proprietary probes, we recommend choosing MS-SSIM. Possible values: Objective: Human visual fine-tuning or Subjective: SSIM fine-tuning, MS-SSIM fine-tuning, or PSNR fine-tuning |
| Buffer duration | Define the size of the video buffer. Delay increases with buffer size. Encoding quality improves with buffer size. The default values offered correspond to: Short = 500ms, Standard = 1000ms, Long=2000ms. Customizable value in ms is also an option. Note: The video buffer is the standard VBV (Video Buffering Verifier), it guarantees the encoded stream doesn't overflow or underflow the decoder's buffer. Possible values: Short, Standard, Long, or Custom - If Low delay encoding is activated, Short = 500 ms (for both Internet TV and IP TV) - If Low delay encoding is not activated, Short = 500 ms, Standard = 1000 ms, Long = 2000 ms (for both Internet TV and IP TV) |
| B-frames | Select the number of B-frames that will be inserted between two I/IDR or P frames. B-frames are used to increase quality. They can be considered as interpolated frames between reference frames (I or P), interpolation is done using forward and backward motion vectors used to select pieces of pictures in reference frames. Modes: (1) Auto: allows the encoder to choose the number of Bframes depending on the source. (2) OFF: If no Bframes are required. (3)(4)(5) 1/2/3: If the number of Bframes must be fixed. |
| Coding mode | Only available with Internet TV export type. Modes: (1) Progressive. (2) Interlaced: only available with framerate 'regular' and resolution 'height' 480, 576 or 1080. In case of shared encoding, only progressive is available. |
| Frame/field coding mode | Video encoding options: (1) Frame only: each image is considered progressive. (2) Field only: each image is considered interlaced. (3) Frame MBAFF: each image is encoded as progressive with a interlaced/progressive choice at the macroblock level. (4) Auto: recommended setting to automatically detect the best encoding option for each frame. A picture to be encoded may have interlaced structure (2 fields) or progressive structure. Even though a picture may be interlaced, video quality may be improved with frame coding when the correlation between odd and even fields is very strong. |
| Dynamic range mode | Follow input leaves input format unchanged. Otherwise, the format is converted if necessary: color space, tone mapping (HDR to SDR) or inverse tone mapping (SDR to HDR). HDR formats are only available with HEVC main 10 or JPEG XS 4:2:2 10 bits codec. Dolby Vision formats are only available with progressive outputs (internet TV or UHD). See restrictions and notes below. |
| Parameter | Description |
|---|---|
| Detail enhancement filter | This filter boosts frequencies for improved sharpness. Use this filter when input is downscaled. Example: when converting 1080i to 720p. This filter is applied to the source before encoding starts. Compliant with the EIA-608 standard. |
| Parameter | Description |
|---|---|
| GOP policy | The GOP policy defines the way GOPs are finished.Values: (1) Open: reference frames can be picked across the GOPs. (2) Closed: all the reference frames must be in the same GOP. Impact depends on player capabilities. - Open mode provides the best video quality. - Closed mode is often used for interoperability. |
| Key frame period | Enter the maximum time between two key frames. Key frames are inserted into the video stream periodically to synchronize the decoder and enable it to recover from errors. In an OTT use case, the key frame period defines the chunk duration. Setting the value at 2 seconds will generate a chunk duration of 2000 ms for a PAL/DVB output and 2002 ms for a ATSC/NTSC output. Possible values for IPTV: 500 to 10000 Possible values for Internet TV: 1000 to 10000 |
| Key frame period policy | Enter the maximum time between two key frames. Key frames are inserted into the video stream periodically to synchronize the decoder and enable it to recover from errors. In an OTT use case, the key frame period defines the chunk duration. Setting the value at 2 seconds will generate a chunk duration of 2000 ms for a PAL/DVB output and 2002 ms for a ATSC/NTSC output. Possible values: - Auto: adjusts the number of B-frames to have a complete sub-GOP before the key frame period, round key frame period to superior GOP size - Maximum: adjusts the number of B-frames to have a complete sub-GOP before the key frame period but round key frame period to inferior GOP size - Strict: not below key frame period ( in ms) |
| Low latency fragment(s) per GOP | Fragments/chunks count generated inside of the Key frame period for low latency DASHIF CMAF INGEST outputs. 1 means no chunks, no low latency. |
| Parameter | Description |
|---|---|
| AFD | If present at the input, AFD (Active Format Description) information is added in the output stream. |
| Scaling | Method applied to the video when rescaling. The Anamorphic type dynamically adapts the pixel aspect ratio (width x height) per frame. Letterbox inserts black stripes to fit the target aspect ratio. Center cut adjusts the video to keep the subject in the center of the frame and removes the black stripes, Stretching adapts the pixel aspect ratio (width x height) per frame, AFD from input follows the AFD information present in the input. Note: some options are not available with hardware acceleration |
| Cropping | Only available with Anamorphic and Stretching. Specify the cropping value in % of video from Top, Bottom, Right and Left. |
| Output aspect ratio | Only available with Letterbox and Stretching. Targeted output aspect ratio. |
| Zoom adjustment | Only available with Letterbox. Adjust the zoom level to remove the black bars at the top and bottom of the picture (% of black stripes) |
| Fallback option | Only available with AFD from input. Fallback value when scaling is based on AFD information and AFD is not present in the stream. |
The signal always comes as 4:3, but the picture could be 16:9 anamorphic.
| Video Input | WSS Flag | Processing | 4:3 Video Output |
|---|---|---|---|
![]() |
4:3 Full | None | ![]() |
![]() |
14:9 FullOnly available in PAL | Restore PAR and fit in letterbox | ![]() |
![]() |
16:9 Full | Restore PAR and fit in letterbox | ![]() |
![]() |
14:9 Letterbox (center) Only available in PAL |
None | ![]() |
![]() |
16:9 Letterbox (center) Only available in PAL |
None | ![]() |
![]() |
16:9 Letterbox (center) Only available in PAL |
None | ![]() |
![]() |
14:9 Letterbox (top) Only available in PAL |
None | ![]() |
| Image Removed | 16:9 Letterbox (top) Only available in PAL |
None | Image Removed |
![]() |
4:3 Full | None | ![]() |
![]() |
14:9 Full Only available in PAL | Restore PAR and fit in letterbox | ![]() |
![]() |
16:9 Full | Restore PAR and fit in letterbox | ![]() |
![]() |
14:9 Letterbox (center) Only available in PAL |
None | ![]() |
![]() |
16:9 Letterbox (center) Only available in PAL |
None | ![]() |
![]() |
16:9 Letterbox (center) Only available in PAL |
None | ![]() |
![]() |
14:9 Letterbox (top) Only available in PAL |
None | ![]() |
| Cropping method | Parameters | Input display | Output display |
|---|---|---|---|
| Dynamic | Crop Left, Right, Top, Bottom and keep Aspect ratio | ![]() |
![]() |
| Letter Boxing | Adaptation of input 16:9 to output 4:3 zoom level 0% | ![]() |
![]() |
| Letter Boxing | Adaptation of input 16:9 to output 4:3 zoom level 50% | ![]() |
![]() |
| Stretch to fit | Crop Left, Right, Top, Bottom and Stretch | ![]() |
![]() |
| Parameter | Description |
|---|---|
| Timing and VUI insertion | The output streams contains the Timecode and Video Usability Information (VUI), and inserts this information in SEI data and PPS/SPS data. |
| Timecode insertion | Passthrough the source timecode located within the NAL SEI (H.264/HEVC), within the User Data (MPEG2), or in the jxes_header() (JPEG XS). |
| SCTE-20 | If present at the input, SCTE20 closed captions are added in the output stream or converted to SCTE20 if input is closed caption (EIA608 or EIA708). This option is only available with IPTV export type, with Resolution ≤720, MPEG-2 Main codec with Frame/field coding mode set to Frame only. |
| Parameter | Description |
|---|---|
| Closed caption | If present at the input, closed captions (EIA608 or EIA708) will be added in the output stream or converted to closed captions if input is SCTE20. Compliant with the EIA-608 standard. |
| Burn-in | This caption burnin configuration will be applied to the related video stream. Possible values: subtitle(s) burn-in defined in Encoding > Subtitle burn-in configuration section (see Configure subtitle burn-in). |
| Parameter | Description |
|---|---|
| Parent encoding | The name of the parent encoding stream configuration used to preconfigure this child encoding. Processing for parent and child encodings is mutualized to optimize CPU usage. Important: Parent and child stream will have the same rate control mode (CBR or CVQ). |
| Target bit rate | Bandwidth used to encode the video stream. Note: Configure the parent stream with the highest bitrate, then configure child stream bitrates to be more than half of the parent bitrate. |
| Parameter | Description |
|---|---|
| Name | Service name |
| Template | Live encoding template that used to create a new service. If no template is selected, service is created from scratch. |
| Hardware acceleration mode (Intel QSV) | Activate Intel QSV to accelerate video input, video processing and video encode. If acceleration is enabled some features are unavailable. Full acceleration is only available for Input types MPEG2 TS/UDP and SDI.Possible values: - None: Default mode, no hardware acceleration. - Fully accelerated service: It corresponds to the legacy Hardware acceleration mode. - Software input processing, accelerated video processing and encode: It enables you to run most of the input processing tools on the CPU. For example, FMTS watermarking. - Accelerated encode only: It runs the whole software processing graph followed by a QSV encoder, most features that are available on software services are available in this mode. Only a few options that applied to the encoder itself are not available. Note: When selected, some parameters are grayed out in the other tabs. |
| QSV Device | Define the QSV/SG1 device to run service. If running on QSV previous generation (Intel E3 CPU), select device 1. For QSV new generation (SG1/GPU), select the suitable number. |
| ESAM server network interface | Network interface used for ESAM outofband messages applied to the entire service. Note: To configure the ESAM out-of-band, go to the Input tab. |
| SCTE-104 server network interface | Network interface used for SCTE104 outofband messages applied to the entire service. To modify, open the General tab. |
| Parameter | Description |
|---|---|
| Activate | Define an automation system to trigger events with the encoder. The Automation system can be any external Automation System. The Automation System can use either SCTE 104 and SCTE 30 interfaces or ESAM interfaces. |
| Interface Type | Protocol used with automation system. |
| POIS URL | Only available with ESAM. URL for the POIS (Placement Opportunity Information Service) (if any). |
| POIS network name | Only available with ESAM. ID shared with the POIS for the current channel. |
| POIS zone identity | Only available with ESAM. The area ID for this channel distribution. Commonly used for regionalization. |
| Assets directory | You can specify the directory where assets are stored. Must be an absolute directory path (starting by '/'). For logo and blackout files, an http url is also possible. |
| Parameter | Description |
|---|---|
| Program Clock Reference (PCR) | Reference clock used in the encoder. By default, the encoder is locked to the input clock available in the source. The external NTP clock is not compatible with the service synchronization feature. The external analogue genlock signal (bi and trilevel sync signals) is only compatible by services using SDI input with the correct SDI card. |
| Parameter | Description |
|---|---|
| Activate | Define network parameters for the synchronization between two encoders. The synchronization is used either for 1+1 availability or split encoding (distribution of one ABR channel over several HW resources). |
| Protocol | Specifies which protocol will be used to ensure the synchronization - Multicast is recommended for on-prem deployments. - Redis is recommended for cloud deployments to ensure inter-region synchronization of the encoder, but it can also be applied for on-prem deployments. |
| Mode | Specifies which streams will be synchronized. Only 'All' (audio + video + subtitles + metadata) is available. |
| Pool name | Unique ID to identify the services that need to be synchronized together. |
| Network interface(s) | List of names of the network interfaces used for synchronization. Use a comma to separate. Only one is mandatory. Two maximum can be set. |
| Address | Multicast address used for synchronization. |
| Port | Port used for synchronization. |
| Output source address | IP address specified as source in the IPv4 header for synchronization communication. If empty, source address of network interface from which packets are sent is used. |
| IGMPv3 source filtering | IGMP source IP address. List of addresses allowed in IGMPv3. Use a comma to separate. |
| Parameter | Description |
|---|---|
| Network interface | The name of the network interface used for dual output prevention. |
| Address | Multicast address used for dual output prevention. |
| Port | Port used for dual output prevention. |
| Group name | A group gathers a pair of encoders for which dual output prevention is managed. The group name field identifies the group. Format: String respecting the following rules [azAZ09_]{1,32} |
| Parameter | Description |
|---|---|
| Activate | Activate the use of variants for 1+1 synchronization (needed when 1+1 synchronization is done with the same service). |
| Name | The subset tag name used to identify the subset. |
| Server tags | Enter one or multiple server tags to identify the servers that can be used. Server tags are used for redundancy and for subset configurations. |
| Parameter | Description |
|---|---|
| Name | The subset tag name used to identify the subset. |
| Server tags | Enter one or multiple server tags to identify the servers that can be used. Server tags are used for redundancy and for subset configurations. |
The cross-stream prevention feature relies on ANSI/SCTE35 2016 (Digital Program Insertion Cueing Message for Cable standard).
| Parameter | Description |
|---|---|
| Stream ID | Stream ID value inserted in SCTE35 messages for crossstream prevention. |
| Period | Time period between SCTE35 messages. |
| Parameter | Description |
|---|---|
| Type | Input streams are either compressed or uncompressed, over a variety of interfaces.
As for SDI, video and audio are extracted from the input stream. SD and HD formats are supported up to 1080p60. Any HD format will require a 10GB network and a hardware with a 10 GbE input port. |
| Parameter | Description |
|---|---|
| Input redundancy | Choose the redundancy settings: two modes can be set when two multicast sources (primary and secondary) are available. In active/passive mode, the passive source is idle and doesn't even join the multicast address or capture UDP packets. In active/active mode, both sources capture in parallel, provide statistics on transport and demux layers, but only one source is fully decoded at any given time. |
| Input loss timeout | The time between the loss of input (full stream or elementary stream) and the switch to another source. Possible values: From 1000 to 9999 ms |
| Input clock computation | MPEG-2 TS clock interpolation mode: "auto" for default mode, "advanced" for newClock mode. Only "auto" mode is compatible with synchronization. |
| Parameter | Description |
|---|---|
| Ingest UHD | Select to enable UHD capture. UHD capture uses the first four input connectors on the SDI card for quad 3GSDI (2 sample interleave or square division) or the first input connector for 12GSDI format. |
| Connector | SDI port used to capture this specific service |
| SDI card number | Select the SDI card number to use. |
| Input label | Input label used for SDI input router, mandatory in case of failover configuration. The label is case sensitive and should match with router settings.Format: String of 32 characters maximum. Allowed characters: letters (lower and upper case), digit, _ and Note: See router configuration. |
| Parameter | Description |
|---|---|
| Input loss timeout | The time between the loss of input (full stream or elementary stream) and the switch to another source. |
| Parameter | Description |
|---|---|
| Network interface | Name of the network interface used to capture the input stream |
| Stream name | Name of the stream to request from RTMP server. |
| Connection retry period | Period to wait between source reconnection retries. Possible values: From 1 to 10 seconds. |
| Input buffer length | Period of input material to buffer before starting decode. A longer buffer will be more tolerant to input network issues, but will introduce more delay. Possible values: From 1 to 10 seconds. |
| Parameter | Description |
|---|---|
| Input redundancy | Choose the redundancy settings: SMPTE ST 20227 aims at providing against data loss at the IP packet level when two identical streams are received. Mellanox ConnectX6 card is required to select this mode. None provides no redundancy in the event of failure. When SMPTE ST 2022-7 is selected as Input redundancy, then only the primary source is displayed. You can create a secondary source and specify the network interfaces, as well as the stream indices independently within the SDP file and a single SDP file location or URL for both sources. Note that ST 2022-7 is not supported in v14 but will be available starting v15. Note: Thanks to the Mellanox card connectX-6 Dx, Live Encoder benefits from the Rivermax library for ST 2110 ingest. It supports: - ST 2110-20: HD Video-only - ST 2110-30, ST 2110-31: Audio - ST 2110-40: Data This requires a specific license which is being bought alongside the cards. The default path where Rivermax expects to find the license file is:/opt/mellanox/rivermax/rivermax.lic. |
| NMOS Enabled | Enables NMOS for EL service. |
| Max Skew | Only available with SMPTE ST 2022-7 redundancy.Define the maximum acceptable timestamp difference between the two input streams, beyond which an alarm will be raised and/or stats updated to indicate skew. Possible values: From 10 to 450 ms |
| Parameter | Description |
|---|---|
| Input loss timeout | The time between the loss of input (full stream or elementary stream) and the switch to another source.. |
## Live source managementOnly available with MediaComposer input type.
| Parameter | Description |
|---|---|
| Default service ID | ID of the live content that will be used at the start of the service. The ID can be:
|
| Default frame rate | Default frame rate used when live input is not yet detected. Possible values: from 23.98p to 60p |
| Parameter | Description |
|---|---|
| Auto return to live | Returns to live at end of the offline source playlist. Note: Unused in Switch to Live use case. |
| Return to live on error | Returns to live if offline source playlist cannot be loaded. Note: Unused in Switch to Live use case. |
| Parameter | Description |
|---|---|
| Type | Input metadata expected format. |
| Parameter | Description |
|---|---|
| PID | Corresponds to the stream identifier in the MPEG2 TS stream. Otherwise use the 'auto' setting for automatic detection. Possible values: From 16 to 8190 or "auto" |
| Delay | If metadata stream is SCTE35, a delay adjusts the trigger time value. Possible values: From 30000 to 60.000 ms |
| Automation stream | Stream used for automation. |
| Parameter | Description |
|---|---|
| DPI PID index | Specifies the index to the DPI PID which will carry the resulting splice_info_sections. Possible values: From 0 to 65535 |
| Delay | If metadata stream is SCTE35, a delay adjusts the trigger time value. Possible values: From 30000 to 60.000 ms |
| Parameter | Description |
|---|---|
| Network name | Corresponds to the Acquisition Point Identity defined in the ESAM specification. |
| Zone identity | Corresponds to the Zone Identity defined in the ESAM specification. |
| ESAM server network interface | Network interface used for ESAM outofband messages applied to the entire service. |
| Recover conditioning state if failover | If 'POIS' is selected, this options enables to keep the conditioning status after an encoder failover by asking to an external system. If POIS is selected, you have to enter the POIS URL and the POIS network interface name. Note: Configuration of POIS to recover is mandatory if: - live service is restarted during EAS, - or input dual source redundancy. - or live service failover. Else let the filed to No. |
| Automation stream | Stream used for automation. |
| Parameter | Description |
|---|---|
| DPI PID index | Specifies the index to the DPI PID which will carry the resulting splice_info_sections. Possible values: From 0 to 65535 |
| SCTE-104 server network interface | Network interface used for SCTE104 outofband messages applied to the entire service. To modify, open the General tab. Can be modified from this field if not yet set in the General tab, otherwise the field is grayed out. |
| Automation stream | Stream used for automation. |
| Splice countdown insertion | Insert splice countdown field in adaptation field around splice points. |
| Splice null period | Period between generated splice null commands. Possible values: From 400 to 3600000 |
| Parameter | Description |
|---|---|
| Network interface | Name of the network interface used to capture the input stream. |
| Stream address | Input stream unicast or multicast IPv4 address Only defined source addresses can be used to retrieve the multicast stream. |
| Port | Port used to capture the input stream Example: 1234 |
| IGMPv3 source filtering | IGMP source IP address. List of addresses allowed in IGMPv3 using a comma to separate. Example: *239.2.3.123 |
| FEC port(s) | Port(s) used to activate FEC (Forward Error Correction) and resolve RTP packet loss issues due to network transport. Use a comma to separate in case of dual mode. One port (column) or two ports (combined raw and column) can be set, in any order. Data is retrieved from these ports. Note: Leave this field empty if you want to disable the FEC support.- In case of mono FEC mode, only column is used. In case of dual FEC mode, both column and rows are used. - In dual FEC modes, statistics are displayed for both the column and row. ![]() |
| Input synchronization mode | Input can be synchronized based on PMT program ID or on VCT major and minor channel numbers or the stream PIDs. Make a selection based on the information present on the input stream. |
| Program ID | Select the correct program from the MTPS input stream. Possible values: From 1 to 65535 |
| Major channel | The major channel number present in the VCT Possible values: From 1 to 99 |
| Minor channel | The minor channel number present in the VCT Possible values: From 1 to 999 |
| PCR PID | Enter the packet identifier of the Program Clock Reference. This clock is used to synchronize audio and video packets. If left blank, the PCR PID is set to the output Video PID. Possible values: From 16 to 8190 |
| Parameter | Description |
|---|---|
| Network interface | Name of the network interface used to capture the input stream. |
| Stream address | Input stream unicast or multicast IPv4 address Only defined source addresses can be used to retrieve the multicast stream. |
| Port | Port used to capture the input stream Example: 1234 |
| IGMPv3 source filtering | IGMP source IP address. List of addresses allowed in IGMPv3 using a comma to separate. Example: 239.2.3.123 |
| Parameter | Description |
|---|---|
| Network interface | Name of the network interface used to capture the input stream. |
| Parameter | Description |
|---|---|
| Server URL | URL of RTMP server to connect to. |
| Parameter | Description |
|---|---|
| Input redundancy | Choose the redundancy settings: two modes can be set when two multicast sources (primary and secondary) are available. In active/passive mode, the passive source is idle and doesn't even join the multicast address or capture UDP packets. In active/active mode, both sources capture in parallel, provide statistics on transport and demux layers, but only one source is fully decoded at any given time. |
| Primary interface | Name of the input interface used to capture the input stream. |
| Secondary interface | Name of the input interface used to capture the input stream (secondary source). |
| Parameter | Description |
|---|---|
| Switch on ES data loss | Switch to backup source if video or audio is lost. |
| Delay | The amount of time between the video or audio loss and the switch to the backup source. Needs to be defined if Switch on ES data loss is activated. |
| Slate if no source at start | Display an image when live input is not yet detected. The replacement image can be defined in Video processing>Freeze frame management section (Media Processing tab). |
| Default frame rate | Default frame rate used when live input is not yet detected. Needs to be defined if Slate if no source at start is activated. |
| Parameter | Description |
|---|---|
| Type | Input subtitles expected format. |
| Parameter | Description |
|---|---|
| Subtitles ID type | Subtitles can be captured using either the stream PID or the subtitles language. |
| PID | Numerical identifier for subtitles track Possible values: From 1 to 65535 |
| Parameter | Description |
|---|---|
| Subtitles ID type | Subtitles can be captured using either the stream PID or the subtitles language. |
| PID | Numerical identifier for subtitles track. Range: From 1 to 65535 |
| Parameter | Description |
|---|---|
| Subtitles ID type | Subtitles can be captured using either the stream PID or the subtitles language. |
| PID | Numerical identifier for subtitles track. Range: From 1 to 65535 |
| Parameter | Description |
|---|---|
| PID | Numerical identifier for subtitles track. Range: From 1 to 65535 |
Only available with SMPTE ST 2110 input type.
| Parameter | Description |
|---|---|
| Data Type | Data Type carried on the VANC input. This determines what data streams will be generated. Video Metadata will be carried on the Video PID or a separate PID. Possible values: Video Metadata, Subtitles or STCE-104 |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location. |
| Stream Index | Index of stream within the SDP file. 1 is the first stream. |
| DPI PID index | Only available with STCE-104 data type. Specifies the index to the DPI PID which will carry the resulting splice_info_sections. |
| Delay | Only available with STCE-104 data type. If metadata stream is SCTE35, a delay adjusts the trigger time value. Possible values: From 30000 to 60.000 milliseconds. |
| Max bitrate | Highest bitrate that can be used to capture Teletext subtitles |
| Parameter | Description |
|---|---|
| Video PID | Numerical identifier of the video track. Enter 'auto' to capture the video present in the input stream. Restriction: PID is only configurable if Input synchronization mode is set to PidLocked mode. Possible values: From 1 to 65535 |
| Decoding capability | Select the standards to be decoded. Specific licenses are required for AVS+, AVS2 and JPEG XS decoding. JPEG XS options are exclusive. Please select only one option at a time. |
| Parameter | Description |
|---|---|
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location. |
| Stream Index | Index of stream within the SDP file. 1 is the first stream. |
| Parameter | Description |
|---|---|
| Audio ID Type | Choose the audio stream type used to identify the input audio stream. Possible values: PID, Language |
| PID | Only available with PID audio type. Numerical identifier of the audio track. Or auto to use any language in the stream. |
| Language | Only available with Language audio type. Audio track languages in ISO 639 format (3letter code, lowercase). This can be defined using a comma to separate, or enter 'auto' to use any language. |
| Max bitrate | Highest bitrate that can be used to capture Audio |
| Decoding capability | Select Dolby if you decode Dolby Digital or Dolby Digital Plus. Select Dolby E if Dolby E decoding is required (SDI or SDI/IP only). Specific licenses are required for Dolby decoding. |
| Parameter | Description |
|---|---|
| Type | Type of audio to create (1) Audio (2) Aggregated audio: Used to extract up to 5.1 audio tracks from the SDI audio pairs |
| Audio Pair | Only available with Audio type. Select the stereo audio pair (Group/Pair). |
| Audio format | Only available with Audio type. Select if the audio format should be automatically detected or forced. For uncompressed/Dolby E Passthrough select either 'AES Uncompressed audio' or 'Dolby E' as the input format, and 'SMPTE302/Dolby E Passthrough' from the encoding menu. Dolby E input will not work with Dolby AC4. To decode/reencode Dolby E select Auto or SMPTE337 compressed input as the input format. |
| Decoding capability | Only available with Audio type. Select Dolby if you decode Dolby Digital or Dolby Digital Plus. Select Dolby E if Dolby E decoding is required (SDI or SDI/IP only). Specific licenses are required for Dolby decoding. |
| Dolby E program | Only available with Dolby E decoding capability. The Dolby E algorithm is optimized for handling discrete multichannel audio programs and multiple audio programs. Encoded audio channels are grouped as programs that are typically mono (one channel), stereo or matrix surround (Lt/Rt) encoded (two channels), or discrete six-channel audio with five full-range channels and a bass-only Low-Frequency Effects (LFE) channel (5.1 channels). Dolby E makes use of the available data space only for the number of audio channels that are present, so requiring less space if fewer than eight audio channels are used. The channel configuration is determined at the time of encoding, allowing users to choose the best mode for the specific application. Possible values: See table below. |
| Mode | Only available with Aggregated audio type. Defines the number of channels to configure. In case of 5.1 audio, 6 channels need to be configured: Left, Right, Center, LFE, Left surround and Right surround. |
| PCM audio mapping | Only available with Aggregated audio type. You can aggregate multiple SDI audio pairs to have up to 5.1 streams. Associate the Group/pairs SDI (Gn Pn) with Left and Right as needed by scrolling the menus. ![]() |
| Program | Configuration program | Channel count | Sequence | Channel sequence |
|---|---|---|---|---|
| 0 | 2 | 8 | 5.1+2 | 0L, 0C, 0Ls, 1L, 0R, 0LFE, 0Rs, 1R |
| 1 | 3 | 8 | 5.1+1+1 | 0L, 0C, 0Ls, 1C, 0R, 0LFE, 0Rs, 2C |
| 2 | 2 | 8 | 4+4 | 0L, 0C, 1L, 1C, 0R, 0S, 1R, 1S |
| 3 | 3 | 8 | 4+2+2 | 0L, 0C, 1L, 2L, 0R, 0S, 1R, 2R |
| 4 | 4 | 8 | 4+2+1+1 | 0L, 0C, 1L, 2C, 0R, 0S, 1R, 3C |
| 5 | 5 | 8 | 4+1+1+1+1 | 0L, 0C, 1C, 3C, 0R, 0S, 2C, 4C |
| 6 | 4 | 8 | 2+2+2+2 | 0L, 1L, 2L, 3L, 0R, 1R, 2R, 3R |
| 7 | 5 | 8 | 2+2+2+1+1 | 0L, 1L, 2L, 3C, 0R, 1R, 2R, 4C |
| 8 | 6 | 8 | 2+2+1+1+1+1 | 0L, 1L, 2C, 4C, 0R, 1R, 3C, 5C |
| 9 | 7 | 8 | 2+1+1+1+1+1+1 | 0L, 1C, 3C, 5C, 0R, 2C, 4C, 6C |
| 10 | 8 | 8 | 1+1+1+1+1+1+1+1 | 0C, 2C, 4C, 6C, 1C, 3C, 5C, 7C |
| 11 | 1 | 6 | 5.1 | 0L, 0C, 0Ls, 0R, 0LFE, 0Rs |
| 12 | 2 | 6 | 4+2 | 0L, 0C, 1L, 0R, 0S, 1R |
| 13 | 3 | 6 | 4+1+1 | L, 0C, 1C, 0R, 0S, 2C |
| 14 | 3 | 6 | 2+2+2 | 0L, 1L, 2L, 0R, 1R, 2R |
| 15 | 4 | 6 | 2+2+1+1 | 0L, 1L, 2C, 0R, 1R, 3C |
| 16 | 5 | 6 | 2+1+1+1+1 | 0L, 1C, 3C, 0R, 2C, 4C |
| 17 | 6 | 6 | 1+1+1+1+1+1 | 0C, 2C, 4C, 1C, 3C, 5C |
| 18 | 1 | 4 | 4 | 0L, 0C, 0R, 0S |
| 19 | 2 | 4 | 2+2 | 0L, 1L, 0R, 1R |
| 20 | 3 | 4 | 2+1+1 | 0L, 1C, 0R, 2C |
| 21 | 4 | 4 | 1+1+1+1 | 0C, 2C, 1C, 3C |
| 22 | 1 | 8 | 7.1 | 0L, 0C, 0Ls, 0Bsl, 0R, 0LFE, 0Rs, 0Bsr |
| 23 | 1 | 8 | 7.1 screen | 0L, 0C, 0Ls, 0Lc, 0R, 0LFE, 0Rs, 0Rc |
| 24–63 | Reserved | Reserved | Reserved | Reserved |
| Parameter | Description |
|---|---|
| Audio Pair | Select the stereo audio pair (Group/Pair). |
| Audio format | Select if the audio format should be automatically detected or forced. For uncompressed/Dolby E Passthrough select either 'AES Uncompressed audio' or 'Dolby E' as the input format, and 'SMPTE302/Dolby E Passthrough' from the encoding menu. Dolby E input will not work with Dolby AC4. To decode/reencode Dolby E select Auto or SMPTE337 compressed input as the input format. |
| Decoding capability | Select Dolby if you decode Dolby Digital or Dolby Digital Plus. Select Dolby E if Dolby E decoding is required (SDI or SDI/IP only). Specific licenses are required for Dolby decoding. |
| Dolby E program | Only available with Dolby E decoding capability. The Dolby E algorithm is optimized for handling discrete multichannel audio programs and multiple audio programs. Encoded audio channels are grouped as programs that are typically mono (one channel), stereo or matrix surround (Lt/Rt) encoded (two channels), or discrete six-channel audio with five full-range channels and a bass-only Low-Frequency Effects (LFE) channel (5.1 channels). Dolby E makes use of the available data space only for the number of audio channels that are present, so requiring less space if fewer than eight audio channels are used. The channel configuration is determined at the time of encoding, allowing users to choose the best mode for the specific application. Possible values: See table above. |
| Parameter | Description |
|---|---|
| Stream Index | Index of stream within the SDP file. 1 is the first stream. |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location. |
| Channel Group Index | Index of channel group within the SDP audio stream. 1 is the first channel group. |
| Audio format | Select if the audio format should be automatically detected or forced. For uncompressed/Dolby E Passthrough select either 'AES Uncompressed audio' or 'Dolby E' as the input format, and 'SMPTE302/Dolby E Passthrough' from the encoding menu. Dolby E input will not work with Dolby AC4. To decode/reencode Dolby E select Auto or SMPTE337 compressed input as the input format. |
| Decoding capability | Select Dolby if you decode Dolby Digital or Dolby Digital Plus. Select Dolby E if Dolby E decoding is required (SDI or SDI/IP only). Specific licenses are required for Dolby decoding. |
| Channel Order | Select if the audio channel groups should be automatically read from the SDP file or manually specified. Possible values: M, DM, ST, LtRt, 51, 71, 222, SGRP See table below. For multi-channel audio, Live Encoder relies on the SDP file to specify how audio channels are grouped, but the channel order parameter that specifies the quantity and order of audio channels is optional in the SDP file. If the channel order is not specified, you can manually specify it. ![]() |
| Channel grouping symbol | Quantity of audio channels in group | Description of group | Order of audio channels in group |
|---|---|---|---|
| M | 1 | Mono | Mono |
| DM | 2 | Dual Mono | M1, M2 |
| ST | 2 | Standard Stereo | Left, Right |
| LtRt | 2 | Matrix Stereo | Left Total, Right Total |
| 51 | 6 | 5.1 Surround | L, R, C, LFE, Ls, Rs |
| 71 | 8 | 7.1 Surround | L, R, C, LFE, Lss, Rss, Lrs, Rrs |
| 222 | 24 | 22.2 Surround | Order shall be per SMPTE ST 2036-2, Table 1 |
| SGRP | 4 | One SDI audio group | 1, 2, 3, 4 |
| U01…U64 | As indicated by Grouping Symbol (Unn where nn is the number of channels in the group) | Undefined | None specified, the order of channels in this group is Undefined. |
**Related information**\ [Configure the audio input stream](/beam/live-encoder/configure/input/audio-stream)\ [SMPTE ST 2110 SDP file](/beam/live-encoder/configure/input/input-stream-source#smpte-st-2110-sdp-file) # Live service lineup encoding parameters For each source, you can edit the following parametersdepending on the source input type, either MPEG-2 TS/UDP or SMPTE ST 2110. ## MPEG-2 TS/UDP lineup
- The Channel Order described above was developed such that phase-coherent multichannel audio groups (or simply mono channels) can have their channels clearly defined within SDP. It does not attempt to provide any “higher level” description of the purpose of the audio channels (such as “secondary language”). It only addresses fixed multichannel audio groups commonly used at the time of publication of this document, and does not attempt to deal with object-based audio.
- The 5.1 Surround and 7.1 Surround channel orders defined in Table 1 are based on typical ordering of those channels found in SMPTE ST 2035, EBU R 123, and SMPTE ST 429-2.
| Parameter | Description |
|---|---|
| Stream address | Input stream unicast or multicast IPv4 address |
| Port | Port used to capture the input stream |
| IGMPv3 source filtering | IGMP source IP address. List of addresses allowed in IGMPv3 using a comma to separate. |
| Input synchronization mode | Input can be synchronized based on PMT program ID or on VCT major and minor channel numbers or the stream PIDs. Make a selection based on the information present on the input stream. |
| FEC port | Port used for FEC Possible values: From 1 to 65535 |
| Streams | For each source select which streams will be used and enter the PIDs: List of stream identifiers using a comma to separate. Note: If no PID is specified, default PID will be used. |
| Parameter | Description |
|---|---|
| Stream Index | Index of stream within the SDP file. 1 is the first stream. Possible values: From 1 to 1000 |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location. Note: The SDP File Location must be specified when Live Encoder service is configured with MediaComposer input type and an SMPTE ST 2110 source, but if you are using NMOS, you don't need to specify it, otherwise it will be ignored since the NMOS Controller supplies the SDP file. |
| Audio format | Select if the audio format should be automatically detected or forced. For uncompressed/Dolby E Passthrough select either 'AES Uncompressed audio' or 'Dolby E' as the input format, and 'SMPTE302/Dolby E Passthrough' from the encoding menu. Dolby E input will not work with Dolby AC4. To decode/reencode Dolby E select Auto or SMPTE337 compressed input as the input format. |
| Stream Index | Index of stream within the SDP file. 1 is the first stream. Possible values: From 1 to 1000 |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location.**** |
| Channel Group Index | Index of channel group within the SDP audio stream. 1 is the first channel group. Possible values: From 1 to 65535 |
| Stream Index | Index of stream within the SDP file. 1 is the first stream. Possible values: From 1 to 1000 |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location.**** |
| DPI PID index | Specifies the index to the DPI PID which will carry the resulting splice_info_sections. Possible values: From 0 to 65535 |
| Stream Index | Index of stream within the SDP file. 1 is the first stream. Possible values: From 1 to 1000 |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location.**** |
| Stream Index | Index of stream within the SDP file. 1 is the first stream. Possible values: From 1 to 1000 |
| SDP File Location | Location of SDP file describing the input stream. Either a URL or a file location.**** |
| Parameter | Description |
|---|---|
| Mute | Tick the checkbox to mute the audio volume. |
| Forced language | Overwrites the language of the audio track. If not set the original language is kept. Possible values: 3 alphanumeric characters |
| Parameter | Description |
|---|---|
| Force audio type | Indication set in audio type.
|
| Using audio description | When present in the source, this signals the use of audio description. It carries mono audio on the left channel and modulated pan/fade data on the right channel of an AES stereo pair. If enabled, it is possible to enable ''Audio description bitrate saving'' and drop the audio stream if the description is not present. (See Signal loss management). |
| Audio delay | Adjust the delay between audio and video. Example: helps resolve lip sync issues.Possible values: From 300 to 300 |
| Downmix compression mode | Select a mode for Dolby input stream downmixing from 5.1 to stereo.Possible values: Line mode, RF mode |
| Parameter | Description |
|---|---|
| Mode | Select the required target loudness mode:
|
| Profile | Select a predefined standard or 'Custom' (only available in 'Loudness control' mode) to define a target loudness |
| Target loudness | Maintains the audio level at the level defined by the Target loudness parameter. |
| Gain | Amplify or attenuate the incoming signal.Possible values: From 100 to 20 |
| Parameter | Description |
|---|---|
| Audio | Select a fallback audio input stream to switch on if Dolby E is no more available on this stream. A fallback audio input stream must have been previously defined. |
| Parameter | Description |
|---|---|
| Process type | Linear watermarking insertion process type |
| SID | Linear watermarking insertion source ID One or more SIDs (Source Identification) are assigned to each content provider or distribution source. Included as a component of each watermark, the SID uniquely identifies the distribution source. Only available with NAES watermarking. |
| CBET SID | Linear watermarking insertion CBET source ID Only available with CBET watermarking. |
| Check digits | Two uppercase alpha characters, corresponding to the SID that are assigned by Nielsen. If the check-digit string does not match the SID, the authenticator does not permit watermarking with the SID. Only available with NAES watermarking. |
| CBET Check digits | Only available with CBET watermarking. Two uppercase alpha characters, corresponding to the CBET SID that are assigned by Nielsen. If the CBET check-digit string does not match the SID, the authenticator does not permit watermarking with the CBET SID. |
| Enable CBET Step-aside mode | Only available with CBET watermarking. Activate the CBET stepaside mode. Determines the method of CBET insertion mode when prior encoding is detected on the same layer. The default mode is overwrite but you can enable the step-aside mode. |
| Distribution type | Linear watermarking insertion distribution type Typically, Program Content watermarks are assigned to syndication content or to content providers (i.e. broadcast networks etc.), while Final Distributor watermarks are assigned to local broadcast affiliates or to cable network content. |
| Existing N2 Watermarks | Linear watermarking NAES II insertion mode Specifies whether the watermark engine overwrites existing NAES audio watermarks of the same type as the watermark that is currently proposed for insertion. - If the mode is set to Refrain, then preexisting watermarks are left intact; new watermarks are inserted only in portions of the audio stream where there are no preexisting watermarks. - If the mode is set to Overwrite, then the watermark engine replaces the original watermarks with the new one. |
| Parameter | Description |
|---|---|
| Watermark | Type of watermark that must be extracted from this audio track. |
| Distributor ID | DNS domain name of the company or entity operating the device. Note: This value must be identical for each watermarking within the same service. |
| Breakout code | Type of content that must be extracted. |
| Parameter | Description |
|---|---|
| Distributor ID | DNS domain name of the company or entity operating the device. |
| Breakout code | Type of content that must be extracted. |
| Parameter | Description |
|---|---|
| Extract DTMF | Enable DTMF extraction for detecting cuetones. |
| Parameter | Description |
|---|---|
| Tone duration | Duration of the tone expected by the DTMF detection algorithm. It is assumed the gaps have the same duration. Possible values: From 0 to 1000 ms |
| Detection threshold | Detection threshold required in the algorithm to suit the input stream characteristic. The cue tones information in the statistics page or the knowledge of the upstream cue tone system provide help to define the value. The value is expressed in %, it is the threshold ratio versus total signal energy to detect the tone. Possible values: From 0 to 100 |
| Parameter | Description |
|---|---|
| Replacement | Selects the audio sound to be generated when no input is detected.Possible values: Silence, 1kHz audio tone, Audio Description bitrate saving (drop audio stream) |
| Parameter | Description | Details |
|---|---|---|
| Deblocking filter | Removes the MPEG2 blocking artifacts. This filter is fully automated to remove the blocking and ringing effects. | |
| Cross-talk filter | Removes noise by processing noise in the source frame by frame. If activated, reduces crosscolor and crossluminance artifacts remaining in the input video. | The cross-color processing is only visible on "rainbows" in PAL and NTSC sequences. If the video has been scaled beforehand, the filter is not efficient. That's why the cross-color processing is deactivated on HD sequences. The cross-luminance artifact is a temporal effect; it is not transformed after upscale. The filter is still efficient on HD sequences. |
| Sharpening filter | Filter applied on all output profiles with a resolution lower than the selected resolution. Used to increase image sharpness. Example: Enhance text readability on lower resolutions. |
|
| Spatial denoising filter | Removes noise by processing noise in the source frame by frame. | Possible values: Off, Low, Medium, High |
| Diamond filter | Removes noise by processing noise in the source frame by frame. The adaptive mode uses both edges and noise detection filters to choose the areas to filter, and to adapt the filtering strength. |
Possible values: Off, Medium, High, Adaptive |
| MCTF | Removes noise by processing noise in the source with a temporal factor. Has a 7 frame rolling window. The 'Adaptive' mode uses a noise detection filter to adapt the filter strength. | TPossible values: Off, Low, Medium, High, Adaptive |
| Parameter | Description |
|---|---|
| Crop overscan | Removes the input video overscan area from each edge (left, top, right and bottom). |
| Frame rate conversion | You can convert the frame rate from PAL to NTSC or NTSC to PAL.Video frame rate can be converted from PAL to NTSC (25i to 29.97i / 50p to 59.94p) or NTSC to PAL (29.97i to 25i / 59.94p to 50p). Subtitles, closed captions or timecode are not converted. |
| Aspect ratio | Aspect ratio can be passthrough from WSS and AFD information. You can also override/force the aspect ratio to 16/9 or 4/3. Possible values: Auto, Force 16/9, Force 4/3 Note: See Picture aspect ratio handling (Auto) for more information. |
| Noise edge removal | Number of lines removed from the top of the video (up to 6 in SD and 14 in HD) Possible values: From 0 to 6 for SD, from 0 to 14 for HD Note: 0 means no adjustment. |
| Parameter | Description |
|---|---|
| Brightness, Contrast, Saturation, Temperature, Hue, Gamma | You can adjust these parameters by dragging the sliders back and forth or enter a value.Possible values: from -100 to +100 in whole digit increments.Note: A value of 0 has no effect. |
| Parameter | Description |
|---|---|
| Activate | Display a replacement image when an input freezes (due to input loss or image freeze), if this option is deactivated, then the last decoded image is displayed. |
| Type | The replacement image can be predefined or custom. |
| Image | Replacement image displayed when input freezes (due to input loss or image freeze) |
| Image URL | The path to the replacement image (GIF, PNG or JPEG file). Syntax can be either HTTP://path or /path.You should copy your image to the following directory: /var/mediakind/streamsThe image URL should then be: /tmp/streams/<your-file-name>; for example, /tmp/streams/<your-file-name> |
| Insertion delay | The time between the loss of input (full stream or elementary stream) and the switch to another source. |
| Parameter | Description |
|---|---|
| Timecode | Origin of the timecode that can be inserted in the SEI (Insert timecode option is available from the Encoding tab in the Video encoding>Stream metadata settings). Choose Passthrough for the input stream timecode. |
| Parameter | Description |
|---|---|
| Type | The watermarking type |
| Identifier | Define the subscriber ID/distributor Id/payload that will be included into the watermark |
| Territory | Country where the video is brodcasted. |
| Parameter | Description |
|---|---|
| Transport protocol | DASHIF CMAF Ingest, RTMP, RTMPS, WAVE/SRT or MPEG2 TS outputs are possible. MPEG2 TS output can use either UDP or RTP transport protocol. Choose DASHIF CMAF Ingest to push content to an external DASHIF CMAF Ingest origin server. Choose RTMP(S) to push content to an external RTMP origin server. The RTMP variant is identified within the publishing point (no mix of variants is possible between primary and secondary publishing points). |
| Parameter | Description |
|---|---|
| Synchronize | Output stream to be synchronized. |
| Stream synchronization signaling | Activate to signal downstream equipment the status of stream synchronization. Requires EBP signaling. |
| Network interface | Name of the network interface used to distribute the output stream |
| TTL | Time To Live: defines the number of routers an UDP/RTP packet can go through before being discarded. Possible value: From 1 to 255 |
| ToS | Type of Service: information added in the IPv4 header to specify service priority on the network. Used to specify that a service requires low delay and/or high reliability. Possible value: From 0 to 224 |
| GOP signaling | Specifies signaling for stream synchronization. When encoding ABR outputs, the GOPs need to be synchronized across all the lineup streams. |
| Source address | IP address specified as source in the IPv4 header |
| Source port | Port specified as source in the IPv4 header Possible values: From 1 to 65535 |
| Parameter | Description |
|---|---|
| Publishing point | URL of the primary Flash Media Server (FMS) publishing point for live streaming. Configuration shall be done the following way: rtmp://{Primary FMS IP Address}/live or rtmp://{Primary FMS host name}/live. Complete the URL with the stream key defined for each stream in the configuration below. Use rtmps server for RTMPS variant: it is not possible to mix RTMP and RTMPS servers between primary and secondary publishing points. |
| Secondary publishing point | URL of the secondary Flash Media Server publishing point. |
| Network interface | The name of the network interface used for dual output prevention. |
| Parameter | Description |
|---|---|
| Publishing point | The URL of the Packager entry point, to which the Live Encoder will send the stream (e.g., https://example.com/ingest1).| |
| Secondary publishing point | The URL of the secondary Packager entry point, to which the Live Encoder will send a duplicate stream (e.g., https://example.com/ingest2). You can configure up to 5 publishing points by clicking the Add button. |
| Parameter | Description |
|---|---|
| Standard | MPEG2 TS information is encapsulated to fit the ATSC or the DVB standard. |
| PMT PID | Enter the packet identifier of the Program Map Table. This table defines the structure of the MPEG2TS stream. |
| PCR PID | Enter the packet identifier of the Program Clock Reference. This clock is used to synchronize audio and video packets. If left blank, the PCR PID is set to the output Video PID. |
| Target PCR period | The target time between two PCR information |
| Target PSI period | The target time between two PSI information |
| Program number | Associated to a specific program. Commonly used in MPTS to differentiate programs within the same MPEG2 TS stream. |
| Service name | Service added to the service description table (SDT) |
| Service provider | Service provider name added to the service description table (SDT) |
| Maximum bitrate insertion in PMT | The PMT can provide the maximum bitrate information for each elementary stream. |
| Signal loss management | Defines the behavior in case of signal loss.
|
| Video frames alignment on PES packets | Each new frame starts with a new PES packet. If a frame finishes before the end of a PES packet then it is filled with stuffing information. Bandwidth is increased if activated. Note: This parameter often needs to be activated for interoperability purposes. When activated, it will increase the bandwidth used by null packets. |
| LATM encapsulation for AAC | Support for both ADTS and LATM encapsulation are available for AAC audio tracks. |
| Broadcast ID insertion | The VCT information (if present in the source content) is translated to the broadcaster ID format and inserted in the output stream. |
| Encoding info insertion | The output stream contains the number of black frames, freeze frames, the average bit rate, and the target bitrate between 2 encoding information structures. These encoding statistics present in the output TS stream can then be used by downstream equipment for monitoring and error detection purposes. |
| Splice countdown insertion | Insert splice countdown field in adaptation field around splice points. |
| One AU per PES on audio splices | Enforce a single access unit per PES packet around splice points on audio PIDs. |
| Direct Path for low latency | Activates the optimized data transmission between MK Live Encoding and MK Packaging for OTT latency. It is required to activate this mode on both encoding and packaging sides. |
| CBR output with stuffing packets | Tick this checkbox to use a CBR bitrate on transport stream output in statmux rate control mode |
| Parameter | Description |
|---|---|
| GOPs per segment | The number of GOPs per segment |
| Low latency | Enable low latency for DASHIF CMAF Ingest. This uses HTTP chunked transfer. As a rough guide, the latency from the output of the encoder, can be reduced from around 2 seconds, down to as low as 0.5 seconds, depending on the number of chunks per segment. |
| Unix epoch relative timestamps | Generate timestamps using the Unix epoch as the anchor point. When enabled, the output timestamps are anchored to the Unix epoch instead of being anchored to the service start time. |
| Parameter | Description |
|---|---|
| IP Address | Unicast or multicast output stream IPv4 address |
| Port | Port used to distribute the output stream Range: From 1 to 65535 |
| FEC | Activate FEC (Forward Error Correction) along with the output transport stream to resolve RTP packet loss issues due to network transport. Only available in case of MPEG2 TS/RTP. |
| FEC port(s) | Only available if FEC is activated. Port used to transport FEC information Range: From 1 to 65535 |
| Column count | Only available if FEC is activated. Defines the horizontal size of the FEC matrix. Range: From 1 to 20 |
| Row count | Only available if FEC is activated. Defines the vertical size of the FEC matrix. Range: From 4 to 20 |
| Parameter | Description |
|---|---|
| Stream name/key | Stream name, also known as stream key, that identifies the live stream. |
``` **Benefits**\ This mode can be used in video contribution or any other application where a limited bandwidth is fully allocated to the video feed. By maintaining the data rate constant, one can easily check that the feed is not dropping. This mode is particularly useful with IP Satellite modems. ## Statistical VBR mode For many years the broadcast industry has used expensive and proprietary hardware to provide statistical multiplexing (statmux) features in MPEG-2 transport stream-based networks. With the advent of IP-based networks, the notion of multiplexing and demultiplexing sources that are bundled together is becoming less important, while the requirement to fit multiple channels in a bandwidth-constrained network remains essential. Drawing from its expertise in MPEG-4 and IP-based video networks, MediaKind has developed a next generation, IP-based, statistical rate control module for broadcast TV networks that provides the highest quality video services in a bandwidth constrained environment. By adding statistical rate control capabilities within the core of the MediaKind Live Encoder encoder, MediaKind enables service providers to both optimize the use of their bandwidth, and avoid the cost of purchasing proprietary statmux technology. In the case of DTH, multiple IP services are transmitted in bursts on a fixed bandwidth channel. In order to respect the overall bandwidth constraint, there are generally two ways of transmitting the IP traffic: Fixed bandwidth allocation: each service utilizes a constant bandwidth and the streams must be constant bit rate (CBR). The burst size and period are fixed. Dynamic, variable allocation: each service utilizes a variable bandwidth. The burst size and period are variable. The latter case is better for video transmission. Given the heterogeneous nature of video signals, it is more appropriate to use more bandwidth on parts of the video that are hard to encode and less on the easier parts. Statistically, there is a high chance that different sources do not need high bandwidth at the same time, so there is an interest in dynamically assigning the bit rate for the transmission of each source. This method is called Statistical Variable Bit Rate mode, or Statistical VBR, and the allocation mechanism Statistical Rate Control.  _Aggregated bandwidth of 4 services in Statistical VBR_ The bandwidth savings in this case are very significant. Up to a 30% bit rate reduction has been measured with 8 services. **Benefits**\ With scarce spectrum resources, the use of statistical rate control in DTH allows the number of available channels to be doubled. The overall subjective quality of the service is also greatly improved. ## Statmux, Statistical rate control Statistical rate control for HEVC, H264 and MPEG-2, SD, HD and UHD video is available in DVB and ATSC extreme export types, each statistical rate control pool can be composed of up to 64 services or 80Mbps. Statistical rate control is a Master/Slave architecture. - **Slave**: encoder on the network set to encode in VBR with a nominal quality. The slave sends the budget requirements for encoding to a central Master. - **Master**: module controlling the encoders and distributing the overall bandwidth to the different encoder available on the network. The “Master” module resides on one encoder. The “Master” guarantees that: - the sum of all the slave throughputs respect the bandwidth constraints. - the bit rate is controlled in case of failure: no service interruption, master is automatically replaced by an available “Slave”. **Benefits for operators**\ Multi-protocol, SD and HD compatible, self-contained statistical rate control for simple integration in existing architecture. MediaKind Live Encoder provides built-in features to ease Statmux operations. In order to ensure that the bit rate is always correctly distributed over content, MediaKind Live Encoder can detect that a slate has been inserted and thus reduce the bit rate to a slate level CBR bit rate to better manage bandwidth for other streams.  No operation is required when a slate is displayed on one channel of the pool, the statistical rate control automatically reclaims the bit rate from this channel. ## CVQ - Constant Video Quality A constant quality algorithm with capped bit rate can be used instead of a Constant Bit Rate target. Image bit rate is defined by its instantaneous complexity based on a sophisticated psycho-visual metric. You can define how to manage the bandwidth: - **Quality level** mode: the content is encoded at a constant perceptual quality without information on the bandwidth consumption. The aim is to achieve the desired **Quality level**. The scale works with a \[1.0-5.0] decimal scale and can be directly translated to an equivalent MOS score.As the IP packets might be fragmented, in IP output mode the bit rate can only be guaranteed within ± 3% of the selected rate.
- **Average bit rate** mode: our latest and more complete algorithm of CVQ. While keeping homogeneous quality, the algorithm guarantees the specified **Target bit Rate** over a long period of time (6 hours by default).We recommend limiting the usage of this mode to lab testing. This mode requires media conditioning licensing.
To define the **Target quality** used by the algorithm, a mapping between the bit/pixels of the configuration and the average bit rate was internally measured on a test set for each quality level. **Related information**\ [Video encoding parameters](/beam/live-encoder/parameters/encoding/video) # Set up the SDI card for HD or UHD operation In this version, the card variant for HD or UHD operation is not set via the UI. You need to manually set the SDI card variant before configuring it for the use case required. - **Variant 1**: - HD SDI input (each input is up to 3G-SDI) - **Variant 2**: - 1 UHD channel over 4x3G-SDI on ports 1,2,3 and 4 with DTA-2174B - 1 UHD channel over 4x3G-SDI on ports 1-4 or 5-8 with DTA-2178 1. Connect to the unit using SSH. 2. Edit the file (using vi) or set the value in it using cat: ```shell sudo chmod +777 /var/opt/mediakind/platform/dta_217x_variant echo 2 > /var/opt/mediakind/platform/dta_217x_variant ```This mode requires media conditioning licensing.
3. Check if the value is correct: ```shell cat /var/opt/mediakind/platform/dta_217x_variant ``` 4. Reboot the unit: ```shell sudo reboot ``` At this stage, all cards within the unit will be set to that variant. Note that if you have multiple cards you need to be in different variants, you can make **/var/opt/mediakind/platform/dta\217x\variant** a folder and a file inside for each card, for example: ```shell echo 2 > /var/opt/mediakind/platform/dta_217x_variant/1 # First card in variant 2 ``` # Multiplexing A **multiplexer** (mux) combines multiple audio, video, and data streams into a single MPEG-2 Transport Stream (MPEG-2 TS). In broadcast and headend environments, multiplexing is how multiple channels from separate sources are consolidated into one output for delivery over cable, IPTV, or satellite. MK.IO Beam's Multiplexer takes transport stream inputs from live encoders or other sources and assembles them into a combined output for delivery over IP or ASI. It supports re-multiplexing and de-multiplexing of IP input streams, with PID remapping, PID filtering, service information (SI/PSI) management, and output adaptation for a range of network environments. Stream assembly and timing alignment are handled automatically. ## Input redundancy Input sources can be configured with redundancy. If the active source becomes unhealthy, the Multiplexer automatically switches to a secondary source. When secondary sources are monitored, the Multiplexer checks their health before switching, ensuring it only moves to a source in a good state. ## Statistical multiplexing Standard multiplexing assigns a fixed bitrate to each program in the output transport stream. Statistical multiplexing (statmux) improves on this by dynamically sharing available bandwidth across a pool of encoding services based on encoding complexity at any given moment. Channels with complex scenes receive more bitrate; simpler scenes return bandwidth to the pool. MK.IO Beam's Multiplexer supports statmux through pools. Each pool has a defined bitrate budget and works with Live Encoder services configured as statmux slaves. The Multiplexer acts as the statmux master, coordinating bitrate allocation across all participating encoders. See [Advanced rate control](/beam/live-encoder/rate-control) for how Live Encoder services participate in a statmux pool. ## Common use cases - Assembling multiple channels for cable or IPTV headend distribution. - Combining live-encoded services into a single transport stream for satellite uplink. - Remultiplexing incoming transport streams for downstream processing or conditioning. To start configuring a Multiplexer service, see [Configure the Multiplexer](/beam/multiplexer/configure/input). # ASI Card Configuration Tool ## Installation & Usage The configuration tool is installed as part of the cRPM ASI driver installation. It is available from the following location on the M1 or G8 platform: `/opt/mediakind/utility/bin/asi_config/` To get help on the command line options, add -h to the command line. **Example:** `./asi_config -h` or `./asi_config set connector -h` By default, the ASI configuration tool connects to the Multiplexer ASI API on the machine where the tool is running, i.e., **localhost**. To tell the tool to connect to a different server, use the `--host` optional command line argument: **Example:** `./asi_config --hostThe file contains
1or2which is the variant number.
Here is an example output of the lspci command for an M1 with 2 Dektec cards, on bus 01 and 02: ``` [root@m1-225 asi_config]# lspci | grep DekTec 01:00.0 Non-VGA unclassified device: DekTec Digital Video B.V. Device 0882 02:00.0 Non-VGA unclassified device: DekTec Digital Video B.V. Device b87e ``` ## Commands ### get servers Displays a list of the ASI servers configured for the system. **Example of usage:** ``` [root@m1-227 asi_config]# ./asi_config get servers m1-217 m1-227 ``` Gets the configured ASI servers for **localhost**. ### get connectors Displays a list of the configured connectors. Required arguments in order: `asi_server_name`: The name of the ASI server to show ASI information for. Optional arguments: - `--type server_type`: Specifies a server type to look up an alias for a specific board. (Example: m1) - `--alias alias`: Specifies a board alias when used with the --type argument. (Example: top-left) - `--pci bus_number`: Specifies the PCI bus number associated with a specific ASI card. - `--slot slot_number`: Specifies a specific slot number associated with a specific ASI card. Use with the --pci option. **Example of usage:** - `asi_config get connectors m1-227`: Gets the configured connectors for ASI server 'm1-227'. - `asi_config get connectors m1-227 --type m1 --alias top-left`: Gets the configured connectors for the card in the top-left slot of the m1 ASI server 'm1-227'. - `asi_config get connectors m1-227 --pci 1 --slot 0`: Gets the configured connectors for the card attached to PCI bus 1 in slot 0 on ASI server 'm1-227'. **Example with output:** ``` [root@m1-227 asi_config]# ./asi_config get connectors m1-227 Server: m1-227 REST ID | Direction | PCI Bus No. | PCI Slot No. | Connector | Interface | Multicast | Port | Input Packet Length | Alias ================================================================================================================================ 1 | input | 1 | 0 | 1 | lo | 239.123.1.1 | 1234 | auto | 2 | input | 1 | 0 | 2 | lo | 239.123.1.2 | 1234 | auto | 3 | input | 1 | 0 | 3 | lo | 239.123.1.3 | 1234 | auto | 4 | input | 1 | 0 | 4 | lo | 239.123.1.4 | 1234 | auto | ``` ### remove server Removes all the connectors associated with the specified server. **Example of usage:** - `asi_config remove server m1-227`: Removes the ASI server m1-227 and all the connectors associated with it. ### remove connector Removes a single connector. Required arguments in order: 1. `asi_server_name`: The name of the ASI server to update. 2. `server_type_or_pci_bus_number`: The type of server when using an alias or the actual PCI bus number (int) of the board being removed. 3. `alias_or_slot_number`: The alias for the board or the actual slot number (int) for the board. 4. `connector`: The physical connector index (1 based) on the board. **Example of usage:** - `asi_config remove connector m1-227 m1 top-left 3`: Removes the third connector for the top-left board in an M1 server. - `asi_config remove connector m1-227 1 0 3`: Removes the third connector for the board associated with PCI bus 1 on slot 0. ### remove api-connector Removes a single connector identified by its API number (REST ID in the table from get connectors). Required arguments in order: 1. `asi_server_name`: The name of the ASI server to update. 2. `api_connector`: The API connector number associated with the connector to remove. This is the value that is set in Multiplexer configurations. **Example of usage:** - `asi_config remove api-connector m1-227 1`: Removes the connector with the API number of 1 from the server called m1-227. ### set connector Sets the properties for a connector. Connectors can be identified via the board and index. Required arguments in order: 1. `server`: The name of the ASI server to update. 2. `server_type_or_pci_bus_number`: The type of server when using an alias or the actual PCI bus number (int) of the board being removed. 3. `alias_or_slot_number`: The alias for the board or the actual slot number (int) for the board. 4. `connector`: The physical connector index (1 based) on the board. After these arguments, you must specify either input or output. ### input Sets the connector as an ASI input. Optional arguments: - `--multicast` or `-m`: The multicast address (URL format) to which the content from this ASI connector should be re-transmitted. If not set, the tool will pick a multicast that is not already in use for an existing connector. - `--interface` or `-i`: The name of the network interface to use for the multicast transmission. If not specified, the interface 'lo' is used. - `--set_api_id` or `-a`: Specifies the ID to associate with this connector in the REST API. If not set, an ID is auto-generated. - `--input_packet_length` or `-ipl`: Specifies the input packet length for the connector. Values supported are `auto`, `188` and `204`. **Example of usage:** ``` [root@m1-227 asi_config]# ./asi_config set connector m1-227 1 0 1 input --interface lo --multicast udp://239.123.1.1:1234 -ipl 204 REST ID | Direction | PCI Bus No. | PCI Slot No. | Connector | Interface | Multicast | Port | Input Packet Length | Alias ================================================================================================================================ 1 | input | 1 | 0 | 1 | lo | 239.123.1.1 | 1234 | 204 | ``` Configures the API connector with the ID of 1 to be an input and have the multicast and port values. Additionally, it configures the input packet length to be 204 bytes. Please note that supported Dektec cards always operate in `auto` mode. Output packet length can be configured in the Multiplexer output settings. ### output Sets the connector as an ASI output. Optional arguments: - `--set_api_id`: Specifies the ID to associate with this connector in the REST API. If not set, an ID is auto-generated. - `asi_config set connector m1-227 m1 top-left 3 input`: Sets the third connector on the card in the top-left slot of the M1 server m1-227 to be an input. - `asi_config set connector m1-227 m1 top-left 3 input --multicast udp://239.34.221.1:5000 --interface lo --set_api_id 3`: Sets the third connector on the card in the top-left slot of the M1 server m1-227 to be an input with data transmitted on the loopback interface using a multicast group address of 229.34.221.1 on port 5000. The ASI content can be used by setting the ASI connector to 3 in the Multiplexer configuration. - `asi_config set connector m1-227 m1 top-left 3 output`: Sets the third connector on the card in the top-left slot of the M1 server m1-227 to be an output. **Example of usage:** ``` [root@m1-227 asi_config]# ./asi_config set connector m1-227 1 0 1 output REST ID | Direction | PCI Bus No. | PCI Slot No. | Connector | Interface | Multicast | Port | Input Packet Length | Alias ================================================================================================================================ 1 | output | 1 | 0 | 1 | lo | 239.123.1.1 | 1234 | 204 | ``` Configures the API connector with the ID of 1 to be an output. Interface, Multicast, Port and Input Packet Length values in the table do not apply to output connectors. ### set api-connector Changes an existing connector using its REST ID. Required arguments in order: 1. `asi_server_name`: The name of the ASI server to update. 2. `api_connector`: The API connector number associated with the connector. This is the value that is set in Multiplexer configurations. After these arguments, you must specify either input or output. The same optional arguments as in [set connector](/beam/multiplexer/asi-card#set-connector) are supported. **Example of usage:** ``` [root@m1-227 asi_config]# ./asi_config set api-connector m1-227 1 input --multicast udp://239.123.1.6:1234 -ipl auto REST ID | Direction | PCI Bus No. | PCI Slot No. | Connector | Interface | Multicast | Port | Input Packet Length | Alias ================================================================================================================================ 1 | input | -1 | -1 | 1 | lo | 239.123.1.6 | 1234 | auto | ``` ### export Exports the current configuration to a file. Required arguments in order: - `file`: The path to the file to create. Optional arguments: - `--server`: The name of a single ASI server to export. If not set, all servers are exported. **Example of usage:** - `asi_config export /home/mfeng/asi_settings.json`: Exports all the ASI configuration to the file asi\_settings.json. - `asi_config export /home/mfeng/m1-227.json --server m1-227`: Exports the ASI configuration for server m1-227 to the file m1-227.json. ### import Imports the ASI configuration from a file. Required arguments in order: - `file`: The path to the file to import the settings from. Optional arguments: - `--server`: The name of a single ASI server to import. If not set, all servers are imported. **Example of usage:** - `asi_config import /home/mfeng/asi_settings.json`: Imports all the ASI configuration from the file asi\_settings.json. - `asi_config import /home/mfeng/m1-227.json --server m1-227`: Imports the ASI configuration for server m1-227 from the file m1-227.json. - [Input](/beam/multiplexer/configure/input) - [Transport Stream](/beam/multiplexer/configure/transport-stream) - [Transport Stream Mode For Outputs](/beam/multiplexer/configure/transport-stream-mode-for-outputs) - [Output](/beam/multiplexer/configure/output) - [Virtual Component](/beam/multiplexer/configure/virtual-component) - [Descriptor](/beam/multiplexer/configure/descriptor) - [Remux](/beam/multiplexer/configure/remux) - [Bandwidth Policy Group](/beam/multiplexer/configure/bandwidth-policy-group) - [Statmux pools switching](/beam/multiplexer/configure/statmux-pool) - [Configure Regional Statmux](/beam/multiplexer/configure/regional-statmux): Configure a Regional Statmux in MK.IO Beam. ## Configuring Bandwidth Policing Group 1. Create a new Multiplexing Service and configure the service settings. 2. Configure **Transport Stream** parameters. 1. Open the **Mux** tab to configure total bitrate. 2. Open and configure the **Output** tab: - Set an **Output Name**. - Set the output **Type**to IP. - Select the **network interface** and define the **stream address**. 3. Open the **Bandwidth Policing** tab and configure the groups: - Click the **Add Group** button to configure a first group defined with a name and a bitrate. - Click the **Add Group** button to configure as many groups as needed defined with specific name and bitrate. 3. Assign the **Bandwidth Policing Group** to an output service to the transport stream. 1. Click **add** to create a new output service.  2. Set the **Service Passthrough**mode to **On** to display specific parameters. 3. Select one of the **Bandwidth Policing Group** previously created. 4. Configure the **Sources**' **Input** parameters with the appropriate **Network Interface**, **Destination IP Address** and **Port**number. 4. Assign the **Bandwidth Policing Group** to a video component of an output service. 1. Click **add** to create a new component to an existing output service.  2. Configure the **Input** tab parameters. 3. Open and configure the **Output** tab and select one of the **Bandwidth Policing Group** previously created. 4. Create and configure any other video component needed with specific **Bandwidth Policing Group**. 5. Click **Save and continue** to save your modifications. 6. Assign a server and start the service. The service is running and **Bandwidth Policing Group** information (bpgId) are assigned to the service configuration files at both services and component level. You can also monitor the [**Bandwidth Policing Group** statistics](/beam/multiplexer/monitor#bandwidth-policing) by clicking the `Pie chart` icon button on the Services page. ## Configuring a service descriptor 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Select the service and add a custom descriptor to the transport stream service if none exists, or select an existing descriptor to display **Properties**.  1. Enter the service Name 2. Enter the service provider name 3. Select the service type in the drop-down list 4. Select the regeneration mode for this descriptor when descriptor regeneration is on. ## Configuring a component descriptor 1. Click `Edit` icon. The transport stream parameters display. 2. Select the component and add a custom descriptor to the transport stream component if none exists or select an existing descriptor to display **Properties**.  # Input source redundancy modes If a source has bad health, Multiplexer can automatically switch to an alternative source. Conversely, if the secondary has bad health, it can prevent from an unnecessary redundancy switch. Monitoring the secondary provides the advantage of having a health report for all sources, allowing the automatic switch to use this information when necessary. However, this behavior has the drawback of higher CPU and network bandwidth usage. The behavior of the input source switch mechanism can be summarized into two modes: 1. Automatic switch behavior **when the secondary sources are monitored**: - If the active source input shows bad health, then a switch to another source reporting source with good health (green) occurs. - If the active source reports PID or PIDs missing and they are reported as critical, then a switch to another source reporting source with good health (green) occurs. - If the active source has missing PID or PIDs reported but only as warning, then no change occurs. 2. Automatic switch behavior **when the secondary sources are not monitored**: - If the active source input goes missing, then a switch to another source occurs. - If the active source has missing PID or PIDs reported and they are reported as critical then a switch to another source occurs. - If the active source has missing PID or PIDs reported but only as warnings, then no change occurs.All values are hexadecimal.
## Input source health monitoring view The Input Redundancy Health view displays information on the health of an input source for all servers the configuration is assigned to. This page is an overview of redundant input sources, the input source health, the DVB services per source and you can manually switch between sources. Both the input name assigned by the user in the Multiplexer configuration and the input details are visible for added convenience. If the input is used for multiple output services and/or components, the full list under _Output Services_ can be expanded by clicking it.  ## Displaying health information for an input source The Input Redundancy health page can be used to monitor input sources and manually switch sources. 1. Edit the **Multiplexing** service from the Services page. Alternatively, go to the services **Statistics** view. 2. Select **Input redundancy** to display the input sources, and their redundancies and statuses.  3. Hover the mouse over the status for a source to display information.  ## Switching the active input source manually A transport stream is running with primary and secondary inputs. 1. Display Services. 2. Edit the **Multiplexing** service to display the transport stream. 3. Select **Input Redundancy** to display the health page. 4. Click `Left/Right` icon to switch to the other input source.  The previously inactive source becomes active. ## Automatic input source switch health monitoring You can monitor the health for individual input components (PIDs) or input DVB services. You can configure a missing component or DVB service to contribute to the health of an input source and trigger a redundancy switch if necessary. ### Monitoring input source health at the service level 1. Display Services. 2. Edit the **Multiplexing** service to display the transport stream. 3. Select the Transport Stream to display the **Properties** configuration. 4. Configure the **Source Redundancy Mode** parameter to **Automatic with monitoring**.  5. From the Output Stream tree, select the **Service** to display **Output** parameters. 6. Select **Monitor health of all signalled Input components** to activate the automatic health monitoring for this service. 7. Check the health of the input sources for this service: 1. Stop the primary source supplying the Multiplexer. 2. Click `Left/Right` icon in the header menu to display the Input source health monitoring page. 3. Hover the mouse over the input source statuses to get more details. As a result, the input source is showing an unhealthy status. The missing PIDs from the service are now reported as critical issues and they are labelled _Missing Mandatory Component_. If the secondary source is healthy, the input source automatic switches to the healthy input. ### Monitoring input source health at the component level 1. Display Services. 2. Edit the **Multiplexing** service to display the transport stream. 3. Select the Output component in the Transport Stream tree to display the **Properties** configuration.  4. From the **Input** tab, select **Alarm if input component missing** to enable. 5. From the **Input tab**, select **Contributes for input health Monitoring**. 6. Check that the automatic switch occurs when necessary: 1. Stop the primary source for the PID. 2. Click `Left/Right` icon in the header menu to display the Input source health monitoring page. 3. Hover the mouse over the input source statuses to get more details. The active input source switches to the healthy input source. ## Using the Input Content panel To preview the inputs to the Multiplexer configuration being created, use the **Input Content** panel.  The **Input Content** panel is pre-loaded with any input in use by a configuration output services. ### Adding a new input to the Input Content panel on a new configuration or an existing configuration 1. Click the plus (+) button next to the panel title banner.  2. Fill the fields.If all sources have bad health, the Multiplexer continues cycling through the sources until a source with good health (green) is available.
 3. Once all the required fields are filled and valid, click **Add**. The newly created input shows, collapsed, in the **Input Content** panel.The new input enters the Loading state until it has extracted all the information or up to a maximum of 30 seconds.  4. To expand the input, click the **arrow** to the left of the input entry. You can also expand the child service or the component entries to reveal all the information extracted.  5. To use the input as a source, go to the **Properties** panel and click the **List of the existing sources** drop-down box.  6. Click the input. The input panel fields fill automatically. If there are multiple inputs that use this input as a source, it will also be set as a shared source.  ### Drag & DropThe field validation similar to the output panel applies in this window. Invalid fields are highlighted in red and an error message shows.
Alternatively, it is possible to create output items by dragging items from the Input Content Panel to the Output Stream Panel. This heavily reduces the burden of manual data introduction and checking. When using the Drag & Drop functionality, a copy of the item that was dragged will be created in _snapshot_ mode. This is ideal for remux head end scenarios, where multiple MPTS sources that are outside of the user’s control need to be manipulated. This process normally involves breaking the incoming MPTS sources apart and recombining the services into new output MPTS containing different sets of services. Since the user may not have control over the incoming transport streams, their only source of control of the output is in the mux configuration itself. In these types of systems, we would expect the user to explicitly configure the services and components being passed through along with PSI/SI manipulations required to make it "their" output. Because of this, when considering a UX based on dragging input items to the output we believe operations should work recursively on whole branches to produce a static output i.e. one that does not change because items have been added to the input. We are calling this the "snapshot approach" when discussing the drag and drop operations as it produces a fixed configuration based on the "snapshot" of the input when the user was editing the configuration. **Once the content finishes loading** in the Input Content Panel, click, hold, and drag the desired item to the desired target parent in the Output Stream panel. If it is dragged to a valid target, the target itself will be highlighted in green (see picture below) and the input item can be dropped. If the target is highlighted in red, it is not a valid operation and no action will take place.  Once the item is dropped to a valid target parent, a copy of it will be added to the output stream. Available configuration fields will be autofilled from the content extracted and displayed in the Input Content Panel. Any children items will be recursively added in the same way. Do any edits to the autofilled new items under the Output Stream panel. Save the configuration.  The following drag and drop operations are currently implemented:This is only supported from Multiplexer versions 21.3 onwards.
| Drag (Source) | Drop to (Target) | Mode |
|---|---|---|
| Service | Transport Stream / Service | Snapshot |
| Component | Transport Stream / Service / Component | Snapshot |
| Descriptor | Component / Descriptor | Snapshot |
You can delete inputs: - by selecting **Delete Input**; - by clicking the **trash can** button.Once loaded, the input-extracted information does not refresh automatically.
The inputs that are in use cannot be deleted. If the input is in use, the Delete Input option and the trash can button are greyed out.
## Configuring a video output A video output stream exists in the transport stream configuration. See [Configuring output transport stream elements](/beam/multiplexer/configure/transport-stream#configure-output-transport-stream-elements) for more information. 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Select the service and add a video output to the transport stream if none exists, or select an existing video output to display **Properties**.  ## Configuring an audio output 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Select the service and add an audio output to the transport stream if none exists, or select an existing audio output to display **Properties**.  # Configure Regional Statmux Regional statmux lets you efficiently combine national and regional channels in the same pool. MK.IO Beam supports encoding **multiple** regional channels. Each regional set can be inserted into its corresponding **regional multiplex** alongside shared national channels, while still using **statistical multiplexing** to save bandwidth. For example, if you have 4 **national channels** and 2 **regional channels** for each of 2 regions, you can create 2 multiplexes: ### Multiplex 1 (Region 1) - National Channel 1 - National Channel 2 - National Channel 3 - National Channel 4 - Regional Channel 1 (Region 1) - Regional Channel 2 (Region 1) ### Multiplex 2 (Region 2) - National Channel 1 - National Channel 2 - National Channel 3 - National Channel 4 - Regional Channel 1 (Region 2) - Regional Channel 2 (Region 2) National channels are common across multiplexes, while regional channels are unique to each multiplex. ## Configuring Remux ECMs 1. Display the services. 2. Click `Edit` icon to edit the services and display the parameters. The transport stream parameters display. 3. Select the service or component. 4. You can either add a Remux ECM if none exists or select an existing Remux ECM to display.The inputs in the Input Content panel that are not in use are not saved when you exit or refresh the configuration page.
  5. Enter a user-friendly **Name**. 6. Select the **Mode**. - **Remux By CAS ID**: Enter the incoming **CAS ID** of the ECM to remux.  - **Remux By PID**: Enter the incoming **Input PID** of the ECM to remux.  - **Remux By Position**: Enter the **CA Descriptor position** of the incoming ECM to remux.\ Position index is based only on the CA Descriptors and is zero based. Depending on the number of CA Descriptors available, possible position could be 0 or 1 (for 2 CA Descriptors), 0, 1 or 2 (for 3 CA Descriptors), etc.  7. Enter the **Input Program** number that contains the ECM to remux. 8. Enter the **Output PID** value that will be applied to the outgoing Remuxed ECM. 9. Enter the **Output CAS ID** value of the Remuxed ECM that will be signaled in the CA Descriptor. 10. Select the **Private Data Source** mode: - **Extract from input PMT**: Tracks the incoming changes in private data on the incoming ECM. - **User specified private data**: Overrides the private data on the remuxed ECM.  11. Select the **ECM reference** in the output PMT mode: - **Always include in PMT**: The Remux ECM will always be signaled in the output PMT table. - **Follow source**: The output PMT table will only signal the Remux ECM if the incoming PMT contains the ECM that is to be remuxed. - **Do not include in PMT**: The Remux ECM is not signaled in the output PMT table. 12. To enable an alarm to be raised when the required incoming ECM is missing: 1. Check the “Alarm if input component is missing” box. 2. Specify a **Raise Alarm After** time in milliseconds. 3. Provide any **User Alarm Text** to be displayed with the alarm. 13. For the Remux ECM to contribute to the input health monitoring, check the “Component Contributes For Input Health Monitoring” box.  14. Select the incoming source that contains the ECM to be remuxed.  ## Statmux pools switching Statistical bitrate allocation is a feature that involves a multiplexing service (statmux master) and multiple encoding live services (slaves). When two mux servers are configured for redundancy, which means that two servers are assigned to the same service (which includes one or more statmux pools definition), you can allocate different pools to different servers. 1. Create and configure the Multiplexing service. 2. From the service configuration main page, select the **Statistical Multiplexing** tab. 3. Check the **Enable Statistical Bitrate allocation** box. 4. To add two or more pools as required, click the **Add pool** button. 5. For each pool, specify the parameters: - **Name**: It is a unique identifier used when configuring Live Encoder services to be added to the pool. - **Bitrate**: It is the overall bitrate allocated to the pool. - **Interface**: It is the control interface on which messages are exchanged between the statmux master and the slaves. - The **Video Only** flag. Possible values are **On** or **Off**. 6. Save the configuration and exit. 7. Assign the service to two servers. 8. Start the service. 9. Open the **Statistics** page. 10. Go to the **Statistical Bitrate allocation** tab. 11. Scroll to the lower part of the page to check where each pool is running.  In this example, two pools called smxpool1 and smxpool2 have been defined. They have both been assigned to two servers, spark-statmux-1 and spark-statmux-2. They are both running on spark-statmux-1: both show “active” on that server. 12. To switch all the pools to the other server, select the button at the right of the server name.  Both pools appear “active” on the second server.  13. To switch a single pool to the other server, select the button at the right of the pool name.  The pool appears “active” on the first server.  ### Important note about redundancy configuration The address associated to the multicast announcers on a specific server is dynamically allocated at the installation time, either via default values or configuration options (see Installation guides for further details). It can be retrieved by logging on the server and addressing the content of the configmap for each microservice (see paragraph “Interaction with the deployment on a specific server”). To configure two servers as a redundancy pair, the announcers for all microservices need to be set the same value on both servers. To do that: 1. Edit the configmap. 2. Restart the mux, statmux, biss-ca and simulcrypt microservices. In case of statmux, the statmux multicast address must also be specified on the encoding-live services configuration as an advanced parameter (statmux.announce.addr). ## Create an output transport stream (mux) 1. Display services. 2. Click **Add service** > **Multiplexing**.  ## Configure output transport stream elements 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Select the transport stream, or an element in the stream, and use the action buttons to add, delete or organize items.You can change the order of the Remux ECMs within the service or component by selecting that item and selecting a direction.
 ## Configure a transport stream Create an output Transport Stream to aggregate outputs from multiple Encoding Live encoder sources. Before you start, ensure the multicast addresses of the Encoding Live output streams are known. 1. Create a new **Multiplexing** service and configure the service settings. 2. Configure the Transport Stream parameters: 1. Open the **Mux** tab to configure bit rate and TS levels. 2. Open the **Output** tab and select the output type: - IP output type: enter the IP stream address and destination UDP port - ASI output type: select the connector(s) - RIST output type: select the RIST mode (Caller or Listener) and connections details 3. Open the **PSI/SI** tab and configure the PSI/SI generation and table repetition rates. 3. Click **add** to add more Pass-through encoding services to the transport stream. Parameters, properties and options vary depending on the selected transport stream item.
4. Save settings to return to the services page. 5. Assign a server and start the Output Transport stream. ## Organize elements in the transport stream 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Use the buttons to shift up or down, to add or delete, or filter items in the stream.  ## Delete an element from the transport stream 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Click `Delete` icon to delete the item.  ## Configure a service in the transport stream 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Select the **Service** item in the transport stream, or select the transport stream and add a service to the output transport stream. The properties display.  ## Configuring a remux transport stream Create a basic output TS from fixed source input SPTS or MPTS. This section will describe how to select incoming PIDs and remap them into a new output Transport stream. The multicast addresses and PID mappings of the input transport streams are known. 1. Create a new Multiplexing Service and configure the service settings. 2. Configure Transport Stream parameters. 1. Open the **Mux** tab to configure bitrate and TS levels. 2. Open the **Output** tab and select the output type: - IP output type: enter the IP stream address and destination UDP port - ASI output type: select the connector(s) - RIST output type: select the RIST mode (Caller or Listener) and connections details 3. Open the **PSI/SI** tab and configure the PSI/SI generation and table repetition rates. 3. Click **add** to add output services to the transport stream. - **Service Passthrough**: At a Service level it is possible to configure **Service Passthrough** mode to re-multiplex an entire incoming service. Selecting **Service Passthrough** displays the input specific parameters - **Descriptor Regeneration**: Regenerate descriptors from an incoming TS. Enabling the **Regenerate Descriptor** setting displays the input TS parameters required to configure the incoming TS and Program number. 4. Choose to re-order TS components using the Output Stream tool-bar.  5. Save settings to return to the services page. 6. Assign a server and start the Output Transport stream. ## Configuring a simulcrypt output transport stream ### Specific configuration with an external EIS If External EIS is being used: 1. Click **Services** in the left-side menu panel. 2. Edit the Multiplexing Service that you want to scramble. 3. Select the **Scrambling** tab. 4. Select **Transport Stream** under the **Scrambling Groups** panel. 5. Click the **Enable EIS** check-box.  ### Configuring a simulcrypt output transport stream Create a basic output TS from fixed source input SPTS or MPTS. This section will describe how to remux services and scramble them in the output transport stream. - An unscrambled Transport Stream with three services is configured in Multiplexer. - The IP addresses and SuperCASID of any ECMG and EMMG servers are known. - The Access Criteria required for each SCG is known. Add Simulcrypt scrambling with an EMM stream to the unscrambled TS. 1. Create **SCG 1**. 1. Click **Services** in the left-side menu panel. 2. Edit the Multiplexing Service that you want to scramble. The service configuration options display. 3. Select the **Scrambling** tab.  2. Configure scrambling for **Service 1**. 1. Drag and drop **Service 1** to the **Transport Stream** in the **Scrambling Groups** panel.  A new **SCG** is created. 2. Click the **SCG** to display options. The **Scrambling Group Properties** display. 3. Enter a name for the **SCG**.  The **SCG** name updates in the tree view. 4. Select the **Scrambling Algorithm** that applies: - **CSA V1 48bits (Conformance Mode On)** - **CSA V2 64bits (Conformance Mode Off)** - **CISSA V1 TS Level** - **CISSA V1 PES Level** - **AES-ECB** 5. Select the behavior until all required ECMs for SCG first received: - Component(s) in SCG not present in output TS - Component(s) in SCG in-the-clear in output TS 6. Select the scrambling behavior to apply to the components: - Checkbox ticked: Scramble components in the group - Checkbox unticked: Does not scramble the components in the group 7. Configure an **ECMG** for the **SCG** by clicking **Scrambling Vendors** tab, then click **+ Add Vendor** to configure.  The ECMG configuration will be used to create **ECMs** that scramble services and components. 8. Add an ECM to **SCG 1** by selecting the **ECMs** tab, then click **+ Add ECM** to add and configure. (The **Vendor** is based on the ECMG definition). The **ECM** is now configured.  9. Click **Save and continue** to scramble Service 1. The MediaKind ECM is present in the output transport stream. 3. Configure scrambling for **Service 2**. 1. Drag and drop the video component with **PID 200** from Service 2 to the **Transport Stream** in the **Scrambling Groups** panel. A new SCG is created with **PID 200** as the scrambled component.  2. Drag and drop the video component with **PID 300** from Service 3 to the new SCG in the **Scrambling Groups**. PID 300 is added to the new SCG.  3. Select the added SCG to edit the **Scrambling Groups Properties** and enter a name for it. 4. Add an ECM to **SCG 2** by selecting the **ECMs** tab, then click **+ Add ECM** to add and configure. **SCG 2** is complete.  5. Click **Save and continue** to scramble PIDs in the SCG and to continue the configuration. MediaKind ECM is present in the output transport stream. 4. Create an **EMM stream**. 1. In the **Multiplexing** tab, right click the **Transport Stream** node, then click **Add...** to add a new EMM.  The EMM stream is created.  2. Add the EMMG vendor using the **Scrambling Vendors** tab in the EMM properties.If the Input Program number is unknown then set to 0 to choose the first program referenced in the PAT of the incoming SPTS.
```  ``` 3\. Select the **EMM** tab and enter an **output PID** and **Vendor**. 4. If the EMM is streamed from an EMMG, the set **mode** to **Local Insertion**, otherwise leave the default value. 5. Save the configuration to accept the EMMG connection. The EMM is present in the output Transport Stream. ## Configuring a fixed key output transport stream Create a basic output TS from fixed source input SPTS or MPTS. This section will describe how to remux services and scramble them in the output transport stream. An unscrambled Transport Stream with three services is configured in Multiplexer. Add fixed key scrambling to the unscrambled TS. 1. Create SCG 1. 1. Click **Services** in the left-side menu panel. 2. Edit the Multiplexing Service that you want to scramble. The service configuration options display. 3. Select the **Scrambling** tab.  2. Configure scrambling for Service 1. 1. Drag and drop **Service 1** to the **Transport Stream** in the **Scrambling Groups** panel.  A new **SCG** is created. 2. Click the **SCG** to display options. The **Scrambling Group Properties** displays. 3. Enter a name for the **SCG**.  The **SCG** name updates in the tree view. 4. Select the fixed key **Scrambling Algorithm** to apply: - BISS Mode1 - BISS Mode2 5. Enter the related **BISS Session Word**: - 12 hex characters for BISS Mode1 - 32 hex characters for BISS Mode2 6. Select the scrambling behavior to apply to the components: - Checkbox ticked: Scramble components in the group - Checkbox unticked: Does not scramble the components in the group 3. Configure scrambling for **Service 2**. 1. Drag and drop the video component with **PID 200** from Service 2 to the **Transport Stream** in the **Scrambling Groups** panel.  A new SCG is created with **PID 200** as the scrambled component. 2. Drag and drop the video component with **PID 300** from Service 3 to the new SCG in the **Scrambling Groups**.  PID 300 is added to the new SCG. 3. Select the added SCG to edit the **Scrambling Groups Properties** and enter a name for it. 4. Select the fixed key **Scrambling Algorithm** to apply: - BISS Mode1 - BISS Mode2 5. Enter the related **BISS Session Word**: - 12 hex characters for BISS Mode1 - 32 hex characters for BISS Mode2 6. Select the scrambling behavior to apply to the components: - Checkbox ticked: Scramble components in the group - Checkbox unticked: Does not scramble the components in the group 4. Save the configuration. Scrambled components are present in the output transport stream. ## Configuring a BISS-CA output transport stream Create a basic output TS from fixed source input SPTS or MPTS. This section will describe how to remux services and scramble them in the output transport stream. An unscrambled Transport Stream with three services is configured in Multiplexer. Add BISS-CA scrambling with an EMM stream to the unscrambled TS: - EMM stream on PID 400 from ClientID 0x5555 with 500Kbs limit Channel and Stream unknown. - Create two output Scrambling Control Groups (SCG): - **SCG 1** - Scramble all components in Service 1 - Scramble with CSA1 scrambler - Access Criteria 0x11112222 - Private Data 0x33334444 - One ECM with SuperCASID 0x12345678 with PSI signaling at service level - **SCG 2** - Scramble with CSA1 scrambler - Scramble video PID 200 from Service 2 - Scramble video PID 300 from Service 3 - No Access Criteria or Private Data required - One ECM SuperCASID 0x12345678 with PSI signaling at service level 1. Create **SCG 1**: 1. Click **Services** in the left-side menu panel. 2. Edit the Multiplexing service that you want to scramble. The service configuration options display. 3. Select the **Scrambling** tab.  2. Configure scrambling for **Service 1**: 1. Drag and drop **Service 1** to the **Transport Stream** in the **Scrambling Groups** panel.  A new **SCG** is created. 2. Click **SCG** to display options. The **Scrambling Group Properties** displays. 3. Enter a name for the **SCG**.  The **SCG** name updates in the tree view. 4. Select the **BISS-CA** as **Scrambling Algorithm**. 5. Enter the **ECM PID** and **EMM PID**. 6. Select the location in the PMT of the **CA descriptor**: - Service - Component 7. Enter the four-hex unique ID for the **Entitlement Session**. 8. Select a pre-imported file that contains the **Active Key**. 9. Select the **Behaviour until all required ECMs for SCG first received**: - Component(s) in SCG not present in output TS - Component(s) in SCG in-the-clear in output TS 10. Select the scrambling behavior to apply to the components: - Checkbox ticked: scramble components in the group - Checkbox unticked: does not scramble the components in the groupDestination UDP port is only required when streaming EMMs via UDP. Automatic mode allows the first Simulcrypt channel and stream to connect from the defined EMMG ClientID. Any later connection requests are rejected. Clear the check box to allow multiple connections and to manually add channel and stream definitions.
``` - **EMM bitrate** - **Period to play the session word** (must be greater than the **Additional Descrambler Delay** and less than or equal to the **Session Key Period**) - **Period to play the key session** (defaults to 0, if not 0 must be greater than 60 seconds and a multiple of the session word period) - **Prevent Descrambled Forward** - **Prevent Decode Forward** - **Insert Watermark** - **EMM ingest Buffer Duration** - **Additional Descrambler Delay** ``` 11\. Click **Save and continue** to scramble Service 1. MediaKind ECM is present in the output transport stream. 3. Configure scrambling for **Service 2**: 1. Drag and drop the video component with **PID 200** from Service 2 to the **Transport Stream** in the **Scrambling Groups** panel.  A new SCG is created with **PID 200** as the scrambled component. 2. Drag and drop the video component with **PID 300** from Service 3 to the new SCG in the **Scrambling Groups**.  PID 300 is added to the new SCG. 3. Select the added SCG to edit the **Scrambling Groups Properties** and enter a name for it. 4. Click **Save and continue** to scramble PIDs in the SCG and to continue the configuration. MediaKind ECM is present in the output transport stream. 4. Save the configuration to accept the EMMG connection. The EMM is present in the output Transport Stream.Changing the default value of an advanced parameter promotes from the Advanced Settings area to the Main Settings area.
## Configuring a dynamic PID output transport stream (remapping PID for remuxing) Create a basic output TS from fixed source input SPTS or MPTS. This example configuration describes how to select incoming PIDs and remap them into a new output Transport stream. The multicast addresses and PID mappings of the input transport streams are known. Create a DVB Transport Stream with the following requirements: - **Output TS bitrate:** 40 Mbs - **TS ID and Original Network ID:** 10 - **Multicast address:** 239.0.0.1, Port 5000, UDP delivery - **PSI required:** PAT, PMT, SDT, TOT, TDT - **3 Output Services:**Please be aware of the following considerations when configuring BISS-CA:
- If interoperability with MediaKind RX8200 is required, Additional Descrambler Delay must be set to 60 seconds.
- BISS-CA timings are not accurate when session word and session key change at same time.
- The EMM repetition period has an effect on the EMM bitrate. If the EMM repetition rate is too low and the key files are too large, the EMM bitrate on the output will be higher than the configured bitrate.
| Channel | Video Input PID | Video Output PID | Audio Input PID | Audio Output PID | Service descriptor |
|---|---|---|---|---|---|
| 1 | 100 | 100 | 101 | 101 | Use existing descriptor |
| 2 | 100 | 200 | 101 | 201 | Use existing descriptor |
| 3 | Set Input Tag to 30 on Program 3 | 300 | Set to English on Program 3 | 301 | Replace Service Type for type 23 |
 3. Configure the output multicast details in the **Output** > **Output** tab. Multiple outputs for the same Transport Stream can be added using the `+Add` button.  4. Configure **Tables** in the **PSI/SI** tab.  5. Add a TOT descriptor to the output service.  6. Click **Add output** and configure components for **Service 1**. 1. Set the **Regenerate Descriptor** to **On**.Changing the default value of an advanced parameters promotes from the Advanced Settings area to the Main Settings area.
```  ``` 2\. Add video and audio components, then configure (see table above for example parameters).   - **To regenerate a descriptor:** You can regenerate descriptors from an incoming TS by enabling the Regenerate Descriptor option with the incoming TS and Program number. - **For Service Passthrough:** Set to **On** in order to re-multiplex an entire incoming service. **This avoids the need to explicitly define the components and descriptors** included in the service. 7. Click **Add output** and configure components for **Service 2**. In our example, Service 2 needs the input PIDs to be remapped to new PIDs in the output TS.   8. Click **Add output** and configure components for **Service 3**.Parameters vary in relation to your selection and configuration. Orange indicates that a change is made. The changes are applied upon saving the configuration.
1. Set the Input selection mode to **Tag**, and set the **Input tag** to 30 for **Program number** 3 (this is for dynamic PID tracking using the example parameters from the table above).  2. Configure the **Audio Language** using the example parameters from the table above.  3. Add a service descriptor to replace the existing descriptor with the new service type.  The output Transport Stream is populated with services ready for play out. 4. Use the buttons in the toolbar to reorder elements in the stream.Edited elements display in orange.  Changes are applied when saved. 9. Click **Save and exit** to apply changes. 10. Assign a server to the service. 11. Click `Play` icon to start the transport stream. The Status column shows **started**.  # Transport Stream Mode For Outputs The transport stream (TS) mode selects whether the output is constant bitrate (CBR) or variable bitrate (VBR). It is controlled using advanced settings described below.See example settings in the table above for dynamic PID tracking using a Video Input Tag.
## Transport stream mode for ASI outputs The TS mode for ASI outputs is always CBR and cannot be changed. ## Configuring the transport stream mode for IP outputsAn advanced settings property will be placed in the Properties panel when set to a non-default value, and placed in the Advanced Settings drop-down panel when set to its default value. The settings are described in the Stream Processing tab of the Multiplexer Parameters.
The TS mode for IP outputs may be CBR or VBR. It is a single setting that applies to all IP outputs. The default is CBR. The supported VBR mode is SMPTE ST 2022-3, and hence the TS will only be valid if it contains no more than one referenced PCR PID. When the TS mode for IP outputs is set to CBR, null and non-null packets populate each IP frame. IP frames will be output regularly at a frame rate determined by the total bitrate of the multiplexer and the number of packets per frame. When the TS mode for IP outputs is set to VBR, non-null packets populate each IP frame. All null packets are discarded, providing maximum latency requirements are met (see [Controlling latency for VBR TS IP outputs](/beam/multiplexer/configure/transport-stream-mode-for-outputs#controlling-latency-for-vbr-ts-ip-outputs)). IP frames will be output at a frame rate that is no greater than the equivalent CBR frame rate. The total bitrate of the multiplexer determines the maximum bitrate of the VBR TS payload of each IP output. ### To configure CBR TS mode for all IP outputs: 1. Click on the transport stream in the **Output Stream** panel. 2. Find the **TS mode for all IP outputs** property, either in the **Mux** tab of the **Properties** panel or in the **Advanced Settings** drop-down panel. 3. Select **CBR** from the **TS mode for all IP outputs** property. ### To configure VBR TS mode for all IP outputs: 1. Click on the transport stream in the **Output Stream** panel. 2. Find the **TS mode for all IP outputs** property, either in the **Mux** tab of the **Properties** panel or in the **Advanced Settings** drop-down panel. 3. Select **VBR - SMPTE ST 2022-3 (Single referenced PCR PID only)** from the **TS mode for all IP outputs** property.The TS mode for IP outputs and the number of packets per frame are configurable from Beam version 1.12. Prior to that version, the TS mode for IP outputs is always CBR, and there are always 7 packets per frame.
## Controlling latency for VBR TS IP outputs The TS packet period for a CBR TS is constant. When encapsulated in IP frames, there is a latency of between 0 and 6 TS packets. This latency is usually small - for example, a 10 Mbps TS encapsulated in a 7-packet IP frame would incur a latency of less than 1 ms. The TS packet period for a VBR TS is not constant. For a low VBR TS bitrate, the TS packet period will be high. After IP encapsulation, the IP latency could be much higher than that of the equivalent CBR TS. The maximum VBR frame period guards against excessive latencies. The maximum VBR frame period is a single setting that applies to all IP outputs. The default is 100 ms. It defines the maximum time between consecutive VBR frames. Null packets are inserted in IP frames if necessary to meet the maximum VBR frame period. This setting is necessary for the following reasons: - Certain protocols such as RTP, FEC and RIST must buffer data, and equipment using those protocols expect a minimum frame rate to ensure a reasonable latency through their buffers. - Downstream equipment is likely to declare a loss of input if a frame does not arrive within a certain period after the previous frame arrived. - The latency through the buffers, both in downstream equipment and the multiplexer output buffer, can be controlled directly via the maximum VBR frame period. Note that the latency for IP outputs is increased by the maximum VBR frame period. The default is sufficient for most applications, and it is only necessary to change the maximum VBR frame period to reduce the latency for IP outputs and/or reduce the maximum latency through downstream equipment input buffers. For low-latency applications, there is a trade-off between latency, packets-per-frame and the minimum TS bitrate before nulls are allowed into a VBR IP output. For example: - Using the default of 7 packets per frame, the default maximum VBR frame period of 100 ms results in a minimum TS bitrate of approximately 105 Kbps. The maximum latency through a downstream RTP buffer of 20 frames is 2 seconds. - Reducing the maximum VBR frame period to 10 ms increases the minimum TS bitrate to approximately 1 Mbps. The maximum latency through the same downstream RTP buffer is 200 ms. - With the maximum VBR frame period still at 10 ms, reducing frame occupancy to 1 packet per frame reduces the minimum TS bitrate to approximately 150 Kbps. ### To configure the maximum VBR frame period for all IP outputs: 1. Click on the transport stream in the **Output Stream** panel. 2. Find the **Maximum VBR frame period for all IP outputs** property, either in the **Mux** tab of the **Properties** panel or in the **Advanced Settings** drop-down panel. 3. Set the **Maximum VBR frame period for all IP outputs** property to the desired value in milliseconds. ### To configure the number of TS packets per IP frame: 1. Click on the transport stream in the **Output Stream** panel. 2. Find the **Number of TS packets per IP frame** property, either in the **Mux** tab of the **Properties** panel or in the **Advanced Settings** drop-down panel. 3. Set the **Number of TS packets per IP frame** property to the desired value. ## Configuring a virtual component A user can now add component and their descriptors for inclusion in the generated PSI with re-multiplexing and associated input PID. Virtual compoments are present as just another type of component like video and audio. 1. Display services. 2. Click `Edit` icon to edit the service and display parameters. The transport stream parameters display. 3. Select the service, then add and configure a virtual component to the service.  4. You can then add a component descriptor as per any other service output. # Interaction with the deployment on a specific server The product is installed as a set of pods running on a k3s deployment in a namespace called mediakind. In the following paragraphs, more information is provided about how to interact with the different microservices composing the product as well as where to find useful information about the installation. Interaction is possible using either the kubectl command line tool or the k9s environment tool. - For more details about the usage of the kubectl tool, please refer to the official documentation available here:Ensure the output TS contains no more than a single referenced PCR PID. If the output TS contains multiple referenced PCR PIDs, the output TS will not be compliant with ISO/IEC 13818-1.
2. Verify that the status is “Running” for all the pods. If this is not the case, the system may not behave as expected. If any of the pods is not in “Running” state, type any or all of these commands to help you understand what is wrong: - kubectl get pods -n mediakind: Get the status of all the pods running on the server. It may be that some other microservice is also not in “Running” state. - kubectl describe pod -n mediakind `The installation of the stream-processor-asi and the stream-processor-simulcrypt controls is optional. They should not be present on your system unless you have chosen to install them and executed the additional installation steps as described in the installation guides.
6. Verify that the status is “Running” for all the pods. If this is not the case, the system may not behave as expected. If any of the pods is not in “Running” state, try the following to help you understand what is wrong: 1. Use the **up arrow** and **down arrow** keys to scroll the list of all the pods and check if any other microservice is also not in “Running” state. 2. When the line containing the name of the pod is highlighted, press the **d** key. A description of the pod appears. 3. Use the **down arrow** key to scroll down and check the last part of the information. It can contain a list of warning or error events. 4. To exit from the pod description, press the **Esc** key. ## Get the logs from a specific service 1. Login on the server where the product is installed. 2. Switch to user mediakind (for password information, ask MediaKind support): `su - mediakind` ### Using kubectl 1. Type `kubectl get pods -n mediakind | grep stream-processor`. A list of pods appears with some information associated to each of them: name, ready, status, restarts, age. The microservices listed on your installation may be a subset of the ones in this image. The installation of the stream-processor-asi and the stream-processor-simulcrypt controls is optional. They should not be present on your system unless you have chosen to install them and executed the additional installation steps as described in the installation guides.
2. Type `kubectl logs -n mediakindThe installation of the stream-processor-asi and the stream-processor-simulcrypt controls is optional. They should not be present on your system unless you have chosen to install them and executed the additional installation steps as described in the installation guides.
8. To exit the logs screen, press the **Esc** key. To return to the pods list, press the **Esc** key again. ## Restart a microservice The product microservices run as pods on the k3s deployment. The k3s framework ensures that all the required pods are always running. To restart a microservice, you only need to delete the corresponding pod. The k3s framework will restart it. 1. Login on the server where the product is installed. 2. Switch to user mediakind (for password information, ask MediaKind support): su - mediakind ### Using kubectl 1. Type `kubectl get pods -n mediakind | grep stream-processor`. A list of pods appears with some information associated to each of them: name, ready, status, restarts, age. The CTRL+L option may also be available. It can provide logs in a more readable format.
2. Verify that the status is “Running” for all the pods. If this is not the case, the system may not behave as expected. 3. Type `kubectl delete podThe installation of the stream-processor-asi and the stream-processor-simulcrypt controls is optional. They should not be present on your system unless you have chosen to install them and executed the additional installation steps as described in the installation guides.
### Using kubectl ### To view a specific microservice configuration: 1. Type `kubectl get configmap -n mediakind | grep stream-processor`. A list of configmaps appears with some information associated to each of them: name, ready, status, restarts, age. Any configmap change on your server is only applicable for the server where it is applied. If you need the same change on other servers, connect to the specific server and perform the same changes. The changes will persist across the restarts of the same microservice, but will NOT persist if a new version of the product is installed on your server.
2. Type `kubectl get configmap -n mediakindThe installation of the stream-processor-asi and the stream-processor-simulcrypt controls is optional. They should not be present on your system unless you have chosen to install them and executed the additional installation steps as described in the installation guides.
### Using k9s ### To view a specific microservice configuration: 1. Type `k9s`. An interactive user interface appears. It can contain different information depending on whether it is the first time that the k9s runs on the server or not. 2. Type `:configmaps`. 3. Press **Enter**. A list of all the configmaps appears. 4. Use the **down arrow** key to highlight the name of the configmap of the microservice of interest. 5. Press **Enter** to view its content. To check the announcer multicast information for the Mux microservice, use the **up arrow** and **down arrow** keys to highlight the stream-processor-mux-config:  Then press **Enter** and use the **down arrow** key. It should look like this, but with a different value for the “multicastAddr” field, depending on your deployment and installation options: Although the changes have been saved in the configmap and can be viewed, they will not be applied by the microservice code until it is restarted.
### To edit a specific microservice configuration: 1. Type `k9s`. An interactive user interface appears. It can contain different information depending on whether it is the first time that the k9s runs on the server or not. 2. Type `:configmaps`. 3. Press **Enter**. 4. Use the **down arrow** key to highlight the name of the configmap of the microservice of interest. 5. Press the **e** key. The configmap is now open in vi editor, and can be edited. 6. Apply your changes and save the configmap. 7. Restart the microservice.To exit the configmap content view and return to the list of configmaps, press the Esc key.
## Further interaction with your k3s deployment You can use kubectl or k9s to get additional information about your deployment status and configuration. Here are a few examples of useful operations, assuming that the user is now familiar with either tool. - Check the version of a specific microservice: if the user interface is not available, it is possible to see the version of the microservices and all the containers by accessing their deployment. - `k9s: deployments:, **d**` (describe) - `kubectl: kubectl get deployments -n mediakind, kubectl get deploymentAlthough the changes have been saved in the configmap and can be viewed, they will not be applied by the microservice code until it is restarted.
## Monitor service statistics When a multiplexer configuration is running, you can retrieve and monitor on MediaKind user interface detailed statistics information. 1. From the **Services** page, identify the service that you want to monitor and click the related `Pie chart` icon icon in the **Stats** column.The alarm tables display up to 10 alarms per page. Use the arrows or page number at the bottom of the table to navigate through the complete alarms list.
The **Statistics** page displays. 2. You can navigate between two tabs: **Overview** and **Input**. ### Overview From the **Overview** tab, you can view the following information for each program: - Multiplexer Graphs (one graph per processing server) - Multiplexer statistics: - MPTS Output - Active/Passive state of the IP output - Info - Bitrate (in bps) - FEC Bitrate (in bps) - CC errors - Dropped packets Additionally, the following actions can be taken in this page: - Customise the data displayed in the graphs by clicking the labels in the graph legend. - Customise the information displayed such as activating or deactivating the input statistics by clicking the toggle button _Inputs displayed_. - View detailed per PID information by expanding the available information in the _Multiplexer Statistics_ table using the arrow buttons under the _MPTS Output_ column. - Reset the current statistics displayed in _Multiplexer Statistics_ table using the buttons under the _Actions_ column. - Change the active Mux, when Active/Standby mode has been enabled, using the buttons under the _Activate_ column.  ### Statistical bit rate allocationThe
Pie charticon is only accessible when an encoder configuration is associated to a server and then running.
From the **Statistical bit rate allocation** tab, you can view the following information for each program: - **Statmux pool graph** Display options: - Select the statmux pool to display amongst the pools available. - Select the type of view to display (Line graph or Pool bitrates). - Select the video and audio components to display on the graph (all are activated and visible by default). - **Statmux pool table** The table shows the active/passive status of the servers used for the statmux setup. - Click the button in the Actions column to change the active server: - Click the button in front of the server line to cause it to become active for all statmux pools. - Click the button in front of a statmux pool to activate it in the corresponding server. - Click the `Play` icon button to display detailed information about the statmux group: - Service name or ID - Codec - Priority - Bit rate (min/max) - Resolution - Total bitrate - Video bitrate - Audio bitrate - Private bitrate  ### Input From the **Input** tab, you can view the following information: - Input sources information, especially service name, input source IP address and Multiplexer IP address. - RTP quality indicators - FEC quality indicators  **Tip:** You can refresh the statistics displayed by clicking the  button. ### Bandwidth Policing From the **Bandwidth Policing** tab, you can view the following information: - Bandwidth Policing Groups Bitrate Graphs.  The page will display 1 or 2 graphs depending on the number of servers assigned for the given service. **Tip:** You can filter the information displayed by selecting the Bandwidth Policing Group and the PID to display. - Bandwidth Policing Groups Statistics.  **Tip:** You can refresh the statistics displayed by clicking the  button. # Notes about Multiplexer parameters Multiple definitions may exist for the same parameter name. For example, parameters may have the same name but are used in different configuration contexts. All Parameters followed by an asterisk (\*) in the UI are mandatory. Default values, if any exist, are already supplied in the UI. # Scrambling Tab This tab allows to enable scrambling via external Eis. By default, scrambling via Eis is disabled for multiplexing services.  To enable scrambling via External Eis tick the corresponding box.The Statistical bit rate allocation tab is only available when statmux is enabled at the service level.
## Scrambling Group Properties These settings are only for advanced configurations. Default values should be suitable for the majority of use cases. Existing SCGs will be disabled on any output where external Eis is enabled.
| Parameter name | Description | Possible values |
|---|---|---|
| Minimum bitrate modifier | Controls the next minimum bitrate for each statmux interval. Lower values results in faster bitrate decrease | Floating point values between 0.1 and 1 |
| Scrambling Algorithm* | Chosen Scrambling Algorithm Version. Changing it on a running service requires a service restart. | Dropdown menu: CSA V1 48bits, CSA V2 64bits, BISS Mode1, BISS Mode2, CISSA V1 TS Level, CISSA V1 PES Level, AES-ECB, BISS CA, Director 6 |
| Behaviour until all required ECMs for SCG first received | Choose how to output until all scrambling information is available. | Dropdown menu: Component(s) in SGC not present in output TS, Component(s) in SCG in-the-clear inn output TS |
| Parameter name | Description | Possible values |
|---|---|---|
| Name* | Name of the vendor. When the configuration is saved, the name will appear as title of the vendor panel. You can use the arrow on the right to collapse or expand the panel for easier management of multiple vendors configuration. | String of max 32 characters |
| Parameter name | Description | Possible values |
|---|---|---|
| Network interface | Name of network interface used for the ECMG communications | String of max 32 characters |
| Primary address* | An IPv4 address for the primary ECMG | IPv4 address string |
| Primary port* | Port number for the primary ECMG | 0 to 65535 |
| Secondary address | An IPv4 address for the optional secondary ECMG | IPv4 address string |
| Secondary port | Port number for the optional secondary ECMG | 0 to 65535 |
| Super CAS ID* | As per ETSI 103197 DVB Simulcrypt. Hexadecimal format. | From 0 to 4294967295 |
| CA descriptor location* | The location in the PMT for the CA descriptor that describes the ECM streams | Dropdown menu: Service, Component |
| Parameter name | Description | Possible values |
|---|---|---|
| EIS ECM ID To PID Mappings | Comma-separated list of ECM IDs to PIDs. The ID is the field position unless specified. Example: 200,201,3:400,5-10:500 would map ID->PID: 0->200, 1->201, 3->400, [5,10]->500 | String of max 32 characters |
| Parameter name | Description | Possible values |
|---|---|---|
| Network interface | Name of network interface used for the CA communications | String of max 32 characters |
| TCP Port* | TCP port for EMMG traffic | 0 to 65535 |
| Destination UDP port* | Destination UDP port for EMMG traffic | 0 to 65535 |
| Client ID* | As per ETSI 103197 DVB Simulcrypt. Hexadecimal format. | From 0 to 4294967295 |
| Automatic | Will accept the first connection request from the EMMG regardless of Channel or Stream ID | Tick box, checked by default. |
| Input Bitrate Limit* | Limit to the incoming bitrate (only present when Automatic is not checked) | From 1 to 4294967295 |
| Parameter name | Description | Possible values |
|---|---|---|
| Name | Name of network interface used for the CA communications | String of max 32 characters |
| Channel | Channel identifier as per ETSI 103197 DVB Simulcrypt | From 0 to 4294967295 |
| Stream | Stream ID as per ETSI 103197 DVB Simulcrypt | From 0 to 4294967295 |
| Input Bitrate Limit | Limit to the incoming bitrate | From 1 to 4294967295 ???? |
| Parameter name | Description | Possible values |
|---|---|---|
| Ingest buffer duration | At steady state how long EMMs should sit in the ingest buffer before being played. This is for smoothing the playout. | from 0.001 to 30 seconds |
| Parameter name | Description | Possible values |
|---|---|---|
| Override ECMG transition delay | When this tick box is enabled, the subsequent parameters Transition delay start and Transition delay stop are used to override the transition delay information in the ECMG | Tick box, disabled by default |
| Transition delay start | Transition delay start in ms | From -6000 to 6000 ms |
| Transition delay stop | Transition delay stop in ms | From -6000 to 6000 ms |
| ECM delay start/stop | When this tick box is enabled, the subsequent parameters ECM delay startand ECM delay stop are used to override the ECM delay information | Tick box, disabled by default |
| ECM delay start | ECM delay start in ms | From -6000 to 6000 ms |
| ECM delay stop | ECM delay stop in ms | From -6000 to 6000 ms |
| AC delay start/stop | When this tick box is enabled, the subsequent parameters AC delay startand AC delay stop are used to override the AC delay information | Tick box, disabled by default |
| AC delay start | AC delay start in ms | From -6000 to 6000 ms |
| AC delay stop | AC delay stop in ms | From -6000 to 6000 ms |
| Override Max Comp Time | When this tick box is enabled, the subsequent parameter Max Comp Time is used to override the value of Max Comp Time | Tick box, disabled by default |
| Max Comp Time | The maximum processing time for ECM CW provisioning. If increasing ensure CP duration is still greater than the new value. | From 1 to 60000 ms |
| Parameter name | Description | Possible values |
|---|---|---|
| Network interface | Name of network interface used for the PDG communications | String of max 32 characters |
| TCP Port* | TCP port for PDG traffic | 0 to 65535 |
| UDP port* | Destination UDP port for PDG traffic | 0 to 65535 |
| Client ID* | As per ETSI 103197 DVB PDG. Hexadecimal format. | From 0 to 4294967295 |
| Automatic | Will accept the first connection request from the PDG regardless of Channel or Stream ID | Tick box, checked by default. |
| Input Bitrate Limit* | Limit to the incoming bitrate (only present when Automatic is not checked) | From 1 to 4294967295 |
| Parameter name | Description | Possible values |
|---|---|---|
| Name | Name of network interface used for the CA communications | String of max 32 characters |
| Channel | Channel identifier as per ETSI 103197 DVB PDG | From 0 to 4294967295 |
| Stream | Stream ID as per ETSI 103197 DVB PDG | From 0 to 4294967295 |
| Input Bitrate Limit | Limit to the incoming bitrate | From 1 to 4294967295 |
| Parameter name | Description | Possible values |
|---|---|---|
| Minimum bitrate multiplier | Controls the next minimum bitrate for each statmux interval. Lower values results in faster bitrate decrease | Floating point values between 0.1 and 1 |
| Priority rate factor | Adjusts the strength of the priorities rate factor. Higher values result in greater differences between the allocated bitrates for different levels of priority. | Floating point values between 0.1 and 1 |
| Show service names on statmux graph | Causes the statmux statistics page to display the encoding live service name instead of the Channel Id. | Tickbox, enabled by default |
## Specific Pool Settings To add pools, click the corresponding button. For each pool, the following parameters must be specified:For encoding live service names to be showed in the statmux statistics page, tick the Service name in profile name parameter checkbox in the Live encoder configuration.
| Parameter name | Description | Possible values |
|---|---|---|
| Name | Unique name of the pool for this service. | String of max 32 characters |
| Bitrate | Bitrate allocated to the current pool | 0 to 200000000 bps |
| Primary Network Interface | Specifies the interface (as seen by the operating system) used to communicate with members of the statmux group. | String of max 32 characters |
| Secondary Network Interface | (Optional) Specifies a secondary, redundant, interface used to communicate with members of the statmux group. | String of max 32 characters |
| Video Only | Specify if only Video components are to be included in the statmux pool. | Dropdown menu: Off, On |
| Parameter name | Description | Possible values |
|---|---|---|
| Total Bitrate* | The total bitrate of a CBR TS, or the maximum bitrate of a VBR TS. Nulls are inserted into a CBR TS to maintain the total bitrate. | 0 to 200000000 bps |
| Minimum Null Bitrate* | Minimum null bitrate. If component bitrate + null bitrate > total bitrate then packets will be discarded. Note that nulls will not appear in a VBR TS. | 0 to 200000000 bps |
| Transport Stream ID* | Sets the Transport Stream ID in the output PAT, SDT and NIT (if enabled). | 0 to 65535 |
| Original Network ID* | Sets the Original Network ID in the output SDT and NIT (if enabled). | 0 to 65535 |
| Source Redundancy Mode | See redundancy mode paragraph. | Dropdown menu: Automatic no monitoring, Manual no monitoring, Automatic with monitoring, Manual with monitoring |
| IP Active/Standby | Enable Active/Standby for IP output. | Tick box, disabled by default |
| Scramble transport stream packets containing a PES header | TS packets containing a PES header are scrambled if scrambling is required for the current service. | Tick box, enabled by default |
| Parameter name | Description | Possible values |
|---|---|---|
| Input jitter buffer latency | The latency on each input used to absorb input jitter. Requires a service restart to apply. Reducing this value can reduce the latency of the service in the multiplexing stage. However, depending on the service configuration (FEC and or RTP enabled) and on the input bitrate, reducing this value could lead to insufficient buffering available for the muxing process. In such case, an alarm will be raised to notify about possible problems in the output stream. | 10 to 30000 ms |
| Scrambling latency | The added latency during which scrambling occurs. | 10 to 30000 ms |
| ASI Active/Standby | Whether ASI outputs should stop when in standby or not. | Tick box |
| Copy SDT as SDT Other | Controls which other transport streams will receive a copy of the SDT | Dropdown menu: To all networks, To same network, Do not copy |
| Hide transport stream | Hide this transport stream in the NIT included in other transport streams of the same DVB network | Tick box |
| ASI output buffer latency | The output latency added when using ASI. Applies only to DekTec 2174b and 2178 cards when being used for ASI output. Latencies below 50ms are not recommended. | 10 to 30000 ms |
| IP output buffer latency | The IP output latency. | 10 to 30000 ms |
| TS mode for all IP outputs | Controls whether the TS for all IP outputs is CBR or VBR. For VBR TS, the maximum VBR frame period applies, and non-zero minimum null bit rates will not result in nulls in IP outputs. Note that a VBR TS will be invalid if it contains multiple referenced PCR PIDs. The TS mode for ASI outputs is always CBR. See Configuring the transport stream mode for IP outputs for more information. |
Dropdown menu: CBR, VBR - SMPTE ST 2022-3 (Single referenced PCR PID only) |
| Maximum VBR frame period for all IP outputs (ms) | The maximum time between VBR frames for all IP outputs. Enforces a minimum VBR frame rate. Only applies if TS mode is VBR, and increases latency for IP outputs. Lower periods result in more nulls in IP outputs. See Controlling latency for VBR TS IP outputs for more information. |
10 to 30000 ms |
| Number of TS packets per IP frame | The number of TS packets per IP frame. Applies to all IP outputs. See Controlling latency for VBR TS IP outputs for more information. |
1 to 7 packets per frame |
| Parameter name | Description | Possible values |
|---|---|---|
| Output Name* | Used to identify the specific output | String of max 32 characters |
| Type | Select the output type | Dropdown menu: IP, ASI, RIST |
| Network interface | Name of network interface used for the output transport stream (as seen by the operating system). | String of max 32 characters |
| Stream Address* | Unicast or multicast destination IPv4 address for the Transport Stream packets | IPv4 address |
| Destination UDP port* | Destination port for the Transport Stream packets | 0 to 65535 |
| User-specified source details | If unticked, the output transport stream source IP address will be the IP address of the specified Network interface. Otherwise, the source IP address field and source UDP port field of the output IP packet headers will be populated with the user-specified source IP address and source UDP port regardless of the IP address of the specified Network interface. The specified Network interface will not respond to ARP or PING on a user-specified source IP address (unless the user-specified source IP address is the same as the specified Network interface). |
If ticked, Source IP address and Source IP port field will be required (respectively, IPV4 address and value between 0 and 65535) |
| Time to live | Sets the IPv4 Time To Live field (maximum number of routersa multicast packet can reach before being discarded) | 0 to 255 |
| IP encapsulation | Type of IP encapsulation. E.g., FEC packets can be generated to protect the media packets. | Dropdown menu: UDP, RTP, FEC |
| Server filter | Assigned servers matching this pattern will output using these settings. * = wildcard of any length. For example: s*1 would match 'server 1' and not 'server 2' | String of max 32 characters |
| Output in the clear | Output all components in the clear. Overrides SCG config. | Tick box, disabled by default |
| Parameter name | Description | Possible values |
|---|---|---|
| Output Name* | Used to identify the specific output | String of max 32 characters |
| Type* | Select the output type | Dropdown menu: IP, ASI, RIST |
| Connector(s)* | [ASI only] Specify one or more ASI card connectors to output this Transport Stream on. ASI connector configuration is covered in ASI Card Configuration Tool | Comma-separated list of integers greater than zero |
| 204 Byte Packet Length | [ASI Only] Changes ASI output from 188 to 204 byte packets. Requires a service restart to apply. | Tick box, disabled by default |
| Server filter | Assigned servers matching this pattern will output using these settings. * = wildcard of any length. For example: s*1 would match 'server 1' and not 'server 2' | String of max 32 characters |
| Output in the clear | Output all components in the clear. Overrides SCG config. | Tick box, disabled by default |
| Parameter name | Description | Possible values |
|---|---|---|
| Output Name* | Used to identify the specific output | String of max 32 characters |
| Type* | Select the output type | Dropdown menu: IP, ASI, RIST |
| Mode* | Configures the RIST output to operate in either Listener or Caller mode. | Dropdown menu: Listener, Caller |
| Network interface | In RIST Listener mode, the interface to listen on. Not available for Caller mode. | String of max 32 characters |
| Listener Address* | In RIST Caller mode, configures the address of the remote RIST Listener to connect to. | IPv4 address |
| Listener Port* | Configures the port to either listen on or call, in Listener and Caller mode respectively. | 0 to 65535 |
| Maximum Caller Connections | If Listener mode is selected, configures the maximum allowed connections to the RIST output. | 1 to 65535 |
| Parameter name | Description | Possible values |
|---|---|---|
| Name* | Used to identify the specific bandwidth policing group | String of max 32 characters |
| Bitrate | Maximum bitrate allowed for the group. If the total bitrate of the components in the group exceeds this value, packets will be dropped and alarms raised. | 0 to Total Bitrate (as set in the Mux parameters) |
| Parameter name | Description | Possible values |
|---|---|---|
| Network ID* | Sets the Network ID used in the output NIT (if enabled) | 0 to 65535 |
| Parameter name | Description | Possible values |
|---|---|---|
| Name | A user-friendly name for the service. Note that this is not the Service Name, which must be configured via the Service Descriptor. | String of max XX characters |
| Program Number* | Program Number used to populate the output PMT and ServiceID in the SDT | 1 to 65535 |
| PMT PID* | Output PMT PID | 0 to 8190 |
| Logical Channel Number | Sets the Logical Channel Number in the NIT (if NIT is enabled and the Logical Channel Descriptor is present). Values above 1023 are only allowed if the descriptor specifies the NorDig range.Leave blank if not required. |
1 to 16383 |
| PCR Component | Dropdown menu: Auto, Manually specified PID, None | |
| Regenerate Descriptor | Dropdown menu: On, Off | |
| Service Passthrough | Automatically add components and descriptors from the specified input service to this output service. If the specified input service cannot be found, there will not be an output PMT or PAT reference. This behaviour is dynamic and the output PAT/PMT references will track changes to the incoming service. | Dropdown menu: Off, On |
| Input Program | Specifies the input Program Number to search for the incoming PMT in order to find the required input Service | 0 to 65535 |
| Parameter name | Description | Possible values |
|---|---|---|
| Dropped PIDs | Comma separated list of PIDs which will not be passed through to the output service | |
| Monitor health of all signalled input components | Health of all signalled components in source PSI/SI will be monitored. If Source redundancy mode is not manual, health failure of any of these components will result in a source switch if a healthy alternative is available | Tick box, disabled by default |
| Bandwidth Policing Group | If any Bandwidth Policing Group has been defined for the transport stream (see previous paragraph), the list of all group names will appear as a dropdown menu. Assign the service to one of the groups or leave the selection empty to avoid policing it. | Dropdown menu: names of any defined bandwidth policing group. |
It is recommended to add a User-defined name to the source to make it easily recognizable. The name will also be used to rename the tab.
| Parameter name | Description | Possible values |
|---|---|---|
| User defined name for source* | Name and also source tab name. This is the identifier of the current input which will also be used, when saving the configuration, to rename the current Source Tab. | String of max 32 characters |
| Type | Type of input: IP, ASI or RIST | Dropdown menu: IP, ASI, RIST |
| Lock without seeking input PCR | Lock without seeking input PCR | Tick box, disabled by default |
| Output Drop On Input TS Loss | If this input transport stream is lost, all the Transport Stream outputs will be stopped. | Tick box, disabled by default |
| Parameter name | Description | Possible values |
|---|---|---|
| Network Interface | Input network interface name specifies the one (as seen by the operating system) used to capture Transport Stream packets. | String of max 32 characters |
| Destination IP Address* | Destination IP address used to capture Transport Stream packets | IPv4 address |
| Port* | Destination UDP used to capture Transport Stream packets | 0 to 65535 |
| FEC Enabled | If selected, the IP encapsulation for the input TS is expected to be FEC. When enabled the FEC packets can be used to try to recover missing media packets. Requires RTP. | Tick box, disabled by default |
| Source Address | List of comma separated IPv4 addresses used to filter the sources of the current input (based on IGMPv3 protocol). Examples: 172.18.2.39 or 172.18.2.39,172.18.2.40 |
| Parameter name | Description | Possible values |
|---|---|---|
| Connector* | An ASI connector index, greater than zero. In case of multiple ASI cards available on the same box, this is the logical identifier of the connector (see ASI configuration tool paragraph) | 1 to 65535 |
| Parameter name | Description | Possible values |
|---|---|---|
| Mode* | Configures the RIST output to operate in either Listener or Caller mode. | Dropdown menu: Listener, Caller |
| Network interface | In RIST Listener mode, the interface to listen on. Not available for Caller mode. | String of max 32 characters |
| Listener Address* | In RIST Caller mode, configures the address of the remote RIST Listener to connect to. | IPv4 address |
| Listener Port* | Configures the port to either listen on or call, in Listener and Caller mode respectively. | 0 to 65535 |
# Packaging A **packager** takes an encoded video stream and prepares it for delivery across different devices and streaming platforms. It segments the stream into small chunks and generates manifest files that tell the player what is available, at what bitrates, and in what order to request segments. This is the foundation of adaptive bitrate (ABR) streaming, where a player adjusts quality in real time based on network conditions. MK.IO Beam's Packager converts live encoded outputs into HLS and DASH formats, handling the underlying segmentation and manifest generation automatically. ## Output formats - **HLS and DASH over CMAF (Common Media Application Format):** A modern packaging approach where HLS and DASH manifests reference the same underlying media segments, reducing storage and simplifying multi-format delivery. - **HLS over TS (HTTP Live Streaming):** The original HLS format using MPEG-2 TS segments, broadly supported across a wide range of players and devices. Outputs can include encryption and manifest filtering to control which bitrates or tracks are exposed. ## Key concepts **Catalog:** The catalog links outputs to live packaging services. It must be created first to host outputs. Any live packaging service added to a catalog can be delivered by any output in that catalog. **Output:** A set of specific delivery parameters for a defined input stream. It contains processing and encryption parameters and is added to a catalog to serve content to viewers. **Live Packaging service:** Configuration of the live input parameters. Once associated with a catalog, the service is available for delivery using the outputs defined in that catalog. ## DVR and thumbnails Live Packaging services include DVR (Digital Video Recording) configuration, which controls how much of the live stream is held in the sliding window available to the player. Thumbnail generation is also available, providing preview images from the live stream. ## Enabling the Packager The Packager function is not enabled by default on a MK.IO Beam server. You need to enable live packaging in the server's general parameters before creating Packager services. See [Enable Packager](/beam/packager/enable-packager) for instructions. ## Common use cases - Delivering live events over OTT platforms to web and mobile players. - Publishing live channels with DVR for catch-up viewing. - Producing multi-format output from a single live source. To start configuring outputs, see [Manage Catalogs, outputs and thumbnails](/beam/packager/catalog). # Advanced Parameters ## Configuring credentials for direct remote storage access ### Format The file is in the YAML format and located at `/etc/mediakind/mkp/charts/customer-values.yaml`. A specific script must be executed to apply the changes brought to the file that remain after a product update. If no value is specified or if a value is removed from the file, default values from installer are used. Each entry contains the following elements: - `url`: the base URL of a storage. - `type`: the type of credential to be used for this base URL. It can be: - `user` for access with username and password - `s3` for access using AWS S3 object store credentials - `azureSasToken` for access using Blob Azure credential - `certificate` for HTTPS access #### User credential The entry should contain the following elements: - `username` - `password` It can be used for FTP or SFTP access (`ftp://…` or `sftp://…`). ```yaml copy credentials: [ {"type": "user", "url": "sftp://myServer/share1", "username": "test", "password": "1234"} ] ``` #### Blob Azure credential To configure the Azure authentication for your system, the entry in the credential file should contain the following elements: - `url`: URL provided at the Blob storage creation. - `type`: Type of credential to be used for this URL. It must be: `azureSasToken`. - `sasToken`: Token provided at the Blob storage creation. ```yaml copy credentials: [{"type" : "azureSasToken", "url" : "https://myaccount.blob.core.windows.net/mycontainer", "sasToken" : "?sv=2020-02-10&ss=bfqt&srt=o&sp=rwdlacupx&se=2021-02-24T00:46:59Z&st=2021-02-23T16:46:59Z&spr=https&sig=..."} ] ``` #### AWS S3 object store credential This credential corresponds to an AWS access key. The entry should contain the following elements: - `accessKeyId`: The ID of the access key - `secretAccessKey`: The secret access key ```yaml copy credentials: [{ "type": "s3", "url" : "Configuration of RIST inputs is only available via the Properties panel.
# Manage catalog, outputs, and thumbnails A catalog is an inventory of one or more outputs on which the following delivery parameters are configured: - **Catalog**'s **name** and **output types** - **Delivery** parameters - **Manifests**' **Filtering** parameters (audio, video and subtitle bitrates) - **Encryption** parametersThe selected credentials configuration is logged into the high-level logs of the job.
Note## Creating a new catalog To create a new catalog, follow these steps: 1. Access the MK.IO Beam user interface. 2. Click **Services** in the left panel. 3. Click **Add service** > **Catalog**. 4. Enter the catalog name. 5. Do one of the following: - Click **Save and continue** to complete the catalog creation and start adding outputs. - Click **Save and exit** to save and finalize the catalog creation and go back to the **Services** page. - Click **Cancel** to go back to the **Services** page without saving. ## Adding an output to a Catalog Once created, an output can be used by any Packager service for delivery. #### Two output types are available: To add an output to a Catalog, follow these steps: 1. From the **Services** page, click the **Name** related to the Catalog on which the output will be added. 2. Click **Add new output** then select the output type and configure the parameters according to your needs. - [HLS or DASH over CMAF specific output settings](/beam/packager/hls-dash-over-cmaf-output) - [HLS over TS (HTTP Live Streaming)](/beam/packager/hls-output) 3. **Save** configurations. # Enable Packager in MK.IO Beam To enable the Packager function in MK.IO Beam, follow these steps: 1. Click **Servers** in the left panel. 2. Click the **detail** icon `View` icon in **Actions**. 3. Select the **Enable Live Packaging** check box. This is available under **General parameters**. 4. Once selected, click **Save** to apply the changes. # HLS or DASH over CMAF specific output settings The CMAF (Common Media Application Format) is a fMP4 based format that is used as a common format for both HLS and DASH content delivery. A single copy of the media segments is needed, which leads to significant gains in terms of storage and bandwidth. ## General You can configure for both HLS and DASH: - [General parameters](/beam/packager/parameters/hls-or-dash-over-cmaf) - [DASH Manifests](/beam/packager/parameters/hls-or-dash-over-cmaf#dash) - [HLS Playlists](/beam/packager/parameters/hls-or-dash-over-cmaf#hls) - [Delivery](/beam/packager/parameters/hls-or-dash-over-cmaf#delivery) - [Encryption](/beam/packager/parameters/hls-or-dash-over-cmaf#common-encryption-cenc) ## DASH output type configuration ### Manifests By default, the output manifest is delivered without any specific bitrate filtering. Depending on your delivery needs, you can adjust the bitrate filtering on your manifest and add manifests with variant filtering parameters. **Stream characteristics** filtering for **DASH over CMAF** outputs can be based on: - Bitrate in kbps - for Video/Audio/Subtitle streams filters.  - Codec (H.264 or HEVC) - for the Video streams filter.  - Language (H.264 or HEVC) - for the audio streams filter.  - Width (pixels) or Height (pixels) for the Thumbnail streams filter.  ## HLS output type configuration ### Playlists By default, the output manifest is delivered without any specific bitrate filtering. Depending on your delivery needs, you can adjust the bitrate filtering on your manifest and add manifests with variant filtering parameters. **Stream characteristics** filtering for **HLS** outputs can be based either on: - Bitrate in kbps - for Video/Audio/Subtitle streams filters.  - Codec (H.264 or HEVC) - for the Video streams filter.  - Language (H.264 or HEVC) - for the audio streams filter.  - Width (pixels) or Height (pixels) for the Thumbnail streams filter.  ## Delivery You can define **Access URL** for playlist, manifests and segments. For more details, see [Delivery](/beam/packager/parameters/hls-or-dash-over-cmaf#delivery). ## Encryption By default, the output manifest is published without any specific encryption. To configure output encryption parameters, you can choose between two encryption modes: CENC or CBCS. You can also disable audio encryption. For more details, see [Key usage rules](/beam/packager/parameters/hls-or-dash-over-cmaf#common-encryption-cenc).At least one output must be configured.
| CENC | CBCS | |
|---|---|---|
| Fixed keys | ||
| PlayReady | X | X |
| Widevine | X | X |
| Fairplay | X | X |
| External keys (compatible CPIX) | ||
| PlayReady | X | X |
| Widevine | X | X |
| MediaRoom | X | X |
| Fairplay | X | X |
| Clearkey | X | X |
To stop a Live Packaging service, follow these steps: 1. Go to the **Actions** column. 2. Click the `Stop outline` icon button to stop the related service. The service status turns from **started** to **stopped**. The service stops publishing the DVR. The origin server will return 404 errors 60 seconds after the DVR is stopped. ## Deleting a Live Packaging service and managing DVR Depending on the context, deleting a Live Packaging service by clicking `Delete` icon in the **Actions** column has different behaviors and results.In a solution deployment with servers, any Live Packaging service associated to a Live Encoding service must be stopped and started again after a modification of the Live Encoding configuration. The associated DVR must also be deleted.
### The Live Packaging service has no server assigned - The service configuration is deleted and removed from the service list. It cannot be recovered after deletion. - The DVR generated by the service remains on the storage point. # Service Monitoring ## Monitoring service alarms The user interface allows you to access active and cleared alarms list for each service. 1. From the services page, identify the service that you want to monitor. 2. Click the related `Alarm` icon icon in the **info** column. Depending on the severity of the alarm, the `Alarm` icon will appear in different colors and will display the most severe color alarm in case of multiple alarms. - `Alarm red` icon: critical alarm - `Alarm yellow` icon: major alarm - `Alarm green` icon: minor alarm The following page displays.  From this page, you can access the following information: - The active alarms table applied on the current server including: - Date and time of the alarm rise - Alarm description (label) - Alarm severity - Detailed information - The alarm history table including: - Date and time of the alarm rise - Alarm description (label) - Alarm status - Alarm severity - Server on which the service was applied when the alarm raised.A Live Packaging service with the
Play outlineicon (started) status cannot be deleted. Click theStop outlineicon button to stop the service.
- [HLS or Dash over CMAF](/beam/packager/parameters/hls-or-dash-over-cmaf) - [HLS over TS](/beam/packager/parameters/hls-over-ts) - [Live Packaging](/beam/packager/parameters/live) - [Settings](/beam/packager/parameters/settings) # HLS or DASH over CMAF Below are the parameters accessed in the **HLS or DASH over CMAF** output. ## General ### GeneralThe alarm history table displays up to 10 alarms per page. Use the arrows or page number at the bottom of the table to navigate through the complete alarms list.
| Parameter | Description |
|---|---|
| Output name | Output name. The name you want to use for the output. |
| Naming scheme | Naming scheme for DASH manifests. Timeline mode: every fragment is listed and requested by the player. |
| trun v1 | Enable trun version 1 for fragments allowing negative CTO (Composition Time Offset) values |
| Enable thumbnails | Enable thumbnails generation |
| Parameter | Description |
|---|---|
| Name | Name of the manifest/playlist generated for the current output.. Default value is index (for HLS) or manifest (for DASH). If a filtering has been applied to the manifest/playlist, it is recommended to use a name that clearly identifies the defined filtering. Important: The manifest name must be unique and different from any other manifest name. |
| Parameter | Description |
|---|---|
| Audio streams filter | Build a filter to select the audio streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Video streams filter | Build a filter to select the video streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps, codec (H.264 or HEVC) and No video |
| Subtitle streams filter | Build a filter to select the subtitle streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Thumbnail streams filter | Build a filter to select the thumbnail streams that will be included in manifest/playlist. Applicable filters: width and height in pixels |
| Parameter | Description |
|---|---|
| Scheme | Scheme to use for the UTCTiming element in DASH manifest. |
| Value | Value to use for UTCTiming element depending on the selected scheme. |
| Parameter | Description |
|---|---|
| Name | Name of the manifest/playlist generated for the current output. Default value is index (for HLS) or manifest (for DASH). Recommendation: If a filtering has been applied to the manifest/playlist, it is recommended to use a name that clearly identifies the defined filtering. |
| Parameter | Description |
|---|---|
| Audio streams filter | Build a filter to select the audio streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Video streams filter | Build a filter to select the video streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps, codec (H.264 or HEVC) and No video |
| Subtitle streams filter | Build a filter to select the subtitle streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Thumbnail streams filter | Build a filter to select the thumbnail streams that will be included in manifest/playlist. Applicable filters: width and height in pixels |
| Parameter | Description |
|---|---|
| Access URL | Portion of the complete access URL that defines the service. Prefer URI unreserved characters (alphanumerical characters plus (, ), -, _, .). Declaring a subpath (a/b) is possible but may impact performance. Example: https://[Server IP or FQDN]/packaging/[Output Access URL]/[Live Packaging Service Access URL]/[index.m3u8 OR manifest OR manifest.mpd] |
| Parameter | Description |
|---|---|
| Key | AES key used for encrypting the content. |
| Key ID | Identifier used to uniquely identify the key within the system. |
| PlayReady | Enables PlayReady encryption. |
| Widevine | Enables Widevine encryption. |
| Fairplay | Enables Fairplay encryption. |
| Parameter | Description |
|---|---|
| License acquisition URL | License acquisition URL to be used by the player. |
| License UI URL | Nonsilent license acquisition URL to be used by the player. |
| Domain service ID | Domain service identifier. Microsoft provides a unique identifier to the PlayReady technology supplier. |
| Parameter | Description |
|---|---|
| Provider | Name of the content provider. Also used as the name of the signer. |
| Policy | Usage rules for the encypted output. |
| Parameter | Description |
|---|---|
| Key server URL | URL of the server that will deliver the encryption keys. |
| PlayReady | Enables PlayReady encryption. |
| Widevine | Enables Widevine encryption. |
| Fairplay | Enables Fairplay encryption. |
| Mediaroom | Enables Mediaroom encryption. |
| Clearkey | Enables Clearkey encryption. |
| Parameter | Description |
|---|---|
| Enable key rotation | Enable key rotation. Leaving key rotation disabled means a single key is requested and used for the whole output. |
| Period | Key rotation period. Choose a value and a unit for the period |
| Start time | Date and time of the first occurrence. All crypto periods are aligned on this date and time, modulo the period: it fixes the phase of the period grid rather than the timestamp of an actual, one-time key request. |
| Time spread | Duration (in seconds) of the time window for spreading key requests out in time. The actual offset is a pseudo-random value in that window, so it is stable for a given output but different across outputs — this staggers key requests instead of having every channel hit the key server at the same instant. |
| Period mode | Choose mode for rotation keys. Possible values are Index and Start/end (default). In Index mode, the CPIX request/response identifies a crypto period by an integer index. In Start/end mode, it is identified by its actual validity window. |
| Number of key periods to request | Number of key periods to request in advance from the key server. Requesting more than one fetches the current key plus the upcoming one(s) from the key server in a single round trip; the extra keys are cached and reused so no additional request is needed when the next crypto period starts. |
| Parameter | Description |
|---|---|
| Track filters/Filtering | Build a filter to select the streams that will be included in Cpix track. Applicable filters: streamType (video or audio), width (in pixels), height (in pixels) and codec (H.264 or HEVC) |
| Track type | Type of a track associated to the track. Only AZaz09 _,;:@ and space character are accepted |
| Labels | List of labels associated to the track Only AZaz09 _,;:@ and space character are accepted |
| Disable audio encryption | Disables audio encryption for the output. This setting overrides any encryption setting received from the key provider. |
| Parameter | Description |
|---|---|
| Key | AES key used for encrypting the content. Unit: hexadecimal. |
| Initialization vector | Initialization vector to be used with the key. |
| Key ID | Identifier used to uniquely identify the key within the system. |
| PlayReady | Enables PlayReady encryption. |
| Widevine | Enables Widevine encryption. |
| Fairplay | Enables Fairplay encryption. |
| Parameter | Description |
|---|---|
| License acquisition URL | License acquisition URL to be used by the player. |
| License UI URL | Nonsilent license acquisition URL to be used by the player. |
| Domain service ID | Domain service identifier. Microsoft provides a unique identifier to the PlayReady technology supplier. |
| Parameter | Description |
|---|---|
| Provider | Name of the content provider. Also used as the name of the signer. |
| Policy | Usage rules for the encypted output. |
| Parameter | Description |
|---|---|
| URI | URI to be used by the player. |
| Key format | Specify how the key is declared in the resource specified in the URL. |
| Parameter | Description |
|---|---|
| Disable audio encryption | Disables audio encryption for the output. This setting overrides any encryption setting received from the key provider. |
| Parameter | Description |
|---|---|
| Key server URL | URL of the server that will deliver the encryption keys. |
| PlayReady | Enables PlayReady encryption. |
| Widevine | Enables Widevine encryption. |
| Fairplay | Enables Fairplay encryption. |
| Mediaroom | Enables Mediaroom encryption. |
| Clearkey | Enables Clearkey encryption. |
| Parameter | Description |
|---|---|
| Enable key rotation | Enable key rotation. Leaving key rotation disabled means a single key is requested and used for the whole output. |
| Period | Key rotation period. Choose a value and a unit for the period |
| Start time | Date and time of the first occurrence. All crypto periods are aligned on this date and time, modulo the period: it fixes the phase of the period grid rather than the timestamp of an actual, one-time key request. |
| Time spread | Duration (in seconds) of the time window for spreading key requests out in time. The actual offset is a pseudo-random value in that window, so it is stable for a given output but different across outputs — this staggers key requests instead of having every channel hit the key server at the same instant. |
| Period mode | Choose mode for rotation keys. Possible values are Index and Start/end (default). In Index mode, the CPIX request/response identifies a crypto period by an integer index. In Start/end mode, it is identified by its actual validity window. |
| Number of key periods to request | Number of key periods to request in advance from the key server. Requesting more than one fetches the current key plus the upcoming one(s) from the key server in a single round trip; the extra keys are cached and reused so no additional request is needed when the next crypto period starts. |
| Parameter | Description |
|---|---|
| Track filters/Filtering | Build a filter to select the streams that will be included in Cpix track. Applicable filters: streamType (video or audio), width (in pixels), height (in pixels) and codec (H.264 or HEVC) |
| Track type | Type of a track associated to the track. Only AZaz09 _,;:@ and space character are accepted |
| Labels | List of labels associated to the track Only AZaz09 _,;:@ and space character are accepted |
| Disable audio encryption | Disables audio encryption for the output. This setting overrides any encryption setting received from the key provider. |
| Attribute | Description |
|---|---|
schemeIdUri |
Required. A URN that identifies the method the client uses to obtain the time. |
value |
Scheme-specific. For most schemes this is one or more URLs (or host names) to query. For direct, it is the UTC time from the input stream. |
id |
Optional. Identifier of the descriptor, not supported in the packager |
schemeIdUri |
value |
Description |
|---|---|---|
urn:mpeg:dash:utc:ntp:2014 |
NTP server host name(s), space separated | The client obtains the time using the NTP protocol (RFC 5905). |
urn:mpeg:dash:utc:sntp:2014 |
SNTP server host name(s), space separated | The client obtains the time using the SNTP protocol (RFC 4330). |
urn:mpeg:dash:utc:http-head:2014 |
URL, space separated if several | The client issues an HTTP HEAD request and reads the time from the Date response header. |
urn:mpeg:dash:utc:http-xsdate:2014 |
URL, space separated if several | The client issues an HTTP GET request. The body is the time as an xs:dateTime string (for example 2024-01-01T12:00:00.123Z). |
urn:mpeg:dash:utc:http-iso:2014 |
URL, space separated if several | The client issues an HTTP GET request. The body is the time in ISO 8601 format. |
urn:mpeg:dash:utc:http-ntp:2014 |
URL, space separated if several | The client issues an HTTP GET request. The body is a 64-bit NTP timestamp (RFC 5905 format). |
urn:mpeg:dash:utc:direct:2014 |
UTC time as xs:dateTime |
The time is carried directly in the MPD. It is only as accurate as the delay between MPD generation and reception, so it should be used only if no other scheme is available. |
| Parameter | Description |
|---|---|
| Output name | Output name. The name you want to use for the output. |
| Naming scheme | Timeline |
| Parameter | Description |
|---|---|
| Name | Name of the manifest/playlist generated for the current output. Default value is index (for HLS) or manifest (for DASH). If a filtering has been applied to the manifest/playlist, it is recommended to use a name that clearly identifies the defined filtering. Important: The manifest name must be unique and different from any other manifest name. |
| Parameter | Description |
|---|---|
| Audio streams filter | Build a filter to select the audio streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Video streams filter | Build a filter to select the video streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps, codec (H.264 or HEVC) and No video |
| Subtitle streams filter | Build a filter to select the subtitle streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Thumbnail streams filter | Build a filter to select the thumbnail streams that will be included in manifest/playlist. Applicable filters: width and height in pixels |
| Parameter | Description |
|---|---|
| Audio streams filter | Build a filter to select the audio streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Video streams filter | Build a filter to select the video streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps, codec (H.264 or HEVC) and No video |
| Subtitle streams filter | Build a filter to select the subtitle streams that will be included in manifest/playlist. Applicable filters: bitrate in kbps and Language |
| Parameter | Description |
|---|---|
| Indexes | Range or comma separated list of stream indexes, based on the stream position in the input. Index of the first stream is '0'. |
| Parameter | Description |
|---|---|
| Access URL | Portion of the complete access URL that defines the service. Prefer URI unreserved characters (alphanumerical characters plus (, ), -, _, .). Declaring a subpath (a/b) is possible but may impact performance. Example: https://[Server IP or FQDN]/packaging/[Output Access URL]/[Live Packaging Service Access URL]/[index.m3u8 OR manifest OR manifest.mpd] |
| Parameter | Description |
|---|---|
| Name | Live Packaging service name |
| Ingest type | Dash-IF Injest is only supported value |
| Base URL | |
| Duration | Rolling buffer size (DVR window). In initial version of Beam this also controls manifest/playlist duration for live service |
| Parameter | Description |
|---|---|
| Catalog | Catalog that will host this content. Content will be available for delivery using all outputs from the given catalog. |
| Access URL | Portion of the complete access URL that defines the service. Prefer URI unreserved characters (alphanumerical characters plus (, ), -, _, .). Declaring a subpath (a/b) is possible but may impact performances. |
| Parameter | Description |
|---|---|
| URL | Server URL. |
| Username | The user name to access the server. |
| Password | The password associated to the user name accessing the server. |
| Parameter | Description |
|---|---|
| URL | Server URL. |
| Key seed | Key seed used to decrypt the content. |
Complete the following steps to configure and register your MK.IO Beam device. ### Install the ISODefault credentials differ by purchase type:
- MK.IO Beam hardware purchased from MediaKind: credentials are on the paper Quick Start Guide supplied with the hardware.
- SW Only: credentials are in the email from SWSupply with a subject containing "Your recent MK.IO Beam purchase...".
Change the default password after your first login. Select the user icon in the upper right corner of the device UI and choose Change password.
See [Install the ISO](/beam/system-admin/iso-installation). ### Set control IP addressThis step is required for SW Only customers only. The ISO is pre-installed on MK.IO Beam hardware purchased from MediaKind.
1. Log in to the terminal with the default credentials. 2. Type `control-wizard` and press Enter to configure the _Control_ interface. You can also configure an HTTP proxy here if one is needed to reach MK.IO. ### Connect to the web user interface 1. In a web browser, go to `http://This step is only required if the device has not obtained a DHCP address. The IP address displays on the terminal when a monitor and keyboard are attached. Press Return if needed to clear the screen.
Check which interface you are usingA **broadcast receiver** demodulates an incoming signal and decodes the video and audio it contains, converting a compressed transport stream back into a baseband output. Receivers are a fundamental part of any workflow where content arrives over satellite or IP and needs to be decoded for monitoring, processing, or re-distribution. MK.IO Beam's Receiver handles both satellite and IP inputs. For satellite, it supports DVB-S, DVB-S2, and DVB-S2X standards with hardware demodulator cards. For IP, it accepts transport stream inputs directly from the network. You can route a single satellite input to multiple Receiver services, or assign each input independently. ## Decoding Once the transport stream is received, MK.IO Beam decodes the video and audio from the selected service. By default, the first video and audio components listed in the service Programme Map Table (PMT) are decoded automatically. Supported audio formats include MPEG-1 Layer II, Dolby Digital, and Dolby Digital Plus, as well as pass-through of formats such as Dolby E and LPCM. See the [Video Decoding](/beam/reception/tech-specs/#video-decoding) and [Audio Decoding](/beam/reception/tech-specs/#audio-decoding) sections in the technical _Reference_ documentation for a full list of supported formats and configuration options. See [Decoding configuration](/beam/receiver/decoding) for details on how to configure decoding. ## Outputs MK.IO Beam's Receiver delivers decoded output in several formats: - SDI (HD, 3G SDI) for broadcast equipment and monitors. - UHD SDI for ultra-high-definition workflows. - SMPTE ST 2022-6 and SMPTE ST 2110 for IP-based studio and production environments. - HDR to SDR conversion and HD downconversion for compatibility with legacy equipment. - SCTE-35 to SCTE-104 conversion for passing ad insertion signals to downstream encoders. Multiple outputs can be configured from a single Receiver service. See [Output configuration](/beam/receiver/output) for the full range of options. ## Decryption Broadcast streams are often encrypted to prevent unauthorized access. MK.IO Beam's Receiver supports several decryption methods: - **BISS (Basic Interoperable Scrambling System):** A broadcast standard for contribution and distribution encryption (BISS1, BISS2, BISS-CA). - **Director 6:** MediaKind's conditional access system which features over-air-control functionality. - **DVB-CI:** A common interface standard that uses a removable Conditional Access Module (CAM). See [Decryption configuration](/beam/receiver/decryption) for setup details. ## Receiver Configuration Type When a _Receiver_ service is created by [adding a Feed](/beam/web-interface/#add-a-feed), one or more services are generated from a template. In this case, the _Receiver_ service **Configuration Type** is selected automatically based on the chosen Feed type. Alternatively, when [creating a service](/beam/web-interface/services/#create-a-service) directly, you are prompted to select the **Configuration Type** if it is a _Receiver_ service. The **Configuration Type** determines the behaviour of the _Receiver_ service, as shown in the table below. It can be changed at any time as part of the Receiver service configuration.The guides linked from this page configure MK.IO Beam through the Advanced interface, where a workflow is a feed made up of individual services. If your device runs the Essentials interface, build the workflow as a channel instead: see Create a channel. Both interfaces control the same settings underneath, so these pages stay useful as reference for the detail behind a channel.
| Configuration Type | Description |
|---|---|
| TS passthrough | Does not decode video, audio, or data, but supports descrambling. The input transport stream is then output as an IP/UDP multicast. |
| SD/HD | Decodes video (SD and HD), audio, and data, and supports descrambling, with output in formats such as SDI. |
| UHD | Decodes video (SD, HD, and UHD), audio, and data, and supports descrambling, with output in formats such as SDI. Includes additional UHD-specific configuration settings. |
### Delay Mode By default, the **Delay mode** is set to _Standard_, which is optimised for most decode use cases. For more information, see the [Delay Modes](/beam/reception/delay-modes) section. ### Checking Service Status Service status can be checked on the same **Edit** `Edit` icon page or by viewing the **Stats** `Chart` icon page. 1. Check **Service Status** panel with the following fields: - **Selected Service** shows the service number and service name - **PCR PID** shows the current PCR PID in use  2. Check the **Video Status** panel. The video PID, component bit rate, codec being used, resolution, picture aspect ratio and frame rate are displayed.  3. Check the **Input Monitor** panel. This displays a thumbnail of the decoded video which is updated every 5 seconds.  4. Check the **Audio Status** panel. The audio PID, status and codec are displayed. Hover over each audio status field to display additional information, including channel mode, language and bit rate.  The colour of each field provides a quick indication of audio decode status, with green indicating success and red indicating errors. ## Video Decoding See the **[Video Decoding](/beam/reception/tech-specs/#video-decoding)** section in the technical _Reference_ documentation for video codec and resolution capabilities supported by MK.IO Beam. ### Configure video decoding The video PID is automatically selected based on the configured [Service Selection](/beam/receiver/decoding#service-selection). This can be overridden as follows: 1. From the **Parameters** section, select the **Decoding** tab. 2. Select the **Video** tab.  3. Select a video PID from the **Input PID** drop-down list, or manually enter a PID value. 4. Click **Save and Continue** to apply change. ## Audio decodingIt may be necessary to configure the correct Configuration Type.
See the **[Audio Decoding](/beam/reception/tech-specs/#audio-decoding)** section in the technical _Reference_ documentation for details of the audio codecs supported by MK.IO Beam for decoding and pass-through. ### Decode Channel Configuration Each audio component selected for decoding can be configured with a different number of output channels for embedding in the output stage.Up to 8 audio components (stereo pairs), or 16 audio channels, can be decoded per Receiver service.
| Decode Channel Configuration | Use case | Output channels |
|---|---|---|
| Stereo | Decode stereo, dual mono, mono, joint stereo or 5.1 downmix | 2 |
| 5.1 | Decode 5.1 audio | 6 |
| 16 | Mandatory for MPEG-H decode | 16 |
| Pass-through | No decode. Use this option for compressed audio output | 2 |
To configure _Auto Select_: 1. From the **Parameters** section, select the **Decoding** tab. 2. Select the **Audio** tab to view the audio decode table. 3. Select the **Auto Select** tick box.  ## Data decodingAfter a PMT update, the currently assigned audio decoders are reviewed and may be modified:
- Automatic audio selection is based on PMT order, so audio components may be moved, added, or removed.
- Only the first 8 audio components (Stereo) are automatically selected and embedded in the output stage.
See the **[Ancillary Data](/beam/reception/tech-specs/#ancillary-data)** section in the technical _Reference_ documentation for the ancillary data types supported by MK.IO Beam. The following data types, encapsulated in video (for example, SEI messages or MPEG-2 user data) or as packetised elementary stream (PES) packets, can be processed by the _Receiver_ service and converted for output, for example to SDI.Up to 8 data components can be decoded per Receiver service.
| Format | Output format |
|---|---|
| AFD / Bar data | SMPTE ST 2016 |
| Teletext | OP-47 / SMPTE ST 2031 |
| Closed captions | SMPTE ST 334 for EIA-708-B |
| Timecode | SMPTE ST 12 + RP 188 |
| Generic VANC | SMPTE ST 2038 |
| SCTE-35 | SCTE-104 |
| Data Type Configuration | Use case |
|---|---|
| Ancillary | Extraction of generic VANC data |
| Teletext | Extraction of CCIR Teletext System B (EBU Teletext) for conversion to OP-47 or SMTPE ST 2031 |
| SCTE 35 Splicing | Extraction of SCTE-35 data for conversion to SCTE-104 |
Audio components assigned for PAA are identified using three-letter language codes in the language descriptors, normally defined in ISO 639. The tables below show how audio components are assigned to audio decoders based on the language descriptor, and how they should be embedded in the output (for example, SDI audio embedding). For the first PAA group, the output channel order is as follows:Automatic selection of PAA components for a configured Service Selection is currently not supported. Each PAA component must therefore be manually added and configured using the guidelines below.
| Decode Name | Language Descriptors | Intended Output Channels | Output Embedding |
|---|---|---|---|
| Audio 1 | a,a,a (a,a,b) | 1 & 2 | Embedded 1 |
| Audio 2 | a,a,c (a,a,d) | 3 & 4 | Embedded 2 |
| Audio 3 | a,a,e (a,a,f) | 5 & 6 | Embedded 3 |
| Audio 4 | a,a,g (a,a,h) | 7 & 8 | Embedded 4 |
| Decode Name | Language Descriptors | Intended Output Channels | Output Embedding |
|---|---|---|---|
| Audio 5 | b,b,a (b,b,b) | 1 & 2 | Embedded 5 |
| Audio 6 | b,b,c (b,b,d) | 3 & 4 | Embedded 6 |
| Audio 7 | b,b,e (b,b,f) | 5 & 6 | Embedded 7 |
| Audio 8 | b,b,g (b,b,h) | 7 & 8 | Embedded 8 |
BISS2 mode CA, or BISS-CA (as specified in EBU Tech 3292-s1 Version 1.0 March 2018) is an extension to BISS2 which replaces the fixed Session Word (SW) used to descramble an incoming feed with a cycling Session Word that is transmitted in the transport stream using Entitlement Control Messages (ECMs). Receivers may be entitled by the headend to decrypt the cycling Session Words via an intermediary Session Key (SK) which are transmitted in the transport stream using Entitlement Management Message (EMMs). Entitlement of the receiver is handled through public/private key cryptography where the public and private keys are both known to the receiver and only the public key is known to the headend. For each entitled receiver, the SK is encrypted using the receiver’s public key. ## BISS-CA Key Types The receiver component supports the following BISS-CA features: - Self-generated key pair - Injected key pair Multiple **Self-Generated Key Pairs** and/or **Injected Key Pairs** can be stored on a single unit. This allows the receiver operator to switch the unit between headend scramblers without having to reload or regenerate the key pairs. For all key pair types, you can [export the public key](/beam/receiver/decryption/biss-ca-decryption#export-the-public-key) from the receiver and provide it to the _Content Provider_, who will issue the entitlements. ## Managing BISS-CA Keys You can view the BISS-CA keys currently stored on the unit in the **BISS-CA Key Pairs** table found in `sliders` icon **Appliance** section from the Beam web UI (see [Display BISS-CA key pairs table](/beam/receiver/decryption/biss-ca-decryption#display-biss-ca-key-pairs-table)) The BISS-CA Key Pairs table will list the following information: - **EKID**: This is the Entitlement Key ID derived from the key pair stored on the unit. It will be unique to the key pair and may be used to reference or identify the key pair when communicating with the _Content Provider_. - **Key Pair Type**: This indicates the Key Pair Type as either Self-Generated or Injected. - **Creation Date**: The date when the key pair was generated or imported on to the unit. - **Description**: A text field that the operator can optionally fill to help identify what the key pair is used for such as, name of content provider, event name, etc. This field has no effect on the operation of BISS-CA decryption. - **Download Actions**: The download actions available for the key pair vary according to the key pair type: - **Public**: Download the public portion of the key pair - **Delete**: Remove the key pair from storage on the unit ### Display BISS-CA Key Pairs table To navigate to the BISS-CA Key Pairs table, follow these steps: 1. Select `sliders` icon **Appliance** from the left-hand side menu. 2. Click the **BISS-CA Key Pairs** tab  ### Create a self-generated key pair To create a self-generated key pair, follow these steps: 1. [Display BISS-CA Key Pairs Table.](/beam/receiver/decryption/biss-ca-decryption#display-biss-ca-key-pairs-table) 2. Click **Add key Pair**. 3. Select **Self-Generated Key Pair**. A pop-up window should appear stating **Success**.  4. Click **OK** to close the pop-up window. A new Key Pair entry should appear in the BISS-CA Key Pair table. 5. Enter a suitable descriptive title in the **Description** field to help identify what content provider this key pair will be registered to or the name of the event it will be used for. ### Import injected key pair To import an injected key pair, follow these steps: 1. [Display BISS-CA key pairs table](/beam/receiver/decryption/biss-ca-decryption#display-biss-ca-key-pairs-table). 2. Click **Add Key Pair**. 3. Select **Import Injected Key Pair**. A pop-up browser window should appear showing the required fields necessary for importing an Injected key pair.  4. Click on the **Select Public Key** field where it states _Select a File_, browse and select the file for the **public** key. 5. Click on the **Select Private Key** field where it states _Select a File_, browse and select the file for the **private** key. 6. Enter a suitable descriptive title in the **Description** field to help identify what content provider this key pair will be registered to or the name of the event it will be used for. 7. Click the **Import** button. A pop-up window should appear stating Success.  8. Click **OK** to close the pop-up window. A new key pair entry should appear in the BISS-CA key pair table. ### Export the public key To export the public key, follow these steps: 1. [Display BISS-CA key pairs table](/beam/receiver/decryption/biss-ca-decryption#display-biss-ca-key-pairs-table). 2. Locate the row with the desired key pair. 3. From the **Download Actions** column, click the **Public** button. ### Remove stored key PairA Trusted Platform Module (TPM) must be fitted. If not fitted, the BISS-CA functionality will be hidden. Please contact MediaKind Customer Support on how to check this.
To remove a stored key pair, follow these steps: 1. [Display BISS-CA Key Pairs Table.](/beam/receiver/decryption/biss-ca-decryption#display-biss-ca-key-pairs-table) 2. Locate the row with the desired key pair. 3. From the **Download Actions** column click the **Delete** button. A pop-up window should appear confirming the action. 4. Select **Yes, Delete Key** to complete the action. A pop-up window should appear stating **Success**. 5. Click **OK** to close the pop-up window. ## Configuring BISS-CA Decryption [Entitlements](/beam/receiver/decryption/biss-ca-entitlements) Managing BISS-CA entitlements Popular ### Enable BISS-CA decryption for service decode For a service that has been configured for **UHD** or **SD/HD**, enable BISS-CA with the following steps: 1. From the `fa-home` icon **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Tick the **BISS-CA** checkbox to enable decryption (untick the checkbox to disable decryption).  4. Click **Save and continue** to save your changes. ### Enable BISS-CA decryption for TS passthrough For a service that has been configured for **TS Passthrough**, enable BISS-CA with the following steps: 1. From the `sliders` icon **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Click **Add Decrypted Program** button. A new row will appear in the decryption table. 4. Set the **Service** to be decrypted and set the **Decryption Type** to **BISS-CA**.  5. Click **Save and continue** to save your changes. # Managing BISS-CA entitlements To successfully decrypt BISS-CA content, MK.IO Beam Distribution must have the correct entitlements. The _Content Provider_ requires a public key exported from the receivers [BISS-CA Key Pair table](/beam/receiver/decryption/biss-ca-decryption#managing-biss-ca-keys). To get the correct entitlements, follow these steps: ### Obtaining BISS-CA entitlements 1. [Contact content provider](/beam/receiver/decryption/biss-ca-entitlements#step-1---contact-content-provider) 2. [Exchange keys](/beam/receiver/decryption/biss-ca-entitlements#step-2---exchange-keys) 3. [Check authorization](/beam/receiver/decryption/biss-ca-entitlements#step-3---check-authorization) ## Step #1 - Contact content provider Contact the provider of the scrambled content and determine how they wish to exchange key pairs. They will require one of the following methods: ``` - **Method 1**: The receiver operator must send a public key to the content provider. - **Method 2**: The content provider will send a public/private key pair to the receiver operator. ``` The keys will need to be exchanged between the content provider and the receiver operator using an out-of-band method chosen by the content provider. ## Step #2 - Exchange keys ### Method 1: Send Public Key If requested by the content provider, the receiver operator must supply a **public key** to enable entitlement by the scrambler using a **self-generated key pair**. 1. If a self-generated key pair is not already available, [create a self-generated key pair](/beam/receiver/decryption/biss-ca-decryption#create-a-self-generated-key-pair). 2. [Export the public key](/beam/receiver/decryption/biss-ca-decryption#export-the-public-key). 3. Send the public key to the content provider who will manage entitlements. ### Method 2: Import Public/Private Key The content provider will supply a public and private key pair to the receiver operator, which must be imported into the receiver. This is done using an **injected key pair**. 1. [Import injected key pair](/beam/receiver/decryption/biss-ca-decryption#import-injected-key-pair). 2. The public key should already be registered with the content provider who will manage entitlements. ## Step #3 - Check authorization 1. [Enable BISS-CA decryption for service decode](/beam/receiver/decryption/biss-ca-decryption#enable-biss-ca-decryption-for-service-decode). 2. From the `video-plus` icon **Services** page, click `Alarm` icon to view the alarms page. 3. Confirm that no alarms are raised. 4. If the raised alarm **Label** reports **BISS CA not decrypting** and the **Info** column states **not authorized** then this is due to one or more of the following conditions: - The EKID recovered from the transport stream does not match the EKID of any key pair stored on the receiver. - The content provider has not enabled entitlements. - The content provider has revoked entitlements. 5. Contact the content provider to confirm that the correct public key has been registered and that entitlements have been enabled.Removing a key pair is irreversible. Any service using the removed key pair will no longer be descrambled, and new entitlements must be obtained from the Content Provider (see BISS-CA entitlements).
# BISS Decryption BISS refers to either BISS1 or BISS2, both of which, from a receiver perspective, use a fixed Control/Session Word to decrypt scrambled content, except in the case of BISS‑CA. The supported modes are listed in the table below and are defined in EBU Tech 3292. These modes are supported by MK.IO Beam Distribution.It may be necessary to refer to the EKID value, see Managing BISS-CA keys.
| BISS Protocol Version | Supported Modes | Scrambling Algorithm | Key Length |
|---|---|---|---|
| BISS1 | Mode 1 Mode E |
DVB-CSA | 48 bits |
| BISS2 | Mode 1 Mode E Mode CA (BISS-CA) |
DVB-CISSA | 128 bits |
To set BISS to mode 1, follow these steps: 1. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 2. Select the **Decrypt** tab in the **Parameters** window. 3. Select **Mode 1** for [**BISS mode**](/beam/receiver/parameters#decrypt-parameters). 4. Update the **BISS Key** with the 12-digit hexadecimal CSW for BISS1 or the 32-digit hexadecimal CSW for BISS2. The CSW digits will remain visible whilst being entered but once clicked away, the BISS key will be obscured with \*\*\*\*\*\*\*\*\*\*\*\*. **Example**:  5. Click **Save and Continue** The service configured for decode should now be decrypted and successfully decoding. If the BISS key is incorrectly entered or the service is encrypted using a different CA scheme then erroneous packets will be output from the descrambler and the decoder will fail to decode the service. ## BISS Mode E In BISS Mode E (BISS1-E or BISS2-E), the Clear Session Word (CSW) is encrypted to form the **Encrypted Session Word (ESW)**. Because the ESW is used as the BISS key input, Beam requires an **Injected ID** to derive the CSW. Ideally, the **BISS Injected ID** is securely embedded on the device by the _Content Provider_ and is not shared. If both the ESW (BISS key) and the Injected ID are known, BISS Mode E offers no additional security over BISS Mode 1. ### Set BISS Injected ID The BISS Injected ID is required for BISS Mode E and should be configured or made available by the _Content Provider_. 1. Select **Appliance** from the left-hand side menu. 2. Click the **BISS Injected IDs** tab. 3. In the **New Injected ID** field, enter the 14-digit Injected ID provided for BISS1 or the 32-digit Injected ID provided for BISS2. 4. In the **Description** field, enter a unique description that allows the Injected ID to be referenced later on. 5. Click **Upload**. The new Injected ID is added to the list of Injected IDs embedded on the device. Multiple Injected IDs can be entered using the same process. Each Injected ID must have a unique description, as this description is used to select the correct Injected ID when configuring BISS Mode E. ### Set BISS to mode EBeam automatically switches between the BISS1 or BISS2 version based on the BISS Key length entered in the configuration.
To set BISS to mode E, follow these steps: 1. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 2. Select the **Decrypt** tab in the **Parameters** window. 3. Select **Mode E** for [**BISS mode**](/beam/receiver/parameters#decrypt-parameters). 4. Update the **BISS Key** with the 16-digit hexadecimal ESW for BISS1 or the 32-digit hexadecimal ESW for BISS2. The ESW digits will remain visible whilst being entered but once clicked away, the BISS key will be obscured with \*\*\*\*\*\*\*\*\*\*\*\*. **Example**:  5. From the **Injected ID** drop down option list, select the appropriate **description** name to the required Injected ID embedded in the Beam device. 6. Click **Save and Continue** The service configured for decoding should now be decrypted and decoding successfully. If the BISS key is entered incorrectly, an incorrect Injected ID is used, or the service is encrypted using a different CA scheme, the descrambler will output erroneous packets and the decoder will fail to decode the service. # Common Interface Decryption **Common Interface** (DVB-CI) provides a descrambling solution using a PCMCIA-based card, commonly referred to as a **Conditional Access Module** (CAM). CAMs are available from many different **CA vendors** and offer varying capabilities. Consumer CAMs are typically limited to descrambling a single service and may also restrict the number of components (PIDs) that can be descrambled simultaneously. Professional CAMs, in contrast, can often descramble multiple services and multiple components per service. Each CAM is typically limited to a single CA vendor. Therefore, supporting multiple CA vendors requires multiple CAMs, one provided by each vendor. Entitlements are usually stored either on the CAM itself or on a smartcard inserted into the CAM. Decryption can only be enabled on a CAM once the appropriate entitlements have been delivered to the CAM or its associated smartcard, in accordance with the CA vendor’s implementation. System-level analysis is required to select an appropriate CAM for a given deployment. ## Supported DVB-CI Option Cards To decrypt transport streams on MK.IO Beam using CAMs, supported **Common Interface** option cards are required. Refer to the **[Decryption](/beam/reception/tech-specs#decryption)** section of the technical _Reference_ documentation for a list of compatible cards. MK.IO Beam supports multiple PCMCIA slots for CAM insertion.Beam automatically switches between the BISS1 or BISS2 version based on the BISS Key length entered in the configuration.
## Mutli-Service Descrambling Depending on the capabilities of the CAM in use, one or more programmes (services) can be descrambled using a single CAM. When the [Receiver Configuration Type](/beam/receiver/#receiver-configuration-type) is set to **TS passthrough**, multiple programmes from a single MPTS can be descrambled using the CAM. For decode-oriented _Receiver Configuration Types_, such as **SD/HD** or **UHD**, only one programme can be configured for descrambling per CAM.The Common Interface option card supported by MK.IO Beam is capable of descrambling transport streams with bitrates of up to 96 Mbps. The actual bitrate that can be processed by each CAM depends on the capabilities of the CAM itself.
If the transport stream bitrate exceeds the CAM’s limit, there is no service-limiting feature to remove unused PIDs and reduce the bitrate before it enters the CAM.
## Configuring Common Interface Decryption Refer to [DVB-CI configuration parameters](/beam/receiver/parameters#dvb-ci) for additional settings. ### Enable Common Interface Decryption for Service Decode Common Interface decryption is enabled by assigning a CAM slot in the receiver service configuration. For a _Receiver_ service that has been configured for **UHD** or **SD/HD**, enable Common Interface decryption using the following steps. 1. From the **Home** page, select the **RECEIVER** item from the required feed, then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Click the **DVB-CI** tab. 4. Select the required CAM from the list of detected CAMs in the **CAM slot** drop-down menu to enable descrambling.  5. From the **Parameters** window, select the **Decoding** tab. 6. From the **Service** drop-down menu, select the programme to be descrambled and decoded, or enter the programme number manually. 7. Once configuration is complete, click **Save and Continue** to apply the changes. ### Enable Common Interface Decryption for TS Passthrough For a _Receiver_ service that has been configured for **TS Passthrough**, enable Common Interface decryption using the following steps. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Click the **DVB-CI** tab. 4. Under the **Program Configuration** section, click the **Add Decrypted Program** button. A new row will appear in the decryption table.  5. Under the **Service** column, select the programme to be descrambled, or enter the programme number manually. 6. Under the **Decryption Type** column, select the required CAM from the drop-down list of detected CAMs and other CA types to enable descrambling. 7. Repeat steps 4 - 6 to add more programmes for descrambling. 8. Once configuration is complete, click **Save and Continue** to apply change.A CAM cannot be shared between multiple running Receiver services. To work around this, a common approach is to configure a single TS passthrough Receiver service to descramble multiple programmes using one CAM and output them as a local multicast stream on the MK.IO Beam server. Additional decode-oriented Receiver services can then ingest this locally descrambled multicast and decode individual programmes as required.
## Explore CAM Information CAM information varies by vendor and between different versions of the same CAM. You can configure parameters such as the CA PIN or language, and view details including the model number, version, and CAM status. The menu structure and its contents are generated by the CAM. To explore CAM information: 1. The _Receiver_ service or _Feed_ must be in a _Running_ state. 2. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon to edit 3. From the **Parameters** window, select the **Decrypt** tab. 4. Click the **DVB-CI** tab. 5. Select the required CAM according to the [Receiver Configuration Type](/beam/receiver/#receiver-configuration-type): ### TS Passthrough Select the CAM from the **CAM selection** drop-down menu. ### SD/HD or UHD Select the CAM from the **CAM slot** drop-down menu.When a Receiver service is configured for TS Passthrough, the DVB-CI tab includes a CAM selection option listing detected CAM slots. Selecting a CAM here enables exploring CAM information and resetting the CAM.
6. Click the **Explore CAM in Slot** button to bring up the CAM menu for the CAM assigned in the previous step. 7. A CAM Menu pop-up dialog appears showing the menu structure generated by the CAM.  8. Click menu items to navigate through the CAM menus. Some navigation terms within the CAM Menu may be confusing, such as “pressing OK” on a television remote control. In a web browser, simply clicking the menu item performs the same action. 9. Click **Exit** at the bottom of the CAM Menu pop-up dialog to close it. ## Reset the CAM If the CAM or smartcard develops a fault, it may be necessary to remove and reinsert it. If immediate access is not possible, the CAM can be reset remotely through the user interface.Switching between CAMs will interrupt any programmes currently being descrambled!
To reset the CAM: 1. The _Receiver_ service or _Feed_ must be in a _Running_ state. 2. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 3. From the **Parameters** window, select the **Decrypt** tab. 4. Click the **DVB-CI** tab. 5. Select the required CAM according to the [Receiver Configuration Type](/beam/receiver/#receiver-configuration-type): ### TS Passthrough Select the CAM from the **CAM selection** drop-down menu. ### SD/HD or UHD Select the CAM from the **CAM slot** drop-down menu.Resetting the CAM briefly stops descrambling, which may disrupt the output transport stream or cause decode errors.
6. Click the **Reset CAM in Slot** button to reset the CAM # Director 6 Director 6 delivers secure, end‑to‑end management for contribution and distribution networks, with enhanced content security beyond Director 5 (not supported in Beam). ## Director Features [Conditional Access](/beam/receiver/decryption/director#conditional-access-ca) Enhanced content protection and entitlement management. [Over Air Control](/beam/receiver/decryption/over-air-control) Remotely configure receivers through satellite links. ## Conditional Access (CA)Switching between CAMs will interrupt any programmes currently being descrambled!
When the [Receiver Configuration Type](/beam/receiver/#receiver-configuration-type) is set to **TS passthrough**, it is possible to configure multiple programmes from a single MPTS to be descrambled using Director 6. For decode-oriented _Receiver Configuration Types_, such as **SD/HD** or **UHD**, only a single service can be configured for descrambling and decoding. ### Supplying Information to the Director Headend Receivers under the control of a _Director 6 headend_ system must be registered by supplying the **Director Key File** downloaded from the unit. This contains all the information necessary for the _Director 6 headend_ to authorize decrypting scrambled content or accepting Over-Air-Control (OAC) commands. Before you start, ensure at least one service is configured. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Click the **Director 6** tab. 4. From the **Director 6 hardware ID** drop down list, select an ID entry that the _content provider_ can use to address the receiver service.  5. Click **Export Keyfile** button to download the **Director Key File**. 6. If other Director 6 hardware IDs are assigned to other receiver services, repeat the above steps to export and download the Director Key File for each unique Director 6 hardware ID assignment. 7. Send the Director Key File(s) to the _content provider_ who will manage entitlements. ## Configuring Director 6 Decryption ### Enable Director 6 Decryption for Service Decode Director 6 decryption is enabled by ticking the **Descrambling Enable** check box in the receiver service configuration. This allows multiple service configurations to decrypt using **Director 6** without being limited to the Director 6 hardware ID. For a receiver service that has been configured for UHD or SD/HD, enable Director 6 decryption with the following steps. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Click the **Director 6** tab. 4. Tick the **Descrambling Enable** check box.  5. Once configuration is complete, click **Save and Continue** to apply change. ### Enable Director 6 Decryption for TS Passthrough For a receiver service that has been configured for TS Passthrough, enable Director 6 decryption with the following steps. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon to edit 2. From the **Parameters** window, select the **Decrypt** tab. 3. Click the **Director 6** tab. 4. Under the **Program Configuration** section, click the **Add Decrypted Program** button. 5. A new row will appear in the decryption table, set the **Service** to be decrypted and set the _Decryption Type_ to **Director 6**.  6. Once configuration is complete, click **Save and Continue** to apply change. # Director 6 ## Over Air Control Director provides a list of Over Air Control (OAC) commands that can target an individual Beam device, a group of Beam devices or the entire population of Beam devices registered in the Director Headend database. This feature is often referred to as **Over Air In-Band control**. The OAC commands can be used to configure the Beam device settings remotely, such as satellite tuning parameters and service selection, through commands injected into the transport stream. Upgrading Beam devices via Director’s over‑the‑air software download feature is not supported. Software updates for MediaKind Beam devices are instead performed using MK.IO.A Trusted Platform Module (TPM) must be fitted. If not fitted, the Director 6 functionality will be hidden. Please contact MediaKind Customer Support on how to check this.
### OAC Commands Supported The following general OAC commands are supported by MK.IO Beam Distribution:The receiver MUST be registered to the Director headend before it is able to receive and respond to any OAC commands. Please refer to Supplying Information to the Director Headend
| OAC Command | Description |
|---|---|
| Set Message | Sets the over air messages that can be viewed in Director Status panel of the UI. This is often used to confirm the receiver will respond OAC commands. |
| Force Service Selection | Changes the receiver to a service within the current carrier. |
| Force Carrier Retune | Retune the receiver to a service in a different carrier, either from a stored configuration or from the command itself. |
| Store Carrier Data | Store service and carrier data within a configuration in the receiver. |
| Reset Carrier Data | Clears the service and carrier data for a stored configuration. |
| Service Selection | Allows the user to select which service is decoded or transcoded when using Stream Processing (SP) to service filter the incoming multiple program transport streams. |
| Set Receiver Password | Sets the password of an existing user account. |
| Set Receiver State | Sets the receiver into one of the following states: Reboot, OAC mode or Local mode. |
| Set BISS Data | Allows the user to configure BISS mode 1 and mode E decryption parameters on the receiver. |
## Configuring Director 6 OAC ### Assign Director 6 Hardware ID At least one Receiver service is configured. 1. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 2. From the **Parameters** section, select the **Decrypt** tab. 3. From the **Director 6 hardware ID** drop down field, assign a _hardware ID value_ that is not in use by any of the other receiver services that have been started.  4. Once configuration is complete, click **Save and Continue** to apply change.If the unit is locked to the incoming TDT then the system clock will match the TDT time.
A receiver service in a running state must be assigned a unique Director hardware ID.
### Enable Director 6 Over Air Control At least one Receiver service is configured and already assigned to a unique Director hardware ID. 1. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit 2. From the **Parameters** section, select the **Decrypt** tab. 3. Tick the **Over air control enable** check box. Units added to the Director headend database and tuned to the Director headend transport stream will now respond to over the air commands.  4. Once configuration is complete, click **Save and Continue** to apply change. # Transport Stream Input Configuration There are multiple types of transport stream configurations. Each type presents a different set of parameters.  ## Satellite transport stream input The number of satellite inputs will depend on the option card installed. You can route each satellite input to an independent service, or route a single satellite input to multiple services. The satellite input option cards that are compatible with MK.IO Beam will comply with the following standards: - DVB-S (EN300-421) - DVB-S2 (EN302-307-1) - DVB-S2X (EN302-307-2) DVB-S2 offers up to a 30% increase in data rate carriage for an equivalent link margin compared to what the older DVB-S standard can offer. This functionality is often partnered with MPEG-4 or HEVC compression to give bandwidth efficient distribution of high definition or ultra-high definition services. DVB-S2X is an extension to the DVB-S2 standard and can provide up to 20% performance improvement compared to DVB-S2 and increase the efficiency of satellite links. This will enable an increase in video quality or an increase in the number of video services or a reduction in leased satellite bandwidth, bringing lower operational expenditure. ### Supported Satellite Demodulator Cards Satellite input on MK.IO Beam requires supported hardware option cards. See the **[Satellite Input](/beam/reception/tech-specs#satellite-input)** section in the technical _Reference_ documentation for a list of compatible cards. ### Input ports with multiple Tuners and Demodulators Some satellite demodulator cards support more than one tuner and demodulator pairs connected to each RF input port. In this case, an additional tuning parameter is available in the configuration called **Tuner** where the tuner is referenced alphabetically for that RF port, for example **Tuner A** and **Tuner B**.A receiver service in a stopped state may be assigned a Director hardware ID that is already assigned to another service; however, it cannot be started while another service using the same Director hardware ID is running.
| Physical RF Input | First Tuner/Demod | Second Tuner/Demod |
|---|---|---|
| RF port 1 | Tuner A | Tuner B |
| RF port 2 | Tuner A | Tuner B |
3. Enter the [**UDP port**](/beam/receiver/parameters#ip) number for the incoming transport stream. 4. Select the Ethernet port for the [**Interface**](/beam/receiver/parameters#ip) that the incoming transport stream is available on. 5. Ensure that the [**Input status**](/beam/receiver/parameters#status) is green (receiving) and that they're no errors (this only applies if the source currently exists). # Receiver Input Redundancy For each _Receiver_ service configuration, the default input is designated as the **Primary** input. If the this input fails, the service will stop descrambling and/or decoding. It is possible to configure **input redundancy** for the _Receiver_ service by choosing a **Redundancy Mode** and defining a **Secondary** (backup) input. ## Redundancy Mode OptionsThe Multicast parameter is grayed out if Unicast is selected.
| Redundancy Mode | Key Behaviour | Speed | Auto Switching |
|---|---|---|---|
| Off | Primary only | — | None |
| Active Passive (one-hit) | One-time failover, Primary active and Secondary on demand | Slow | One-hit |
| Active Active (one-hit) | One-time failover, Primary and Secondary both active | Fast | One-hit |
| Active Active (switch on failure) | Continuous failover between Primary and Secondary active inputs | Fast | Ongoing |
| SMPTE ST 2022-7 | Seamless Protection Switching between two IP data paths. | Fast | Ongoing |
5. If **SMPTE ST2022-7** is selected as the _Redundancy mode_, the **Max skew** parameter specifies the maximum permitted timing difference (in milliseconds) between two IP data streams. If the measured skew exceeds this value, packets may be lost during seamless protection switching. 6. Select the **Primary** tab and configure the input as decribed in the [Transport Stream Input Configuration](/beam/receiver/input) section. 7. Select the **Secondary** tab and configure the input as decribed in the [Transport Stream Input Configuration](/beam/receiver/input) section. 8. Once complete, click **Save and exit**.If the input error is cleared before the end of the Input loss timeout, the redundancy switch is aborted and the service will continue to use the current input.
### Manually Switch Between Primary and Secondary inputs Manual switching between Primary and Secondary inputs is possible even when both inputs are healthy. This is not supported for SMPTE ST 2022-7. Before you start, ensure at least one **Receiver** service is configured with a **Redundancy mode** selected. 1. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon to edit (or click `Chart` icon to view the Statistics page). 2. Locate the **Input Status** section of the page and click the **Switch Input** icon `Left/Right` icon.  # Configure the output MK.IO Beam can output decoded video, audio and data using one or more of the following transport methods for distribution to other devices: [SDI Output](/beam/receiver/output/sdi) Broadcast standard for transmitting uncompressed video, audio, and data over coaxial or fiber cables. [SMPTE ST 2022-6 Output](/beam/receiver/output/smpte-st-2022-6) IP-based standard that encapsulates a complete SDI signal (video, audio, and data) into a single stream. [SMPTE ST 2110 Output](/beam/receiver/output/smpte-st-2110) Native IP standard that transports video, audio, and data as separate, independent streams. [Transport Stream Passthrough](/beam/receiver/output/ts-passthrough) Convert a satellite feed into an IP UDP multicast transport stream and decrypt the content. ## Output Profile selection Some output configurations require optimizations to get the best performance. The following **output profiles** are available:A 20 second delay occurs from the moment you save in order to initialize the redundancy configuration. Any loss of input or alarms raised on the Primary input during this time does not cause a switch.
| Output Profile | Receiver Service Type | Other Service Types |
|---|---|---|
| Standard | Recommended for: - SDI output (all video formats) - SMPTE ST 2022-6 output (all video formats) - SMPTE ST 2110 output (SD/HD video formats) |
Recommended |
| SMPTE ST 2110 UHD Output | Mandatory for: - SMPTE ST 2110 output (UHD video formats) |
Not recommended |
### Configuring 3G-SDI Level To set the 3G-SDI level for outputting 1080p video, follow these steps: 1. On the **Home** page, select the **RECEIVER** item from the required feed, then click `Edit` icon to edit. 2. In the **Parameters** window, select the **Output** tab. 3. Select the tab for the SDI output type, for example **SDI 1**. 4. Select the required SDI output level from the **3G-SDI Level** drop-down menu:  5. Click **Save and Continue** to apply change. # Configure audio output The Receiver service supports a maximum of 16 channels (8 stereo pairs) of embedding for any baseband audio output. Before you start, ensure: - At least one Receiver service is configured. - A video service and at least 1 audio component is configured to be decoded. ## Add an output audio component 1. From the **Home** page, select the required field. 2. Select the **RECEIVER** item from the required feed then click `Edit` icon. 3. From the **Parameters** section, select **Output** to display options. 4. Go to the **Audio** tab to open the tab and display options then select **Add component**. An audio component displays. 5. Configure audio output parameters.When 3G‑SDI Level B Dual Link is selected and the video format is 1080p or 2160p, ancillary data is inserted into the specified line number (n) of each link. For example, if Line 9 is selected for VITC, the data is inserted into line 9 of Link 1 and line 572 of Link 2.
## Add all output audio 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select **Output** to display options.  3. Go to the **Audio** tab then select **Add all**. All the decoded audio components that are not currently included in the output audio configuration are added to the component column (**up to a maximum number of embedded channels available for the output video format in use**). Embedded channels are allocated in sequence until all available channels are filled. ## Delete an output audio 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select **Output** to display options. 3. Go to the **Audio** tab then click `Delete` icon in the **Actions** column. The audio component no longer displays. ## Delete all output audio 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select **Output** to display options. 3. Go to the **Audio** tab then select **Remove all**. All the audio components are now removed from the list of output configurations. ## Configure Audio Embedding 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select **Output** to display options. 3. Go to the **Audio** tab then select a **Component** from the drop-down list. Available audio components are based on the audio being decoded for the service. 4. Select an **Embedding** position from the drop-down list.Lipsync may be adjusted in the range +- 50mS. In low delay modes negative lip-sync adjustments may not be possible.
 Each audio component is embedded into the output SDI at the selected position.
- A single Embedded channel is required to output a stereo audio.
- 3 Embedded channels are required to output a 5.1 audio.
| Output Format | Embedded options |
|---|---|
| 1.5G SDI (720p/1080i) | Embedded 1 to 8 |
| 3G SDI (1080p) | Embedded 1 to 16 |
| 4 x 3G SDI (2160p) | Embedded 1 to 16 |
| 12G SDI (2160p) | Embedded 1 to 16 |
## Configure the clock reference To configure the clock reference, follow these steps: 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. Select the **Clock reference** format required for the SDI output.\ Possible options: - **Free running** - **External sync** (External sync requires a specific cable installation, see Installation Guide).The Beam server automatically detects the type of external-sync applied and attempts to lock the SDI output to the external reference supplied. If the unit detects a signal mismatch then frame sync will not be acquired and the unit will continue to run using its own internal sync.
## Configure the external sync offset The server has been set to **External sync** with a valid reference studio clock applied to the Sync input. The playout timing of each SDI output frame can be adjusted (advanced or delayed) in single pixel increments relative to the external frame sync.For further information on options, see SDI output parameters and status.
1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select to **Output** tab.  3. Enter the offset required in pixels to be applied in the **External sync offset** field. # Configure data output Data is embedded into the VANC (Vertical Ancillary) lines of the SDI output. It is possible to embed more than one data type onto a single VANC line. MK.IO Beam Distribution currently supports the following data types: - VITC / Time code - AFD / BAR - Closed Captions - OP-47 Teletext - SMPTE 2031 Teletext - Generic dataExternal sync requires a specific cable installation (see Quick Start Guide).
Before you start, ensure: - At least one Receiver service is configured. - The service to be decoded has been selected from the **Selected Service** list in the **Input** tab. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select **Output** to display options. 3. Select **Data** to open the tab and display options.  4. Select the Line number from the drop-down menu.\ Each selected data component (if present on the incoming transport stream) is now either decoded from a data PID or is extracted from User data or SEI in the video elementary stream.See output parameters descriptions for additional information.
## Disable data output Before you start, ensure: - At least one Receiver service is configured. - The service to be decoded has been selected from the **Selected Service** list in the **Input** tab. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. From the **Parameters** section, select **Output** to display options. 3. Select **Data** to open the tab and display options.  4. Select **OFF** from the drop-down menu for each data that you want to disable. Once disabled, the data is no longer embedded into SDI outputs. # Video Conversion Each _Receiver_ service can convert an input video resolution to a different output resolution (i.e. up-conversion or down-conversion). The processed video can be passed through to output standards such as SDI, SMPTE ST 2022-6, or SMPTE ST 2110. ## Supported Conversions The following output resolution conversions are supported. Frame-rate is preserved; conversions between interlaced and progressive formats are supported where applicable.Generic data is automatically reinserted into the same line it came in.
| Input resolution | SD Output | 720p Output | 1080i Output | 1080p Output | 2160p Output |
|---|---|---|---|---|---|
| UHD | ✔ | ✔ | ✔ | ✔ | |
| 1080p | ✔ | ✔ | ✔ | ||
| 1080i | ✔ | ✔ | ✔ | ||
| 720p | ✔ | ✔ | |||
| SD | ✔ |
### Enabling Video Scaling To enable video scaling for a specific _Receiver_ service, follow these steps: 1. On the **Home** page, select the **RECEIVER** item from the required feed, then click `Edit` icon to edit. 2. In the **Parameters** window, select the **Output** tab. 3. From the **Video scaling** drop-down menu, select the required output resolution. Select **No scaling** to disable conversion. 4. After completing the configuration, click **Save and Continue** to apply the changes.If the decoded input format is not supported by the target output (for example, UHD routed to a 3G-SDI-capable output port), the video must be down-converted to a supported format such as 1080p.
# HDR to SDR Conversion MK.IO Beam supports HDR-to-SDR conversion for decoded video, compressing the dynamic range of HDR content to ensure compatibility with standard dynamic range (SDR) systems. ### Supported HDR formats Conversion is supported for the following HDR formats: - PQ10/HDR10 - HLG10 Inputs in these formats are tone-mapped to SDR, producing an SDR signal with transfer characteristics compliant with BT.709, as defined by the selected tone-mapping _lookup table (LUT)_. ## Configuring HDR to SDR Conversion ### Enabling Dynamic Range Conversion Each _Receiver_ service can be configured for HDR to SDR conversion. Before you start, ensure at least one Receiver service is configured. 1. From the **Home** page, select the **RECEIVER** item from the required feed then click `Edit` icon. 2. In the **Parameters** window, select the **Output** tab. 3. Configure _HDR-to-SDR conversion_ by setting the **Dynamic Range Conversion** option to one of the following selections: - **None**: HDR-to-SDR conversion is disabled; the video is passed through unchanged - **Custom HDR to BT.709 lookup table**: Use the specified custom LUT to output BT.709 encoded SDR - **Convert to BT.709**: Use proprietary tone-mapping LUT to output BT.709 encoded SDR 4. If _Dynamic Range Conversion_ has been set to **Custom HDR to BT.709 lookup table** then select the required custom LUT description from the **Custom HDR to BT.709 lookup table** drop-down option.  5. Click **Save and continue** to save your changes.If the decoded input format and the selected Video scaling is not supported, an alarm will be raised.
## HDR to SDR Conversion Lookup Tables HDR-to-SDR conversion uses **3D look-up tables (3D LUTs)**, provided as **.cube** files, to map input RGB values to output RGB values within a three-dimensional grid, enabling complex colour transformations. MK.IO Beam supports **size 33** LUTs. ### Viewing Stored LUTs Multiple LUTs can be stored on MK.IO Beam and individually selected by a _Receiver_ service. The **Stored LUTs** section lists custom LUTs which have been uploaded to the MK.IO Beam device: 1. Select `sliders` icon **Appliance** from the left-hand side menu. 2. Click the **HDR > SDR Conversion** tab.  Each row in the **Stored LUTs** section provides the following information and their current settings. Some settings can be modified and saved using the **Update** button.
- If the incoming stream is already SDR, conversion is automatically bypassed.
- It cannot be verified whether a selected custom LUT is compatible with the supported HDR formats listed above, so care should be taken when selecting custom LUTs.
- If an issue occurs during HDR-to-SDR conversion, an alarm is raised.
| Parameter | Description |
|---|---|
| Description | The reference description given to the custom LUT. This will be listed in the selection when configuring HDR to SDR conversion in the Output settings of a Receiver service. |
| Filename | The filename of the .cube file that was uploaded. |
| Input Full Range | This determines whether input samples are processed using the full (EBU R 103) range or the standard (limited) YUV range. |
| Output Full Range | This determines whether output samples are processed using the full (EBU R 103) range or the standard (limited) YUV range. |
| Creation Date | Date and time when the custom LUT was uploaded. |
| Last Modified | Data and time when the custom LUT was last modified. |
| File CRC | Unique CRC value of the .cube file that was uploaded. |
| Actions | Possible actions for the custom LUT: - Update: Any modifications must be saved by using this button - Delete: Delete the custom LUT from the device |
## SCTE-35 commands A number of Splice commands are defined within SCTE-35 but only the following commands are filtered by the _Receiver_ service, all others are silently ignored:This functionality is available for each decode service on MK.IO Beam.
| SCTE-35 Splice Command | Splice Command Type | Conversion to SCTE-104 | Description |
|---|---|---|---|
| splice_null() | 0x00 | splice_null_request_data() | This command is provided for extensibility and can be used to generate a heartbeat message for downstream splicing equipment. It is passed through the receiver transparently without modification. |
| splice_insert() | 0x05 | splice_request_data() | This command syntax supports multiple types of splice messages. The primary subtypes include splice Network Out/In points and splice cancel messages. |
| time_signal() | 0x06 | time_signal_request_data() | Provides precise timing for splice events. It is typically used in conjunction with segmentation descriptors. Segmentation descriptors will be preserved and converted into SCTE‑104 segmentation descriptor messages. |
 5. Refer to [SCTE 104 Splicing configuration parameters](/beam/receiver/parameters#scte-104-splicing) for additional settings. 6. Click **Save and Continue** to apply the changes. ## Time Signal Conversion A `time_signal()` splice command may include an optional `segmentation_descriptor()`. When present, this can be translated into SCTE‑104 `multiple_operation_message`, comprising: - `time_signal_request_data()`, followed by - `insert_segmentation_descriptor_request_data()` ### Configuring Time Signal Conversion To enable or disable time signal conversion: 1. Enable Splicing by following [Configuring SCTE-104 output](/beam/receiver/output/scte35-to-scte104#configuring-scte-104-output). 2. Select the **Time Signal** checkbox to enable or disable conversion of the `time_signal()` splice command. 3. Click **Save and Continue** to apply the changes. ## Event ID filtering Event ID filtering, also referred to as _Addressable DPI_, allows the _Receiver_ service to filter out undesired DPI events according to the `splice_event_id` in the incoming SCTE-35 messages. Typically, this would be used at downlink sites. For example, Receiver services can be grouped so that: - all receivers in **Group 1** output only messages with `splice_event_id` = 1, - all receivers in **Group 2** output only messages with `splice_event_id` = 2, and so on. When Event ID filtering is enabled, each SCTE‑35 message is evaluated against the filter. Only messages that match the filter are converted to SCTE‑104 for output; all others are dropped. When filtering is disabled, all SCTE‑35 messages are converted to SCTE‑104. ### How the Filter Works The filter compares two values: - _A_ = bitwise AND of the **Event ID mask** and `splice_event_id` from the `splice_insert()` message - _B_ = bitwise AND of the **Event ID mask** and the user-defined **Event ID value** If _A_ equals _B_, the SCTE‑35 message passes the filter and is converted to SCTE‑104. **Example** Worked example with: - SCTE-35 message with the **splice\_event\_id** = 0xA0001200 - **Event ID mask** = 0x10001000 - **Event ID value** = 0x00001000 ``` Binary (Hex) splice_event_id: 10100000 00000000 00010010 00000000 (0xA000 1200) Event ID mask: AND 00010000 00000000 00010000 00000000 (0x1000 1000) Result A: = 00000000 00000000 00010000 00000000 (0x0000 1000) Binary (Hex) Event ID value: 00000000 00000000 00010000 00000000 (0x0000 1000) Event ID mask: AND 00010000 00000000 00010000 00000000 (0x1000 1000) Result B: = 00000000 00000000 00010000 00000000 (0x0000 1000) ``` - A = 0x00001000 - B = 0x00001000 Since _A_ equals _B_, the SCTE‑35 message passes the filter and is converted to SCTE‑104. ### Configuring Event ID filtering To configure the Event ID filter: 1. Enable Splicing by following [Configuring SCTE-104 output](/beam/receiver/output/scte35-to-scte104#configuring-scte-104-output). 2. Select the **Event ID filter** checkbox to enable filtering.  3. Set the **Event ID mask** with a value in hexadecimal. 4. Set the **Event ID value** with a value in hexadecimal. 5. Click **Save and Continue** to apply the changes. # Configure SDI output The _Receiver_ service on MK.IO Beam can output uncompressed digital video, audio, and ancillary data using the SDI output standards. ## Supported SDI Output Cards SDI output on MK.IO Beam requires supported hardware option cards. See the **[SDI Output](/beam/reception/tech-specs#sdi-output)** section in the technical _Reference_ documentation for a list of compatible cards. ## Configuring SDI Output ### Configuring ASI/SDI mode To use the card as a SDI output card it must be configured as follows (see also [Set up SDI/ASI cards](/beam/system-admin/maintenance/setup-sdi-asi-card/)): 1. Select `sliders` icon **Appliance** from the left-hand side menu. 2. Click the **ASI/SDI Interface** tab. 3. Select the **Slot** Tab corresponding to the SDI/ASI card. If more than one card is present, there will be a separate slot tab for each card. 4. Select the appropriate ASI/SDI mode from the **ASI/SDI Mode** drop down menu. The _description_ shows which SDI standards are supported (for example, UHD output may not be supported). 5. Click the **Apply and Reboot** button. 6. A confirmation pop-up window will appear asking, "Are you sure?" 7. Review any warnings or guidance provided. If you are sure, click **Yes, configure and REBOOT!** Otherwise, click **Cancel** to abort. 8. Following the reboot, refresh the web page. The reboot may take a few minutes to complete. ### Determine SDI output card Slot number SDI port selection is referenced with its card slot number to differentiate where multiple cards are fitted to the server. The card name/type for an assigned slot number can be determined using the following steps: 1. Select `sliders` icon **Appliance** from the left-hand side menu. 2. Click the **ASI/SDI Interface** tab. 3. Select the **Slot** Tab corresponding to the SDI/ASI card. If more than one card is present, there will be a separate slot tab for each card. The selected Slot tab should list some useful data such as card model, serial number, etc.When SCTE‑104 Splicing is enabled with a valid line number, the additional SCTE 104 splicing configuration options become available. Setting the SCTE-104 Splicing line selection to OFF hides these options.
### SDI output port Before you start, ensure at least one _Receiver_ service is configured. 1. From the **Home** page, select the ****RECEIVER**** item from the required feed then click `Edit` icon. 2. In the **Parameters** window, select the **Output** tab. 3. Select the **SDI 1** tab. If the **SDI** tab is not present under the **Output** tab: - Click the `Add` icon to bring up a prompt to add a new output - Select **SDI** from the drop down menu - Click the **Add** button to complete and add the SDI output tab 4. Select the **SDI port** required from the drop down menu.  5. Select any required video options as detailed in the [SDI output parameters](/beam/receiver/parameters#sdi-output-parameters-and-status) sectionThere is a known issue on some servers where the reported slot number does not match the slot number printed on the rear chassis.
# Set SDR/HDR Signalling SDR/HDR signalling ensures that downstream devices interpret the video signal correctly and apply the appropriate display characteristics (for example, brightness, contrast, and colour gamut). In most cases, the signalling information is extracted from the incoming transport stream. If this metadata is missing or incomplete, you can override it and explicitly specify the desired dynamic range signalling.SDI ports in use by other running services are listed in the drop-down menu, along with the associated service name. A service configured to use an SDI port that is already in use will be prevented from running.
If an SDI port appears to be missing or listed as 3G-capable instead of 12G-capable, this may be due to the selected ASI/SDI mode. Refer to the Configuring ASI/SDI mode section to update the setting.
## Dynamic Range and Color Standards SDR and HDR describe the luminance range and transfer characteristics of a video, not the chromaticity or color primaries. ITU-R recommendations BT.601, BT.709, and BT.2020 define those color primaries and colorimetry independently of dynamic range. BT.601 covers SD, with distinct primary sets for 525-line (NTSC) and 625-line (PAL) systems; BT.709's HD primaries match BT.601's 625-line variant; BT.2020 covers the wider gamut used for UHD and HDR.The Dynamic range signalling setting does not perform any dynamic range conversion of the decoded video. It only defines the signalling metadata embedded in the outgoing video stream.
| Video Format | Dynamic Range | Color Standard |
|---|---|---|
| SD | SDR | BT.601 |
| HD | SDR | BT.709 |
| HD | HDR (PQ or HLG) | BT.2020 |
| UHD | HDR (PQ or HLG) | BT.2020 |
| Dynamic range signalling option | Dynamic range signalled on the output | Color standard signalled on the output |
|---|---|---|
| Follow input | - | - |
| SDR (BT.709) | SDR | BT.709 |
| SDR (BT.2020) | SDR | BT.2020 |
| HDR HLG10 | HDR HLG transfer function with 10-bit precision | BT.2020 |
| HDR PQ10 | HDR PQ transfer function with 10-bit precision | BT.2020 |
### Configuring Dynamic Range Signalling To manually set the standard to be used for SDR or HDR signalling follow the steps below: 1. On the **Home** page, select the **RECEIVER** item from the required feed, then click `Edit` icon to edit. 2. In the **Parameters** window, select the **Output** tab. 3. Select the tab for the required output type, for example **SDI 1**. 4. Select the appropriate setting from the **[Dynamic range signalling](/beam/receiver/output/sdr-hdr#supported-signalling-options)** drop-down menu: - Select **Follow input** to extract the video format from the incoming transport stream and embed into the output video. - Select one of the **SDR** or **HDR** standards to override the incoming format and embed into the output video.  5. Click **Save and Continue** to apply change. # SMPTE ST 2022-6 output The Receiver service on MK.IO Beam can output SDI over IP using SMPTE ST 2022-6 via the server's network interfaces. ## Capabilities ### Video #### Video formats The following video formats are supported:Notes on the Follow input selection:
- By default, a new Receiver service outputs video signalling SDR (BT.709).
- When a dynamic range standard is successfully extracted, the output video signals the extracted standard.
- When the dynamic range standard is lost, the last extracted standard continues to be signalled on the output video.
- If the video input is lost, the last decoded standard continues to be signalled on the output video, and outputs video according to the Video fail mode selection.
- Follow input will automatically follow any conversions made with HDR to SDR conversion so it will be unnecessary to manually override and select SDR.
| Resolution | Frame rate | Bandwidth | Limitations |
|---|---|---|---|
| 720 x 480i | 29.97 fps | 0.3 Gbps | |
| 720 x 576i | 25 fps | 0.3 Gbps | |
| 1280 x 720p | 50/59.94 fps | 1.6 Gbps | |
| 1920 x 1080i | 25/29.97 fps | 1.6 Gbps | |
| 1920 x 1080p | 50/59.94 fps | 3.2 Gbps | 3G-SDI Level A only |
### HDR to SDR conversion custom lookup table When the **Dynamic range conversion** option is set to **Custom HDR to BT.709 lookup table,** a custom lookup table may be specified. Please refer to the [HDR to SDR](/beam/receiver/output/hdr-sdr) section for information on uploading custom lookup tables. ## Configure audio From the **SMPTE ST 2022-6** tab, select the **Audio** tab. The output audio component list is initially populated with the decoding audio components at the time the SMPTE ST 2022-6 output was created. ### Add an audio component Select **Add component.** A new entry is added to the audio component list.See video descriptions for additional information.
### Configure audio embedding For the row corresponding to the output audio component to be configured: 1. Select the audio decoding component from the **Component** drop down list. 2. Select the position where the audio decoding component will be embedded from the **Embedding** drop down list (select the **No embedding** option to disable embedding). 3. Set the lip-sync adjustment in the **Lip-sync adjustment** field. Lip-sync may be adjusted in the range +/- 50 milliseconds. In low delay modes negative lip-sync adjustments may not be possible.A new entry is added only when decoding audio components have been configured.
### Remove an audio component Click the `Delete` icon button in the **Action** column for the row corresponding to the audio component to be removed. ### Add all audio components Select **Add all.** All the decoding audio components that are not currently included in the output audio configuration are added to the component list. Embedded channels are allocated in sequence until all available channels are filled. ### Remove all audio components Select **Remove all.** All the audio components are removed from the list of outputs. ## Configure data 1. From the **SMPTE ST 2022-6** tab, select the **Data** tab. 2. Set the line number from the drop down menu for each data type. 3. Select **OFF** from the drop-down menu for each data type that you want to disable. Once disabled, the data is no longer embedded into the output.A single embedded channel is required to output stereo audio.
### SCTE-104 splicing 1. The SCTE-104 configuration is displayed when the **SCTE 104 splicing** line is set. 2. Apply the configuration values based on the information in the [SCTE-35 to SCTE-104](/beam/receiver/output/scte35-to-scte104) section.Generic data is automatically reinserted into the same line it came in.
## Configure the primary stream 1. From the **SMPTE ST 2022-6** tab, select the **Primary stream** tab. 2. Set the **Destination IP address,** **Destination port** and **Network interface.** 3. Optionally, set the **Source IP address** and **Source port.** 4. Optionally, set the **TTL.**See SCTE 104 Splicing descriptions for additional information.
## Configure the secondary stream 1. Optionally, from the **SMPTE ST 2022-6** tab, click the + button next to the **Primary stream** tab. 2. Follow the same instructions as for the primary stream to configure the secondary stream. # Configure SMPTE ST 2110 output The Receiver service on MK.IO Beam can output uncompressed digital video, audio, and ancillary data over IP networks using SMPTE ST 2110. Unlike [SDI](/beam/receiver/output/sdi) and [SMPTE ST 2022‑6](/beam/receiver/output/smpte-st-2022-6), where all content is carried in a single stream, SMPTE ST 2110 transports each Media Type (i.e. video, audio, and ancillary data) as separate, independently routed **essence streams**. SMPTE ST 2110 uses the Precision Time Protocol (IEEE 1588 PTP) to ensure accurate synchronization between video, audio and data streams. In some cases, it may be necessary to update the server performance profile by selecting an alternative output profile. See [Output Profile Selection](/beam/receiver/output#output-profile-selection) for details. ## Supported Network Cards SMPTE ST 2110 output on MK.IO Beam requires supported hardware option cards. See the **[SMPTE ST 2110](/beam/reception/tech-specs#smpte-st-2110-output)** section in the technical _Reference_ documentation for a list of compatible cards. ## Rivermax License When installing the NVIDIA (Mellanox) ConnectX network adapter card into an existing MK.IO Beam system, a Rivermax license is required to enable SMPTE ST 2110 functionality. Follow the steps below to obtain and install the license. **Rivermax License Procedure** ### Install adapter card and connect to server 1. Install the adapter card into the server then power on. 2. Connect to the server over SSH as a user with `sudo` privileges. 3. Confirm that the adapter card is detected by the OS with the following command: ```shell copy lspci | grep ConnectX ``` An example of a single card installed with two ports should look like the following: ```shell 01:00.0 Ethernet controller: Mellanox Technologies MT2894 Family [ConnectX-6 Lx] 01:00.1 Ethernet controller: Mellanox Technologies MT2894 Family [ConnectX-6 Lx] 41:00.0 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx] 41:00.1 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx] ``` The above example indicates that a ConnectX-6 Lx card is present on PCI Bus/Slot `01:00` and that a ConnectX-6 Dx card is present on PCI Bus/Slot `41:00`. ### Obtain adapter card serial number Run the following command to list detected PCIe cards and extract the adapter card serial number. Use the `-s` option to specify PCI bus/slot IDs if you need to narrow down the target card for licensing. ```shell copy sudo lspci -vv -s 41:00 | grep "Serial number" ``` The serial numbers should look similar to: ```shell [SN] Serial number: MT2051X19249 [SN] Serial number: MT2051X19249 ``` ### MediaKind Supply Provide the serial number to MediaKind supply:See streams descriptions for additional information.
### Video Output To configure ST 2110-20 video for [SMPTE ST 2110 Output](/beam/receiver/output/smpte-st-2110#smpte-st-2110-output), follow these steps: 1. From the **SMPTE ST 2110** tab, select the **Video** tab. 2. Select any required video options as detailed in the [SMPTE ST 2110 output parameters](/beam/receiver/parameters#smpte-st-2110-output-parameters) section 3. Check the [Essence](/beam/receiver/output/smpte-st-2110#configure-essence-output) settings. ### PCM Digital Audio OutputIf a UHD SMPTE ST 2110 output is created, then all other outputs must be deleted as the UHD service only supports a single output.
SMPTE ST 2110-30 Conformance Level C supports 1 to 8 channels with a 1 msec packet time, or 1 to 64 channels with a 125 usec packet time. Selecting a **Packet Time** of **1 msec** ensures optimal interoperability between devices, while selecting a **Packet Time** of **125 usec** allows more channels to be carried into a single essence stream. Note that, on MK.IO Beam, the actual number of available channels will be limited by the number and configuration of the available audio decoders. For mixed-vendor environments, 1 ms packet time is recommended unless higher channel density is explicitly required. MK.IO Beam supports additional ST 2110-30 essences if more channels need to be carried. To configure ST 2110-30 PCM digital audio for [SMPTE ST 2110 Output](/beam/receiver/output/smpte-st-2110#smpte-st-2110-output), follow these steps: 1. From the **SMPTE ST 2110** tab, select the **PCM Audio** tab. 2. Use the **Add component,** **Add all** or **Remove all** buttons to set the required number of decoded audio components to the list of output components. By default, each audio component will be embedded (carried) in **Essence 1**. 3. If the number of channels exceed the current Essence settings, add more essences by selecting `Add` icon in the Essence section. For example, `Add` icon button next to the **Essence 1** tab. 4. Review the list of output audio components and assign to the desired essence stream under the **Embedding** column. For example, **Essence 1** or **Essence 2**. 5. Alternatively, change the **Packet Time** setting in Essence section to change the numbers of channels that can be carried in each essence stream. 6. Select any required PCM audio options as detailed in the [SMPTE ST 2110 output parameters](/beam/receiver/parameters#smpte-st-2110-output-parameters) section 7. Check the [Essence](/beam/receiver/output/smpte-st-2110#configure-essence-output) settings. ### AES3 Audio OutputAudio Auto Select should be disabled when using SMPTE ST-2110 outputs, as it may result in too many or too few audio channels being carried in the ST 2110-30 essence stream.
SMPTE ST 2110-31 Conformance Level C supports 1 to 6 channels with a 1 msec packet time, or 1 to 60 channels with a 125 usec packet time. Selecting a **Packet Time** of **1 msec** ensures optimal interoperability between devices, while selecting a **Packet Time** of **125 usec** allows more channels to be carried into a single essence stream. Note that, on MK.IO Beam, the actual number of available channels will be limited by the number and configuration of the available audio decoders. For mixed-vendor environments, 1 ms packet time is recommended unless higher channel density is explicitly required. MK.IO Beam supports additional ST 2110-31 essences if more channels need to be carried. To configure ST 2110-31 AES3 audio for [SMPTE ST 2110 Output](/beam/receiver/output/smpte-st-2110#smpte-st-2110-output), follow these steps: 1. From the **SMPTE ST 2110** tab, select the **AES3 Audio** tab. - If AES3 Audio tab is not shown, select the `Add` icon button next to the Media Type tabs (e.g Video, Data, etc) to add the **AES3 Audio** tab. 2. Use the **Add component,** **Add all** or **Remove all** buttons to set the required number of decoded audio components to the list of output components. By default, each audio component will be embedded (carried) in **Essence 1**. 3. If the number of channels exceed the current Essence settings, add more essences by selecting `Add` icon in the Essence section. For example, `Add` icon button next to the **Essence 1** tab. 4. Review the list of output audio components and assign to the desired essence stream under the **Embedding** column. For example, **Essence 1** or **Essence 2**. 5. Alternatively, change the **Packet Time** setting in Essence section to change the numbers of channels that can be carried in each essence stream. 6. Select any required AES3 audio options as detailed in the [SMPTE ST 2110 output parameters](/beam/receiver/parameters#smpte-st-2110-output-parameters) section 7. Check the [Essence](/beam/receiver/output/smpte-st-2110#configure-essence-output) settings. ### Data Output To configure ST 2110-40 ancillary data output, follow these steps: 1. From the **SMPTE ST 2110** tab, select the **Data** tab. 2. For each available ancillary data type, select the **line number** that the data should appear on or **OFF** to disable the data type. Details for each data type can be found in the [SMPTE ST 2110 output parameters](/beam/receiver/parameters#smpte-st-2110-output-parameters) section. 3. Check the [Essence](/beam/receiver/output/smpte-st-2110#configure-essence-output) settings. ### Configure Essence OutputAudio Auto Select should be disabled when using SMPTE ST-2110 outputs, as it may result in too many or too few audio channels being carried in the ST 2110-31 essence stream.
Each **Media Type** is configured as a separate **essence stream** for the SMPTE ST 2110 output. To configure the essence output, follow these steps: 1. From the **Essence 1** tab, enable the output by ticking the **Output enable** checkbox. 2. Override the default value for the **Payload type** if required. 3. Configure any extra parameter specific to the Media Type: - **PCM Audio**: The **Packet Time** determines the maximum number of channels carried in the essence. - **AES3 Audio**: The **Packet Time** determines the maximum number of channels carried in the essence. 4. Under the **Primary** tab for the current Essence: 1. Enter the **Destination IP Address** and **Destination Port** for the primary essence stream. 2. Select the **Network interface** from the options in the pull-down list. 3. Either leave the **Source port** setting on **Auto** or enter a valid value. 4. Set a value for the **TTL** parameter. 5. Repeat the above steps for each **Essence** tab introduced. 6. Click **Save and continue** to save your changes. ### SMTPE ST 2022-7 For downstream SMPTE ST 2110 receivers (e.g. monitors, encoders) that support **SMPTE ST 2022-7 Seamless Protection Switching**, two identical RTP streams are required for each essence. These streams must be carried independently over separate network paths to provide redundancy. This can be facilitated by MK.IO Beam for each _Receiver_ service outputting SMPTE ST 2110. By enabling a **Secondary** output for each essence stream, the **Primary** stream is duplicated. To configure this, follow the steps below: 1. From the **SMPTE ST 2110** tab, review each Media Type tab. For example, the **Video** tab. 2. Select the **Essence 1** tab. 3. Click `Add` icon button next to the **Primary** tab to add the **Secondary** tab. 1. Enter the **Destination IP Address** and **Destination Port** for the secondary essence stream. 2. Select the **Network interface** from the options in the pull-down list. 3. Either leave the **Source port** setting on **Auto** or enter a valid value.An SDP file is generated for each essence regardless of whether it is enabled. However, IP streams are only created for enabled essences.
4. Set a value for the **TTL** parameter. 4. Repeat the above steps for each **Essence** tab under the selected Media Type. 5. Repeat the above steps for each Media Type tab. For example, **PCM Audio**, **AES3 Audio** and **Data** tabs. 6. Click **Save and continue** to save your changes. ## Download SDP File The SDP (Session Description Protocol) files that describe each SMPTE ST 2110 essence are generated each time the essence parameters and source input are changed. These SDP files can be used to configure the inputs of equipment that are required to receive the SMPTE ST 2110 essence streams. The SDP file for each media type can be obtained by clicking `Download` icon in the **Output status** section. This appears on the **Stats** `Chart` icon page and on the **Edit** `Edit` icon page for the Output.The Secondary source port will use the same value for source port as the Primary setting. This is due to a driver limitation that may be resolved in future releases.
It is advisable to wait 30 seconds after setting up an essence and providing a source stream before downloading the SDP files to ensure the SDP file is fully updated. ## NMOS Support Once the required service has been started, SMPTE ST 2110 outputs can be discovered using products that support the NMOS IS-04 Discovery and Registration standard. In addition, active SMPTE ST 2110 outputs can be managed using products that support the NMOS IS-05 Device Connection Management standard.The SDP files are automatically regenerated whenever a change to the input source or essence parameters are detected. The initial SDP file generation may only contain the changes related to either the input source or the essence parameters.
### mDNS Configuration The MK.IO Beam supports the ability to use **multicast DNS (mDNS)** protocol to resolve domain names within the attached SMPTE ST 2110 network.If the device hostname is changed, a reboot is recommended to ensure continued NMOS operation.
This can be enabled from the GUI via the NMOS tab on the appliance page: 1. Select `sliders` icon **Appliance** from the left-hand side menu. 2. Click the **NMOS** tab. 3. Enable the **mDNS Eanble** checkbox as shown below:  4. Set an appropriate name or description in the **Label** so that your node device can be easily identified. ### NMOS Basic SettingsDo not enable this setting in unsupported networks, this may lead to memory issues.
| Parameter | Description |
|---|---|
| mDNS Eanble | If enabled, use multicast DNS to automatically configure NMOS registration settings. |
| Label | This is the label used for the device when used as an NMOS node. |
| Parameter | Description |
|---|---|
| Registration Address | Manually assign the IP address of the NMOS registration server. |
| Registration Version | Manually assign the registry version for NMOS. |
| Registration Port | Manually assign the port of the NMOS registration server. |
| Parameter | Description |
|---|---|
| mDNS multi-label domains | When selected, you can enable mDNS to support domains with multiple labels. For example, en.mediakind.local, where en is subdomain of mediakind.local. |
| DNS priority (pri) | This is used for the 'pri' TXT record when advertising the node via mDNS. Specifying 2147483647 (maximum value) disables advertisement completely. |
| Registration Server highest Priority | This is used to specify the highest 'pri' value of discovered registration server, to avoid development and live systems colliding. Smaller numbers indicate higher priority; 0 is highest priority. |
| Registration Server lowest Priority | This is used to specify the lowest 'pri' value of discovered registration server, to avoid development and live systems colliding. Larger numbers indicate lower priority; 2147483647 is lowest priority. |
### Configuring Link Mode To configure the Link Mode for UHD output for a specific _Receiver_ service, follow these steps: 1. Set the _Configuration Type_ is set to **UHD**: - See [Change the Configuration Type](/beam/receiver/#change-the-configuration-type) 2. Set the SDI output option card so that it is configured for UHD output: - See [Set up SDI/ASI cards](/beam/system-admin/maintenance/setup-sdi-asi-card) 3. On the **Home** page, select the **RECEIVER** item from the required feed, then click `Edit` icon to edit. 4. In the **Parameters** window, select the **Output** tab. 5. Select the tab for the SDI output type, for example **SDI 1**.  6. Select the [**Link Mode**](/beam/receiver/parameters#sdi-output-parameters-and-status) format required for the video output. 7. Select the [**SDI port**](/beam/receiver/output/sdi/) required from the drop-down menu that supports UHD output. 8. Click **Save and Continue** to apply change. ## UHD Output Over SMPTE ST 2022-6 Currently, UHD output is not supported using SMTPE ST 2022-6. ## UHD Output Over SMPTE ST 2110 To output UHD video using SMPTE ST 2110, ensure the following settings are configured: 1. Set the _Output Profile_ to **SMPTE ST 2110 UHD Output**: - See [Configure the Output Profile](/beam/receiver/output/#configure-the-output-profile) 2. Set the _Configuration Type_ is set to **UHD**: - See [Change the Configuration Type](/beam/receiver/#change-the-configuration-type) # Parameter descriptions ## Service parametersThe Link Mode options available will depend on the SDI output option card installed in the MK.IO Beam server.
| Parameter | Description |
|---|---|
| Configuration name | The name of the Receiver Configuration |
| Configuration type | Determines the behaviour of the Receiver service, such as TS passthrough output or decoded video output. See Receiver Configuration Type for details. |
| Parameter | Description |
|---|---|
| Redundancy mode | Select an input redundancy mode to enable switching between a Primary and Secondary (backup) input. See the Receiver Input Redundancy section for configuration details. |
| Input loss timeout | Set the delay (in milliseconds) between detecting an input error and switching to the alternate input. |
| Max skew | Specifies the maximum allowed skew (receiver buffer depth), in milliseconds, between the two data paths. If the measured skew exceeds this value, packets may be lost during seamless protection switching. Available only when SMPTE ST 2022-7 is selected. Note: The Max skew setting increases the receiver buffer delay and therefore contributes to overall system latency. This may impact Delay Modes such as Super Low Delay. |
| Parameter | Description |
|---|---|
| Current input | Select an input type: IP, ASI, Satellite |
| Unicast | Set input stream to be unicast Note: In Unicast mode, the control is read only. |
| Stream address | Input stream unicast or multicast IPv4 address |
| IGMPv3 source filtering | IGMP source IPv4 address. List of addresses using a comma to separate, or leave empty to disable source-specific multicast |
| UDP Port | Port used to capture the input stream |
| Network interface | Name of the network interface used to capture the input stream |
| Input Status | Description |
|---|---|
| Input type | Indicates IP is selected as the source |
| Source status | Indicates whether a valid transport stream is present on the input and reports the number of services carried. For example, "Receiving (2 services)" or "Not receiving". |
| CC errors | Indicates the number of transport stream packets that experienced Continuity Counter (CC) errors. Each CC error indicates that one or more transport stream packets were lost or duplicated for a particular PID. |
| Bit rate | Total bit rate of the incoming transport stream |
| Parameter | Description |
|---|---|
| Current input | Select an input type: IP, ASI, Satellite |
| Port | Port used to capture the input stream |
| Input Status | Description |
|---|---|
| Input type | Indicates ASI is selected as the source |
| Source status | Indicates whether a valid transport stream is present on the input and reports the number of services carried. For example, "Receiving (2 services)" or "Not receiving". |
| CC errors | Indicates the number of transport stream packets that experienced Continuity Counter (CC) errors. Each CC error indicates that one or more transport stream packets were lost or duplicated for a particular PID. |
| Bit rate | Total bit rate of the incoming transport stream |
| Input Parameter | Description |
|---|---|
| Current input | Select an input type: IP, ASI, Satellite |
| Status | Status indicating if the source input is shared with other services |
| Source | Select the RF input port number from the available detected card slots |
| LNB Control Parameter | Description |
|---|---|
| LNB frequency | The LNB frequency (low noise block down-converter) in MHz input up to 3 decimal places used with the satellite dish. Typically a value of 9750 MHz or 10600 MHz would be used to cover the satellite KU band frequency range 11.70 GHz-12.75 GHz. With this value correctly entered and with the satellite frequency entered the IRD can calculate the frequency of the wanted signal at L-band present on the input connector. |
| LNB voltage | Voltage supplied to LNB. Allows the user to turn the voltage off or to set the LNB to the following different LNB voltages: - 13v (Vertical polarization) - 18v (Horizontal polarization) |
| 22kHz | LNB band select. Check to select LNB high band. Clear the check box to select LNB low band. This check box enables the LNB 22 kHz signal to be activated. Enabling the 22 kHz tone will command the LNB to switch to its high band local oscillator frequency. |
| Tuning Parameter | Description |
|---|---|
| Tuner | Where applicable, some satellite demodulator cards provide more than one independent tuner/demodulator pair per physical RF port. These tuners are referenced alphabetically (for example, Tuner A and Tuner B). If a satellite demodulator card supports only a single tuner/demodulator per RF port, Tuner A is assigned by default. In all cases, LNB control is associated with the RF port and is therefore shared across all tuners associated with that RF port. |
| Frequency | The satellite input downlink frequency. This will normally be within the C-band or KU band frequency range. Alternatively, if the LNB LO Frequency was entered as 0 MHz the user can manually calculate and directly enter the wanted L-band frequency. |
| Symbol rate | The symbol rate in MSymbols/sec. This field should be entered with the symbol rate of the wanted signal. |
| Search range | The search range in KHz. Owing to frequency inaccuracies of the transmission system (mostly LNB inaccuracies) the wanted carrier may not be exactly on frequency. This option provides the satellite input with the maximum frequency search limits within which to attempt to acquire the wanted signal. A typical search range is 5000 kHz. |
| C/N Margin Alarm | Carrier-to-Noise margin alarm threshold in dB. |
| MIS Enable | Enable Multiple Input Stream (MIS) filtering of a single stream identified by the Input Stream ID (ISI). MIS is a DVB-S2 / DVB-S2X feature that allows multiple independent transport streams to be carried simultaneously on a single satellite carrier (one RF frequency). Disable this for single stream carriers. |
| MIS Stream ID | This parameter sets the Input Stream ID (ISI) used to filter and select a single input stream when MIS is enabled. If the configured ISI does not match any transmitted stream, the device will report a zero transport stream bit rate and raise a satellite input signal loss alarm. |
| Gold Code | The Gold code sequence seed defines the initialization value for the physical‑layer scrambling (Gold) sequence. This sequence can be used to uniquely identify a transmission. The satellite input will lock to the incoming signal only when the Gold code configured matches the code set on the uplink modulator. For this reason, the Gold sequence is often used as a form of fixed‑key signal identification, although it does not provide true conditional‑access security. |
| Input Status | Description |
|---|---|
| Input type | Indicates Satellite is selected as the source |
| Source status | Indicates whether a valid transport stream is present on the input and reports the number of services carried. For example, "Receiving (2 services)" or "Not receiving". |
| CC errors | Indicates the number of transport stream packets that experienced Continuity Counter (CC) errors. Each CC error indicates that one or more transport stream packets were lost or duplicated for a particular PID. |
| Bit rate | Total bit rate of the incoming transport stream |
| Signal strength | Input signal strength measured in dBm |
| Bit error ratio | The Bit Error Ratio reported by the satellite demodulator. This is reported as a ratio of number of bit errors divided by total number of bits. |
| FEC errors | The number of FEC errors reported by the satellite demodulator. |
| FEC rate | The FEC rate detected for the locked incoming signal e.g. 3/4, 8/9, etc. |
| Delivery system | Displays the satellite delivery system detected for the locked incoming signal e.g. DVB-S, DVB-S2 or DVB-S2X. |
| Roll off | The roll-off factor detected for the locked incoming signal e.g. 35%, 25%, etc. |
| Pilot | Indicates if pilot symbols are present. |
| Inversion | Indicates the spectrum inversion detected by the demodulator. |
| Modulation | The modulation scheme detected for the locked incoming signal e.g. QPSK, 8PSK, etc. |
| C/N Margin | The Carrier-to-Noise margin for the locked incoming signal reported in dB. |
| Parameter | Description |
|---|---|
| Service | Select the service to decode |
| Delay mode | Controls buffer levels and timing, which affects latency across the Receiver service. For more information, Delay modes. |
| Parameter | Description |
|---|---|
| Input | Select a PID to decode from the incoming stream or manually enter a PID value to decode |
| Parameter | Description |
|---|---|
| Auto Select | Enables automatic selection of audio streams, disabling manual selection. See Auto Select for more information. |
| Input | Select a PID to decode from the incoming stream or manually enter a PID value to decode |
| Decode channel configuration | Configure the number of output channels for each decoded audio stream. For details, refer to Decode Channel Configuration |
| Parameter | Description |
|---|---|
| Input | Select a PID to decode from the incoming stream or manually enter a PID value to decode |
| Data Type configuration | Configure the data format for each decoded data stream. For details, refer to Data Type Configuration |
| Parameter | Description |
|---|---|
| Selected service | Program number (and service name if present) |
| PCR PID | Numeric value PCR PID being used for the reference clock to decode the selected service |
| Parameter | Description |
|---|---|
| PID | Numeric value of the PID being used to decode the video from the incoming transport stream |
| Rate | Elementary stream rate of the video being decoded |
| Codec | Video codec being used to decode the video |
| Chroma | Format of chrominance samples Example: 4:2:2 or 4:2:0 |
| Bit depth | Number of bits precision in each luminance/chrominance sample |
| Resolution | Video resolution being decoded |
| Aspect ratio | Signalled aspect ratio of the video being decoded Example: 4:3 or 16:9 |
| Frame rate | Frame rate of the video being decoded* Example: 25Hz / 29.97Hz / 50Hz / 59.94Hz |
| Parameter | Description |
|---|---|
| Audio X | Displays status as OK or Error the audio PID being decoded, the audio codec being used, the channel mode and the bitrate |
| Parameter | Description |
|---|---|
| BISS Mode | The BISS decryption mode supported by both BISS1 and BISS2. Beam will automatically switch between the BISS1 or BISS2 version based on the length of the BISS Key entered. For example, - Mode 1 for BISS1-1 and BISS2-1 - Mode E for BISS1-E or BISS2-E - None to disable BISS decryption |
| BISS Key | The BISS key (hexadecimal characters only) for decrypting the service according to the BISS Mode selection: - Mode 1 requires 12 characters for BISS1, or 32 characters for BISS2 - Mode E requires 16 characters for BISS1, or 32 characters for BISS2 |
| Injected ID | Select the appropriate BISS injected ID stored on the device required for BISS Mode E decryption. |
| Parameter | Description |
|---|---|
| BISS-CA | Enable or disable BISS-CA decryption. |
| Parameter | Description |
|---|---|
| Descrambling Enable | Enable or disable Director 6 decryption. |
| Director 6 Hardware ID | A unique identifier used by the Director headend to address the receiving device for over air commands and other Director functionality. Note: Setting the Director Hardware ID to None disables Director functionality for that service. |
| Over air control enable | Allow or ignore Director over air commands sent by the Director headend to remotely control the receiving device. Note: This state can be overridden by the Director headend. |
| Export Keyfile | Click this button to download the Director Export Keyfile associated with the currently selected Director 6 Hardware ID. This keyfile must be registered with the Director headend in order to receive entitlements for successful service decryption. |
| Status | Description |
|---|---|
| Hardware ID | The unique Director Hardware ID (HWID) currently assigned to the running service configuration. |
| Over air message | Displays messages received over air (transport stream) from the Director headend. |
| Emergency home carrier | Indicates if the Emergency Home Carrier (EHC) associated with the current HWID has been set. |
| Power up carrier | Indicates if the Power Up Carrier (PUC) associated with the current HWID has been set. |
| Download status | Shows progress of any over air download images present in the transport stream triggered by the Director headend. For example, bundle upgrades or new configuration updates. |
| Parameter | Description |
|---|---|
| CAM slot | Selects the CAM to be used for decrypting the incoming service. |
| Auto recover CAM | When enabled, the device monitors the CAM status and automatically resets the CAM if a decryption failure is detected. This feature is activated by selecting a timeout threshold. If the decryption failure persists beyond the configured timeout, the CAM is reset. This process repeats until the decryption failure is resolved. Resetting the CAM will temporarily disrupt the decrypted service. |
| Explore CAM | Extracts the status information and allows setting CAM manufacturer parameters. |
| Reset CAM | Resets the CAM in the selected slot. Resetting the CAM will disrupt the service being decrypted. |
| Parameter | Description |
|---|---|
| Link mode | Select the SDI format for carrying UHD video: - Quadrant (Quad‑Link 3G‑SDI, ST 425‑5 Annex B — Square Division) - Interleaved (Quad‑Link 3G‑SDI, ST 425-5 Two Sample Interleave) - 12G SDI (Single‑link UHD) |
| SDI port | Selects the SDI output port on which the video is output. |
| Video Scaling | Configure up-conversion / down‑conversion for the output video. For details, see the Video Conversion page. |
| Dynamic Range Conversion | Configure the Dynamic Range Conversion for the output video. For details, see the HDR to SDR page. |
| Dynamic range signalling | Configure the transfer characteristics and colorimetry signalled on the output video. For details, see the SDR/HDR signalling page. |
| Clock reference | Clock reference of the SDI output. - Free running uses an internally generated reference clock. - External sync synchronizes to externally provided framesync pulses. |
| 3G-SDI level | Select SMPTE mapping scheme for 3G-SDI. |
| Video failure mode | Defines the behavior of the SDI output when the video decode fails. |
| Parameter | Description |
|---|---|
| Component | Select which decoded audio to embed in the SDI output. |
| Embedding | Select the position where the audio component will be embedded in the SDI output. |
| Add component | Add a single entry to the list of audio components. |
| Add all | Add all decoded audio components to the list of embedded audio components. |
| Remove all | Remove all entries from the list of embedded audio components. |
| Parameter | Description |
|---|---|
| VITC/Time code | If present at the input, VITC/time code information will be inserted in the output SDI at the selected line number. |
| AFD/BAR | If present at the input, AFD (Active Format Description) information will be inserted in the output SDI at the selected line number. |
| Closed captioning | If present at the input, closed captions information will be inserted in the output SDI at the selected line number. |
| OP-47 teletext | If present at the input, OP-47 teletext information will be inserted in the output SDI at the selected line number. |
| SMPTE 2031 teletext | If present at the input, SMPTE 2031 teletext information will be inserted in the output SDI at the selected line number. |
| SCTE 104 splicing | If SCTE 35 splice_null, splice_insert or time_signal messages are present at the input, they will be converted to SCTE 104 packets and these will be inserted in the output VANC data at the selected line number. See SCTE 104 Splicing for additional settings. |
| Parameter | Description |
|---|---|
| SDI Outputs | Displays the available SDI output ports and the SDI standard supported by each port (for example, 3G or 12G). If a running service has been assigned to an SDI port, the service name and its port assignment are displayed here. |
| Parameter | Description |
|---|---|
| Video Scaling | Configure up-conversion / down‑conversion for the output video. For details, see the Video Conversion page. |
| Dynamic Range Conversion | Configure the Dynamic Range Conversion for the output video. For details, see the HDR to SDR page. |
| Dynamic range signalling | Configure the transfer characteristics and colorimetry signalled on the output video. For details, see the SDR/HDR signalling page. |
| Video failure mode | Defines the behavior of the output when the video decode fails Possible values: Freeze frame, Black |
| Parameter | Description |
|---|---|
| Component | Select which decoded audio to embed in the output |
| Embedding | Select the position where the audio component will be embedded in the output |
| Add component | Add a single entry to the list of audio components |
| Add all | Add all decoded audio components to the list of embedded audio components |
| Remove all | Remove all entries from the list of embedded audio components |
| Parameter | Description |
|---|---|
| VITC/Time code | If present at the input, VITC/time code information will be inserted in the output at the selected line number |
| AFD/BAR | If present at the input, AFD (Active Format Description) information will be inserted in the output at the selected line number |
| Closed captioning | If present at the input, closed captions information will be inserted in the output at the selected line number |
| OP-47 teletext | If present at the input, OP-47 teletext information will be inserted in the output at the selected line number |
| SMPTE 2031 teletext | If present at the input, SMPTE 2031 teletext information will be inserted in the output at the selected line number |
| SCTE 104 splicing | If SCTE 35 splice_null, splice_insert or time_signal messages are present at the input, they will be converted to SCTE 104 packets and these will be inserted in the output VANC data at the selected line number. See SCTE 104 Splicing for additional settings. |
| Parameter | Description |
|---|---|
| Output enable | Enable the output |
| Destination IP address | Output multicast IPv4 address |
| Destination port | Output UDP port Possible values: from 1024 to 65535 |
| Network interface | Name of the network interface used for the output stream |
| Source IP address | Source IPv4 address Note: Set to Auto to automatically use the network interface address |
| Source port | Source UDP port Possible values: from 1024 to 65535 Note: Set to Auto to automatically allocate a value |
| TTL | TTL (time to live) on each RTP output packet Possible values: from 0 to 255 |
| Parameter | Description |
|---|---|
| Bitrate | The output bitrate |
| Parameter | Description |
|---|---|
| Video Scaling | Configure up-conversion / down‑conversion for the output video. For details, see the Video Conversion page. |
| Dynamic Range Conversion | Configure the Dynamic Range Conversion for the output video. For details, see the HDR to SDR page. |
| Dynamic range signalling | Configure the transfer characteristics and colorimetry signalled on the output video. For details, see the SDR/HDR signalling page. |
| Video failure mode | Defines the behavior of the SMPTE ST 2110 output when video decode fails Possible values: Freeze frame or Black |
| Parameter | Description |
|---|---|
| Component | Select which decoded audio to carry in the ST 2110-30 output. |
| Embedding | Select the essence stream where the audio component will be carried in the ST 2110-30 output. |
| Lip-sync adjustment | Advance or delay audio output timing with respect to the video. |
| Parameter | Description |
|---|---|
| Component | Select which decoded audio to carry in the ST 2110-31 output. |
| Embedding | Select the essence stream where the audio component will be carried in the ST 2110-31 output. |
| Lip-sync adjustment | Advance or delay audio output timing with respect to the video. |
| Parameter | Description |
|---|---|
| VITC/Time code | If present at the input, VITC/time code information will be carried in the ST 2110-40 essence stream for the specifed line number. |
| AFD/BAR | If present at the input, AFD (Active Format Description) information will be carried in the ST 2110-40 essence stream for the specifed line number. |
| Closed captioning | If present at the input, closed captions information will be carried in the ST 2110-40 essence stream for the specifed line number. |
| OP-47 teletext | If present at the input, OP-47 teletext information will be carried in the ST 2110-40 essence stream for the specifed line number. |
| SMPTE 2031 teletext | If present at the input, SMPTE 2031 teletext information will be carried in the ST 2110-40 essence stream for the specifed line number. |
| SCTE 104 splicing | If SCTE 35 splice_null, splice_insert or time_signal messages are present at the input, they will be converted to SCTE 104 packets and these will be inserted in the output VANC data at the selected line number. See SCTE 104 Splicing for additional settings. |
| Parameter | Description |
|---|---|
| Output enable | Enable the output. |
| Payload type | RTP payload typePossible values: from 0 to 255 |
| Packet Time | Determines the maximum number of channels that can be carried in the essence stream. Applicable to PCM Audio and AES3 Audio only. |
| Parameter | Description |
|---|---|
| Destination IP address | Output multicast IPv4 address |
| Destination port | Output UDP port Possible values: from 1024 to 65535 |
| Network interface | Name of the network interface used for the output streams |
| Source port | Source IPv4 port. Note: Set to Auto to automatically allocate a value. |
| TTL | TTL (time to live) on each RTP output packet Possible values: from 0 to 255 |
| Parameter | Description |
|---|---|
| Time signal | Convert SCTE 35 time_signal messages and output as SCTE 104 time_signal_request_data messages |
| Clamp pre-roll | Clamp minimum pre-roll in SCTE 104 messages to 4 seconds |
| Event ID Filter | Enable filtering on the value of the splice_event_id field of SCTE 35 splice_insert messages. When enabled, for each bit set in Event ID mask, the corresponding bit in Event ID value must match the corresponding bit in splice_event_id to allow the splice_insert message to be processed and a SCTE 104 message inserted in the output |
| Event ID mask | Bit mask for filtering on splice_event_id of SCTE 35 splice_insert messages. Bits which are set must match the Event ID value with the splice_event_id field to be inserted as SCTE 104 VANC data |
| Event ID value | Bit value for filtering on splice_event_id of SCTE 35 splice_insert messages. Only bits with the corresponding bit set in Event ID mask are considered |
| Parameter | Description |
|---|---|
| Network interface | Name of the network interface used for the output streams |
| Stream address | Output multicast IPv4 address |
| Destination port | Output UDP port Possible values: from 1024 to 65535 |
| TTL | TTL (time to live) on each RTP output packet Possible values: from 0 to 255 |
| Output Smoothing | Enables UDP output smoothing. See Output Smoothing for more details. |
| Parameter | Description |
|---|---|
| Host | Remote server Hostname or IP address. Possible values: 32 characters max |
| Port | IP Port for the secure FTP or FTPS connection. Possible values: 1 to 65535 Recommended value: 21 |
| Path | Backup file storage directory on the remote server. This path is a relative path, and must exist on the remote server. Possible values: 128 characters max |
| Username | For the secure FTP connection. Must be a valid secure FTP or FTPS server user. Possible values: 16 characters max |
| Password | Allows the configured username to connect to the secure FTP server. Possible values: 16 characters max |
| Parameter | Description |
|---|---|
| Group name | Enter a unique failover group name for your selected primary and backup servers. |
| Group processing type | Select the processing type to display compatible servers. |
| Group mode | In Automatic mode, the system triggers a server failover when a critical alarm occurs (manual triggers are still possible). |
Check which interface you are using**MK.IO Beam for reception** is engineered to meet the evolving demands of processing at the edge of your network, delivering high-quality video and audio decode with maximum efficiency. Its flexible architecture allows for seamless integration into existing workflows, providing a future-proof solution for content turnaround and distribution. ## Common Workflows: ### Receive & Decrypt Configure the input interfaces and handle decryption. [Satellite/ASI Input](/beam/receiver/input) Setup tuners, LNB frequencies, and ASI ports. [Reliable Transport Input](/beam/reliable-transport/service-management) Ingest SRT, Zixi, or RIST streams. [BISS-CA Decryption](/beam/receiver/decryption/biss-ca-decryption) Configure BISS-CA entitlements and keys. [Common Interface (DVB-CI)](/beam/receiver/decryption/common-interface-module) Manage physical Conditional Access Modules (CAM) for decryption ### Decoding & Process Convert the transport stream into baseband video and audio. [Video Decoding](/beam/receiver/decoding) Manage codecs and resolutions. [Delay Modes](/beam/reception/delay-modes) Adjust buffer settings for Standard, Low or Super Low latency. [HDR to SDR](/beam/receiver/output/hdr-sdr) Down-convert HDR signals for standard displays. ### Output Route the decoded signal to local infrastructure. [SDI Output](/beam/receiver/output/sdi) Map services to physical SDI ports. [SMPTE ST 2022-6 Output](/beam/receiver/output/smpte-st-2022-6) Output SDI over IP. [SMPTE ST 2110 Output](/beam/receiver/output/smpte-st-2110) Output uncompressed IP video. # Configure the feed components After a feed has been created, each service within the feed must be individually configured to create the entire MK.IO Beam configuration. Thus, you will configure: - [the Receiver service](/beam/receiver) - optionally [the Multiplexer service](/beam/multiplexer) - optionally [the Live Encoder service](/beam/live-encoder/configure) The Reliable Transport service is not included in all of the MK.IO Beam feed templates. It can be added separately via the **Services** page. See [Reliable Transport Configuration](/beam/reception/configure-feed-components/reliable-transport) When editing service parameters, do not modify any interfaces which have been configured to use the “tap0” or “lo” interfaces as those are used internally to pass data between the services. # Configure the Live Encoder service For detailed information on the Live Encoder service, refer to the [Live Encoder documentation](/beam/live-encoder/configure). # Configure the Multiplexer service For detailed information on the Multiplexer service, refer to the [Multiplexer documentation](/beam/multiplexer). # Configure the Receiver service For detailed information on the Receiver service, refer to the [Receiver documentation](/beam/receiver). # Configure a Reliable Transport serviceThe guides linked from this page configure MK.IO Beam through the Advanced interface, where a workflow is a feed made up of individual services. If your device runs the Essentials interface, build the workflow as a channel instead: see Create a channel. Both interfaces control the same settings underneath, so these pages stay useful as reference for the detail behind a channel.
To create a Reliable Transport service, see [how to create a new Reliable Transport service](/beam/reliable-transport/service-management#create-a-new-reliable-transport-service). If configuring a Reliable Transport service to ingest a Reliable Transport input and provide a TS output to other services running on the MK.IO Beam device, ensure that the upstream service is configured with the **Network Interface**, **Stream Address** and **Port** from the output of the Reliable Transport service. # Delay modes ## Contribution decoding delay modes (latency) The modes described here are used to configure decoding delay, or latency of the Contribution decoder. The delay modes affect the delay between the PCR/PTS relationship and delaying picture display (when compared to the system clock reference). **Delay modes:** - **Standard:** This is the default value. Standard mode allows using all encoders, in all modes. - **Low:** This is the **recommended setting for most contribution link use cases.** You can also use this mode in any context where a low delay is required. - **Super Low:** This is the **recommended setting for simple contribution links when using TS input with SDI output** where the lowest delay is required. **Low** delay and **Super Low** delay modes have been designed and tested with MK.IO Beam encoders to ensure an optimized error-free minimum end-to-end delay. Post-processing operations in the receiver such as video scaling or HDR/SDR conversion will add to the overall processing time and may not be compatible with these delay modes. If a problem occurs trying to decode a valid input transport stream, please try the **Standard** delay mode before raising a support request.Although the Reliable Transport service is not included in any of the MK.IO Beam feed templates, a Reliable Transport service can be added separately and connected to the input or output of a feed. For example, a Reliable Transport service can be added to the input of a Receiver + Multiplexer feed to ingest Reliable Transport input to the MK.IO Beam device.
### Setting delay mode 1. From the **Home** page, select the RECEIVER item from the required feed then click `Edit` icon. 2. Open the **Decoding** tab in the **Parameters** window. 3. Select a **Delay mode.**  4. Click **Save and Continue** to apply change. ### Considerations when using Super Low delay mode - **Super Low** delay mode is only guaranteed to work with the MK.IO Beam encoder. The encoder configuration needs to be optimized for use with **Super Low** delay mode. - 1080i25/29.97 inputs are not supported with **Super Low** delay mode. - Dolby Digital decode requires approximately 15ms of additional processing time which will extend the delay when **Super Low** delay mode is selected. Dolby Digital passthrough is not affected. ## Compressed Input ### IP input - **Type:** IP (IGMPv3-based redundancy and dual multicast redundancy) - **Protocols:** MPEG Transport Stream (SPTS, MPTS), RTP / UDP, RTMP, SMPTE ST 2022-7 - **Bitrate:** Constant Bitrate (CBR) - **Error Correction:** ProMPEG FEC ### Reliable transport - **Input:** IP based - **Protocols:** SRT, RIST and Zixi **SRT and RIST input** - Carriage of UDP or RTP streams over the SRT protocol - SRT listener or caller mode - RIST sender mode - RIST listener mode **Zixi input** - Zixi sender - Zixi feeder or Zixi Receiver mode ### Satellite input - **Standards:** DVB-S, DVB-S2, DVB-S2X - **Hardware requirements:** Requires one or more of the following cards **2-port satellite demodulator option card with 3G-SDI/ASI output (Dektec DTA-2127)** MediaKind marketing code: - **MKP/HWO/DEMODSDI** (Dektec DTA-2127 DVB-S2X Quad Receiver with 3G-SDI/ASI Output)Additional input processing, such as descrambling or SMPTE ST 2022-7 input, increases overall latency across all delay modes in the Receiver service.
Features: - **Frequency range:** L-band (950 – 2150 MHz) - **Standards:** DVB-S, DVB-S2, DVB-S2X - **Modulation schemes:** QPSK, 8PSK, 16APSK and 32APSK - **Connector:** 2 x F-type 75 ohm - Each connector allows 1x independent tuner/demodulator powered by a single LNB control - Long FEC Frame only **4-port satellite demodulator option card (Digital Devices SX8)** MediaKind marketing code: - **MKP/HWO/PCI/SAT/DEMOD** (Digital Devices SX8 Satellite Demod)The Dektec DTA-2127 option card has 2 x RF input ports. Currently MK.IO Beam only supports configuring one tuner/demodulator per RF input.
Features: - **Frequency range:** L-band (950 – 2150 MHz) - **Standards:** DVB-S, DVB-S2, DVB-S2X - **Modulation schemes:** QPSK, 8PSK, 16APSK, 32APSK and 64APSK - **Connector:** 4 x F-type 75 ohm - Each connector allows 2x independent tuners/demodulators that share a single LNB controlThe Digital Devices SX8 is only available as a full-height PCIe card and is therefore limited to servers such as the C-series.
### ASI input - **Standards:** DVB-ASI - **Hardware requirements:** Requires one or more of the following cards **4-port ASI/SDI option card (Dektec DTA-2174B)** MediaKind marketing code: - **MKP/HWO/PCI/SDI/DTA** (Dektec 2174B SDI/ASI) Features: - **Port configurations:** 4x ASI input/output - **Connector:** micro BNC 75 ohms **8-port ASI/SDI option card (Dektec DTA-2178)** MediaKind marketing code: - **MKP/HWO/PCI/SDI/8** (Dektec 2178 SDI/ASI) Features: - **Port configurations:** 8x ASI input/output - **Connector:** micro BNC 75 ohms ### Input redundancy - **Dual source redundancy:** Active Passive (one-hit); Active Active (one-hit); Active Active (switch on failure) - Supported across input types e.g. Primary satellite input, Secondary (Backup) IP input - **IP redundancy protocols:** SMPTE ST 2022-7 Seamless protection switching ## Video decoding - **Video codecs:** MPEG-2, H.264, HEVC, JPEG-XS - **Supported resolutions:** 480i, 576i, 720p, 1080i, 1080p, 2160p - **Chroma:** 4:2:0 and 4:2:2 - **Bit depth:** 8-bit and 10-bit (codec-dependent) **Video formats and decoding standards**Mixing both types of satellite demodulator cards within the same server is not supported.
| Resolution | Frame Rate | Chroma | MPEG-2 | H.264 | HEVC | JPEG-XS (4:2:2 only) |
|---|---|---|---|---|---|---|
| 2160p | 23.98, 24, 25, 29.97, 50, 59.94 fps |
4:20 / 4:2:2 | ✔ | ✔ | ||
| 1080p | 50, 59.94 fps | 4:20 / 4:2:2 | ✔ | ✔ | ✔ | ✔ |
| 1080i | 25, 29.97 fps | 4:20 / 4:2:2 | ✔ | ✔ | ✔ | ✔ |
| 720p | 50, 59.94 fps | 4:20 / 4:2:2 | ✔ | ✔ | ✔ | ✔ |
| 576i | 25 fps | 4:20 / 4:2:2 | ✔ | ✔ | ✔ | |
| 480i | 29.97 fps | 4:20 / 4:2:2 | ✔ | ✔ | ✔ |
| Input resolution | Output resolution | Expected sample aspect ratio |
|---|---|---|
| 1440 x 1080 | 1920 x 1080 | 4:3 |
| 1280 x 1080 | 1920 x 1080 | 3:2 |
| 960 x 1080 | 1920 x 1080 | 2:1 |
| 960 x 720 | 1280 x 720 | 4:3 |
| 640 x 720 | 1280 x 720 | 2:1 |
Features: - NVIDIA Mellanox ConnectX-6 Dx EN adapter card, 100GbE, **Dual-port QSFP56**, PCIe 4.0 x16, No Crypto ```The ConnectX-6 Dx 100GbE card enables higher output bandwidth; however, it does not increase decoding capacity on a COTS platform.
## Multiplexing ### Inputs and outputs - IP (UDP or RTP) input and output of MPEG Transport Streams - RTP re-ordering - IGMP V3 redundancy - Input bitrate monitoring and CC error detection - SMPTE 2022-1 FEC on input and output ### Processing - PID filtering and PID remapping by re-multiplexing input programs Real-time PSI regeneration ## Content security ### Decryption - **Conditional Access (CA):** BISS1, BISS2, BISS-CA, Director 6, DVB-CI - **Hardware requirements:** A _Trusted Platform Module (TPM)_ may be required or suitable option cards. See details below **BISS1 & BISS2** BISS version 1 (BISS1) - **Modes:** Mode 1 and Mode E - **Key length:** 48-bit - **Standards:** DVB-CSA BISS version 2 (BISS2) - **Modes:** Mode 1, Mode E and BISS-CA - **Key length:** 128-bit - **Standards:** DVB-CISSA **BISS-CA**NVIDIA / Mellanox Ethernet network adapter cards must be sourced from NVIDIA rather than Dell, as OEM variants may impose restrictions on firmware upgrades.
- **Key length:** 128-bit - **Standards:** DVB-CISSA - **Features:** Entitlement management, Self-generated key pairs, Injected key pairs **Director 6 CA**A Trusted Platform Module (TPM) must be installed on the server.
- **Key length:** 128-bit - **Features:** Entitlement management, Over Air Control (OAC) **Dual Common Interface (CI) option card (Digital Devices Octopus Duo CI)** MediaKind marketing code: - **MKP/HWO/PCI/CI/DUAL** (Digital Devices Octopus Duo CI)A Trusted Platform Module (TPM) must be installed on the server.
Features: - DVB-CI compliant - 2x CI slots for two independent Conditional Access Modules (CAM) on each option card - Capable of processing transport streams of up to 96 Mbps per CAM (though actual bitrate may be limted by the CAM) - All major CAMs supported - Multiple _Dual Common Interface (CI) option cards_ supportedThe Digital Devices Octopus Duo CI is only available as a full-height PCIe card and is therefore limited to servers such as the C-series.
## Ad insertion - **Ingest format:** - MPEG-TS over IP (SPTS), with a video buffer of 1 second minimum - Assets pre-encoded and stored locally - **Scheduling control:** Triggered via advanced scheduling control options: - **Signal-based:** based on submitted SCTE-35 signal (with matching criteria) - **Signal based / fallback to time:** SCTE-35 expected, but not present, fallback to out-of-band operations triggering - **Asset management:** - Storage of up to 90 minutes of assets in the unit - Assets and schedules fetched automatically from a central asset server - Automatic housekeeping of the asset store ## Monitoring & control - **Remote control:** Provided via the Mediakind MK.IO portal - **Direct control and status monitoring:** Provided via Web browser user interface and REST API - **Standard protocols:** SNMP, NTP, IGMP **High Availability (HA) Controller** - Automated (standalone) 1+1 output synchronization with PTS alignment (either SDI or ST 2110 inputs) # SRT input with decode and SDI output The configuration is based on the following main steps: - Step 1: you configure a **Reliable Transport** input. - Step 2: you configure a **Reliable Transport** listener with UDP IP output. - Step 3: you connect that UDP output to a **Receiver** service. - Step 4: you configure the **Receiver** service for SDI output. To setup this use case, follow these steps: ## Configure a Reliable Transport input 1. Connect to the web interface then navigate to the **Services** menu on the left-hand pane. 2. Click **Add service** and select **Reliable Transport** to create and configure the service. 3. Enter a name for this service. 4. In the **Input** section, set the **Input Mode** to **SRT Listener**. 5. In the **Output** section, set the **Output Mode** to **UDP**. ## Configure a Reliable Transport listener with UDP IP output 1. Configure the SRT Listener **Connection** parameters with the listener address and port. If required, then **Encryption**. **Link characteristics** parameters can also be set or adjusted. 2. Configure the **Output Connection** parameters. You should get the following:  3. Click **Save and exit** to save your changes. ## Configure the Receiver service for SDI output 1. Navigate to the **Services** menu on the left-hand pane. 2. Click **Add service** and select **Receiver** to create a new service. 3. Set the **Name** for the new service, the service **Type** to **SD/HD** and the **Output type** to **SDI**.  4. Click **OK** to create the service which will now appear in the services list. 5. From the **Services** pane, click the _service name_ for the newly created service to edit the configuration. 6. Select the **Input** tab under the **Parameters** section. 7. Set the **Input Type** to **IP** and configure the multicast **Stream address** and **Port** number.  8. Select the **Output** tab under the **Parameters** section. 9. Configure SDI output parameters as required such as the SDI output port number from **Output interface** option.  10. Once complete, click **Save and exit**. ## Start services On the **Services** page, assign a server to each service you want to run, then start the services. # MK.IO Beam Release Notes ## MK.IO Beam 1.16.0.10 30th October 2026 ### New features - Contribution encoding support for HEVC 420 8 bit / 10 bit - Support for the Dektec DTA-2175 card for encoding and reception channels. - Density improvements for reception decoding use cases on the Large V2 server. - Channel duplication for Essentials UI channels. - Expose SRT statistics for Essentials UI channels. - Support for satellite demodulation, SRT and IP inputs for encoding on Essentials UI. ## MK.IO Beam 1.15.0.5 28th September 2026 ### New features - Support for key rotation with fallback for fMP4 mezzanine - Support Beam on XOS Large V2 Server - Support Beam on XOS XL V2 Server - Reception gateway features enabled on the Essentials UI - Added an optional additional transport stream output for reception decode channels ## MK.IO Beam 1.14.0.1 4th September 2026 ### New features - Support for reception workflows using the Essentials UI - Automatic CPIX key rotation. See [Key Rotation](/beam/packager/parameters/hls-or-dash-over-cmaf/#compatible-cpix-ext-key) - BEAM ISO to support Servers with hardware RAIDed Disks. See [RAID and FakeRAID configuration](/beam/system-admin/iso-installation/raid-configuration) ## MK.IO Beam 1.13.0.7 21st August 2026 ### New features - Addition of an RT (reliable transport) failover group for high availability distributed deployments - Manual CPIX key rotation ## MK.IO Beam 1.12.0.7 17th July 2026 ### New features - Essentials UI for new customers only - Ability to change the audio line-up on a Receiver service without interruption in the video output for SDI output only - Null Packet Removal from Multiplexer transport stream output bitrate allowing users to remove NULL packets (PID 0x1FFF) from the MPEG transport stream output ## MK.IO Beam 1.11.0.4 2nd July 2026 ### New features - SMPTE ST 2110 end to end latency reduced to match SDI performance - Packager - CPIX key and credential support - Support for multiple UHD ST2110 outputs on a single Mellanox card ## MK.IO Beam 1.10.0.2 29th May 2026 ### New features - Add Support for 100G ST 2110 Network Card in MK.IO Beam - Add support for ConnectX-6 Lx EN Adapter Card - Make 3pp software persistent over upgrade - Ability to enter a Stream ID for a SRT session ## MK.IO Beam 1.9.0.5 24th April 2026 ### New features - Configuration of IP settings of bonded interfaces on the UI - Creation and deletion of VLAN interfaces on the UI - Configuration of IP settings of VLAN interfaces on the UI - Configuration of route metrics on the UI to allow support for multiple default gateways - Configuration of jumbo frames on the UI to simplify configuration of JPEG-XS encode - Configuration of static routes on the UI - 8 tuners supported on the 4-port RF input card (Digital Devices SX8) - Add information from Dell SupportAssist to Beam support package ## MK.IO Beam 1.8.0.3 27th March 2026 ### New features - Add H.264 High to the list of Contribution codecs - Removal of the four service limitation for SMPTE ST 2110 output - Support for down conversion modes: 1080i to 720p, 1080P to 720P, 720P to 1080i, UHD to 1080i, UHD to 1080P, UHD to 720P - Beam with distributed headends including Packaging - Static routes configuration now retained on upgrade ## MK.IO Beam 1.7.0.4 27th February 2026 ### New features - ST2022-6 output over IP - UI configuration support for HTTPS Proxy - Add Support for Multi-Payload SMPTE ST 2110-40 VANC Reception - Reception – support for super low delay mode for 1080i video sources - Packager redundancy in Beam using a failover group - MK.IO should pick up RF cards from Beam appliances and add them to the 'Device' page similar to 'IP' and 'SDI/ASI' - BEAM with HA Head ends - Support for Multiplexer redundancy ## MK.IO Beam 1.6.0.5 30th January 2026 ### New features - Support for router control for headend deployments of MK.IO Beam - HDR/SDR custom Look-up Table (LUT) upload and selection - It is now possible to enable/disable Packaging on the MK.IO Beam UI - CPIX integration using HMAC for live events and linear channels - Include alarms exposed to Prometheus so they can be viewed on a remote Grafana instance - Support for UHD decode over SMPTE ST 2110 output - BEAM with HA Head ends - Support for Packager and EL on separate servers - Provide HTTPS access to Packaged output - Splicing now supported in Distributed Head end deployments ## MK.IO Beam 1.5.0.4 27 November 2025 ### New features - Introduction of the X20 server - Live to live splicing is now supported - Support for backup and apply of device configurations from MK.IO ## MK.IO Beam 1.4.0.3 31 October 2025 ### New features - Support for high availability headend deployments with Live Encoding - Support for SD resolutions with SMPTE ST 2110 output - Improvements to decode latency - Bonding capability for all ports ## MK.IO Beam 1.3.0.0 9 October 2025 ### New features - Introduction of X40 server - Support for multiple CI option cards in a single chassis - Software decode supports HDR to SDR dynamic range conversion - Software decode support for additional sub-sampled resolutions for 720p- and 1080i-based content - Support for running MK.IO Beam in a VM for controller use cases on ESXI virtualization - Support for installing the MK.IO Beam software ISO via BMC or iDRAC - PTP, clock source and IGMP parameters can be configured on the UI - Network status information available on the UI ## MK.IO Beam 1.2.0.1 5 August 2025 ### New features - Introduction of C30 and H70 servers - Server pair 1+1 redundancy for headends - Support for multiple Digital Devices RF input cards in a single chassis - Receiver service support for AMD CPUs - Simplification of JPEG-XS encode configuration - Support for ASI output on Dektec DTA-2127 ## MK.IO Beam 1.1.0.2 23 June 2025 ### New features - Support for E50 and E60 servers for contribution encode and headend use cases. - 4:2:2 8-bit and 10-bit progressive and interlaced H.264 and H.265 HD software encode. - RF input and SDI output via Dektec DTA-2127 RF input option card. - 4:2:2 and 4:2:0 H.265 UHD software decode. - 4:2:2 10-bit SMPTE ST 2110 output with software decode. - The Dektec DTA-2178 8-port SDI option card is now supported with reception. It is possible to output up to 8 baseband outputs with one Dektec DTA-2178 card and more with multiple DTA-2178 cards. - Hostname, IP, NTP, firewall zones, DHCP and DNS parameters can be configured on the MK.IO Beam web UI. - New “Super Low” decode delay mode introduced for lower latency decoding. - Server health monitoring now available. - Support for active-backup redundant bonded network management interfaces. # Reliable Transport Reliable transport refers to a class of protocols designed to deliver media streams over IP networks that are unpredictable or lossy, such as the public internet. Standard UDP streaming is fast but offers no recovery if packets are lost. Reliable transport protocols add error correction and retransmission on top of UDP, so brief network disruptions do not result in visible artefacts in the stream. MK.IO Beam's Reliable Transport takes UDP packets and forwards them over SRT, Zixi, or RIST. It can also take SRT, Zixi, or RIST input and output as UDP or any other supported protocol. The UDP content is processed as a pipe without modification, and is typically used to carry transport streams encapsulated in UDP or RTP. ## Supported protocols - **SRT (Secure Reliable Transport):** An open-source protocol for low-latency video contribution over unpredictable networks. SRT supports both Caller and Listener connection modes and includes built-in AES encryption (128-bit, 192-bit, and 256-bit). - **RIST (Reliable Internet Stream Transport):** An open standards-based protocol for reliable video transport, also supporting Caller and Listener modes. - **Zixi:** A managed transport protocol with Feeder and Receiver roles, designed for reliable delivery over the internet. - **RTMP:** Available from v3.0.0 as a beta feature. Supports RTMP passthrough (RTMP input to RTMP output) and decode mode (RTMP input to UDP output). Not all features available for other protocols are present in the RTMP beta. ## Connection modes Each protocol operates in one of two roles, depending on which end of the connection initiates it: - **Caller (or Feeder):** The service initiates the connection to a remote listener. - **Listener (or Receiver):** The service waits for an incoming connection. Each Reliable Transport service is configured with an independent input mode and output mode. This flexibility means MK.IO Beam can sit at either end of a transport link, or act as a protocol bridge between two different connection types. ## Common use cases - Sending a live encoder output from a venue to a production facility over the public internet. - Receiving a contribution feed from a remote location for local decoding or processing. - Distributing a transport stream to multiple destinations with protocol conversion. To create and configure a Reliable Transport service, see [Service configuration and management](/beam/reliable-transport/service-management). # Monitoring the Reliable Transport service ## Service alarms The user interface allows you to access active and cleared alarms list for each service. Alarms information can be accessed for any service, either started or stopped, by clicking the "Alarm" button in front of each service. If a service is running, information about **Active alarms** as well as **Alarms history** is available. If a service is not running, only the Alarms history is available. For each running service: - If no alarms are active, the corresponding line on the Services page will show the alarm (`Alarm` icon) button in light gray on the right of the service name. - If any alarms are active, the corresponding line on the Services page will show the alarm (`Alarm` icon) button with a color indicating the level of severity. 1. From the **Services** page, identify the service that you want to monitor. 2. Click the related `Alarm` icon icon in the **Alarm** column.  Depending on the severity of the alarm, the `Alarm` icon will appear in different colors and will display the most severe color alarm in case of multiple alarms. - `Alarm red` icon (critical alarm): the service is not running as expected, customer operations are affected. - `Alarm yellow` icon (major alarm): issues are affecting the service which may result in it not running as expected and could affect customer operations. - `Alarm green` icon (minor alarm): minor issues are affecting the service, but it is running as expected and customer operations are not affected. - `Alarm` icon (notice): an expected, meaningful event has happened for the service, worth logging in the Alarms history. From this page, you can access the following information: - The active alarms table applied on the current server including: - date and time of the alarm rise - alarm description (label) - alarm severity - detailed information - The alarm history table including: - date and time of the alarm rise - alarm description (label) - alarm status - alarm severity - server on which the service was applied when the alarm raised. - detailed information ### Alarms raised by the Reliable Transport service {/\* Update according to microservices/worker/worker/src/lib/Alarms.cpp "Maximum input connections have been established" excluded as not currently used and could cause confusion about available functionality \*/}Some CA descramblers will require a Trusted Platform Module (TPM) to be installed on the server.
| Name | Description | Values |
|---|---|---|
| No Reliable Transport input connection | Input connection cannot be established | Critical |
| No Reliable Transport input data | No packets are received in input | Critical |
| Packets skipped on Reliable Transport input | Packets have been dropped during the last 10 seconds | Major |
| Encryption error (input) | Error with input encryption configuration | Critical |
| No input connections have been established | Notice | |
| No Reliable Transport output connection | Output connection cannot be established | Critical |
| No Reliable Transport output data | No packets are being sent to output | Critical |
| Packets error on Reliable Transport output | Problems detected in the output. E.g. packets being skipped | Major |
| Encryption error (output) | Error with encryption configuration | Critical |
| No output connections have been established | Output is listening but no connections have been started | Notice |
| Maximum output connections have been established | The maximum configured number of output connections has been reached. Further connection requests will be denied. | Notice |
| Connection with license server lost | Connection with the license server was lost. The service will only run for a grace period, after which functionality will be disabled unless connection with the license server is re-established. | Major |
| Functionality disabled; connection with license server lost | Service not running because connection with the license server has been lost and the grace period expired. | Major |
| License period expires soon | Additional information is provided when this alarm is raised, specifying when the current license will expire. | Major |
| Undefined Reliable Transport alarm | An unexpected error occurred for the service | Critical |
| Failed to start Prometheus metrics | Metrics are not available for this service | Minor |
 The **Statistics** page is displayed showing: - On the left side of the page, the statistics for the service input. - On the right side of the page, the statistics for the service output. This is an example for a configuration using UDP input and an SRT Listener output. At the time, 2 clients were connected to the Listener output.  Depending on the service Input Mode and Output mode configuration, the page will show different information. If Input/Output Mode is **UDP**, the following statistics will be available:The
Pie charticon is only accessible when an service configuration is associated to a server and then running.
| Information | Details |
|---|---|
| Connection details | UDP source. Top-right of the Input/Output Statistics panel |
| Received/Transmitted Packets | Number of packets received/transmitted; expected to increment constantly. |
| Receive/Transmit Rate | In Mb/s. |
| Information | Details |
|---|---|
| Connection details | Listener address and number of connected clients (output listener only). Top-right of the Input/Output Statistics panel |
| Uptime | Time since the connection was established; expected to increment constantly. |
| Received/Transmitted Packets | Number of packets received/transmitted; expected to increment constantly. |
| Retransmitted Packets | Number of packets which required retransmission; expected to be zero or increment very slowly in time. A rapid increase may indicate potential instability in the network connection. |
| Lost Packets | Number of packets lost; expected to be zero. If not zero and incrementing, there may be issues with the network connection and the quality of other services using SRT as input could be affected. |
| Dropped Packets | Number of packets dropped; expected to be zero. If not zero and incrementing, there may be issues with the network connection; quality of other services using SRT as input could be affected. It may be possible to reduce the number of dropped packets by changing the configuration for Latency and Maximum Bandwidth Overhead parameters. |
| Receive/Transmit rate | In Mb/s |
| Link Bandwidth | Bandwidth of the link in Mb/s. It should not be too much smaller than Receive/Transmit rate to prevent packet drop. |
| Round Trip Time | Measured for the current connection between caller and listener, in milliseconds. Could be used to tune the Latency and Maximum Bandwidth Overhead parameters. |
| Receive/Transmit buffer | Size of the receive/transmit buffer in milliseconds. |
If Input/Output Mode is **Zixi Feeder** or **Zixi Receiver**, the following stats will be available:For SRT Listener outputs with multiple connections it is possible to monitor individual statistics for each connection using the dropdown in front of the field Display statistics for connection.
| Information | Details |
|---|---|
| Uptime | Time elapsed since the Zixi connection was started. |
| Packets | Total number of sent data packets, including retransmitted packets. |
| Out of order Packets | Total number of packets not in order (but will be reordered). |
| Dropped Packets | Displays the total number of packets dropped since the beginning of the stream. |
| Duplicate Packets | Total number of duplicated packets. |
| Overflow packets | Total number of overflow packets. |
| Packet rate | Transmitted/received packets per second. |
| Packets Jitter | In milliseconds. |
| Round Trip Time | In milliseconds. |
| Latency | In milliseconds. |
| Congested | Link congestion status (flag – true/false). |
| Transmit/Receive rate | In Mb/s. |
| ARQ Packets: | Total number of Automatic Repeat reQuest packets. |
| FEC Packets | Total number of Forward Error Correction packets. |
| ARQ recovered Packets | Total number of ARQ packets which were recovered. |
| FEC Recovered Packets | Total number of FEC packets which were recovered. |
| Not Recovered Packets | Total number of packets which were not recovered (FEC or ARQ). |
| Error Correction Duplicated Packets | Total number of duplicated error correction packets. |
| Error Correction Requests | Total number of error correction requested packets. |
| Error Correction Overflow | Total number of error correction overflow packets. |
| Information | Details |
|---|---|
| Connection details | Listener address and number of connected clients (output listener only). Top-right of the Input/Output Statistics panel |
| Uptime | Time since the connection was established; expected to increment constantly. |
| Received/Transmitted Packets | Number of packets received/transmitted; expected to increment constantly. |
| Retransmitted Packets | (Output only) Number of packets which required retransmission; expected to be zero or increment very slowly in time. A rapid increase may indicate potential instability in the network connection. |
| Lost Packets | (Input only) Number of packets lost. Out-of-order packets are also treated as lost. Lost packets may be recovered. |
| Dropped Packets | (Input only) Number of packets dropped. These packets are too late to be played and can no longer be recovered. |
| Receive/Transmit rate | In Mb/s |
| Round Trip Time | Measured for the current connection between caller and listener, in milliseconds. |
| Quality | Quality of the RIST connection. 100% means all packets are sent successfully the first time. |
# Interact with an existing Reliable Transport service Each Reliable Transport service is displayed within a row in the Services page. To interact with an existing service, identify the name of the service of interest in the list of available services. Use the search option at the top of the page if needed. ## Start a service 1. On the service row corresponding to the service to be started, click **Choose a server to run** and select the name of the server to which the service will be assigned. The service is not automatically started. 2. Click `Play outline` icon to launch the service. The service Status changes to **starting** and then to **started**. The `Play outline` icon action button changes to `Stop outline` icon. ## Stop a service **Important:** Stopping a running service could disrupt customer operations. 1. On the service row corresponding to the service to be stopped, click `Stop outline` icon on the right of the service row. 2. On the dialog window that appears, confirm using the **Yes, stop it!** button. The service Status changes to **stopping** and then to **stopped**. The `Stop outline` icon action button changes to `Play outline` icon. ## Edit a service **Important:** Editing a running service could disrupt customer operations! It is recommended that services are only edited when stopped. 1. On the service row corresponding to the service to be edited, click `Edit` icon on the right of the service row. The service configuration page appears. 2. You can start editing your service. **Important:** Changing encryption configuration for SRT Caller or Listener modes requires similar changes on the corresponding Listener and Caller for the stream to be properly managed 3. Click **Save and continue** to save your changes and continue configuring the service, click **Save and exit** to save and finalize your service configuration and go back to the **Services** page, or click **Exit** to go back to the **Services** page without saving. ## Delete a service **Important:** Once a service is deleted, it is not possible to recover it. 1. Stop the service. 2. Click `Delete` icon to delete the service. 3. On the dialog window that appears, confirm using the **Yes, stop it!** button. The service row disappears from the Services page. ## What is the `service_id`? Every service has a name provided by the user and used to identify it in the services page. It also has an “id” (short for “identifier”). Although users usually do not need to know about the existence and value of the service id, it is worth mentioning the following: - The `service_id` must be unique for each service managed by a Controller. It is a field present in the JSON configuration structure that is saved to file when the service is exported, and must be present in any imported configuration. If you wish to export a service and want re-import it to have a second service with exactly the same configuration, make sure that you change the `service_id` before importing the file again. - The `service_id` is visible on the browser address bar when you edit a service, in the last part of the address (e.g. `srt_9850ef9e49c0adf7baa91602e1c8`). This is useful to know because the same identifier is used to create the filename when the service configuration is exported. It can be useful to know if you export a service and you are not sure which service you have exported. In this situation you may also just open the exported file and check the service name, but because the `service_id` is unique, it can be used in case of multiple services with the same name. - For advanced interaction with your services, you may use the product API, in which case the `service_id` is often required. - Note that, no matter if your service is configured for SRT or Zixi connection, the `service_id` will always contain `srt` in its name. # Reliable Transport services configuration and management ## Import a Reliable Transport service Prior importing a service, make sure: - the format of the file is correct (valid json); - the `service_type` field in your configuration file is `srt` (even though the configuration may be for a Zixi connection); - the imported service id is different from the existing services; - if the same id as an existing service is used, an option to override the existing service will be provided by the import UI. 1. Display services.For RIST Listener outputs with multiple connections it is possible to monitor individual statistics for each connection using the dropdown in front of the field Display statistics for connection.
2. Click **Import service...** and follow the instructions to [import Reliable Transport configurations](/beam/web-interface/services#import-a-service). 3. Once imported, the service(s) appear in the list of services. ## Create a new Reliable Transport service 1. Display services. 2. Click **Add service** 3. Select **Reliable Transport**. The following page displays:  4. Assign a **name** to the new service (100 characters max). This name will appear in your Services page, therefore it is recommended to choose a unique name for each service for easier identification from the Services page. 5. Continue the service configuration depending on your needs: - [SRT connection configuration](/beam/reliable-transport/service-management#srt-or-rist-connection-configuration) - [Zixi connection configuration](/beam/reliable-transport/service-management#zixi-connection-configuration) - [RIST connection configuration](/beam/reliable-transport/service-management#srt-or-rist-connection-configuration) ## Configure a Reliable Transport service ### SRT or RIST connection configuration Below is an example of a typical SRT or RIST use case. A single input transport stream is sent via SRT or RIST to multiple clients.  To implement the use case above, the following Reliable Transport services are required: - 1 service with Input Mode = **UDP** and Output Mode = **SRT Listener** or Output Mode = **RIST Listener** - 1 service per client with Input Mode = **SRT Caller** or Input Mode = **RIST Caller** (respectively) and Output Mode = **UDP**You can import files retrieved from a service exported from a different server.
### Zixi connection configuration Zixi services can be created to implement the following use case: Two services are required:  - Service 1 with Input Mode = **UDP** and Output Mode = **Zixi Feeder** - Service 2 with Input Mode = **Zixi Receiver** and Output Mode = **UDP** ### Reliable Transport parameters The configuration of the Input and Output section for the service depends on the use case needed. 1. Select the **Input Mode** from the corresponding drop-down menu on the left side of the Reliable Transport service configuration page.  2. Select the **Output Mode** from the corresponding drop-down menu on the right side of the Reliable Transport service configuration page.  3. Complete the **Input** and **Output** parameters that come with the selected mode: - [UDP configuration](/beam/reliable-transport/service-management#udp-configuration) - [SRT Caller configuration](/beam/reliable-transport/service-management#srt-caller-configuration) - [SRT Listener configuration](/beam/reliable-transport/service-management#srt-listener-configuration) - [Zixi Feeder configuration](/beam/reliable-transport/service-management#zixi-feeder-configuration) - [Zixi Receiver configuration](/beam/reliable-transport/service-management#zixi-receiver-configuration) - [RIST configuration](/beam/reliable-transport/service-management#rist-configuration) - [RTMP Caller configuration](/beam/reliable-transport/service-management#rtmp-caller-configuration) - [RTMP Listener configuration](/beam/reliable-transport/service-management#rtmp-listener-configuration) ### UDP configuration  Fields marked with \* are mandatory. #### InputIt is possible also to have UDP in ->SRT Caller -> SRT Listener -> UDP out. In that case just swap the Output/Input modes for the two services.
| Name | Description | Values |
|---|---|---|
| Network interface* | Name of the network interface on which the UDP stream will be received as it appears in the list from Servers->System Settings->Nework Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Stream Address* | Multicast address of the UDP stream | IPv4 address. Does not allow leading zeros. |
| Port* | Multicast port of the UDP stream | Integer number between 1024 and 65535 |
| Source Address | Source address of the input multicast stream | IPv4 address. Does not allow leading zeros. |
| Name | Description | Values |
|---|---|---|
| Network interface* | Name of the network interface on which the UDP stream will be sent as it appears in the list from Servers->System Settings->Nework Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Stream Address* | Multicast address of the UDP stream | IPv4 address. Does not allow leading zeros. |
| Destination Port* | Multicast port of the UDP stream | Integer number between 1024 and 65535 |
| Source Address | User-specified source multicast address for the outgoing stream | IPv4 address. Does not allow leading zeros. |
| Source Port | User-specified source multicast port for the outgoing stream | Integer number between 1024 and 65535 |
| Name | Description | Values |
|---|---|---|
| Listener Address* | IP Address or hostname of the SRT Listener to connect to. | IPv4 address (without leading zeros) or hostname. |
| Listener Port* | Port of the SRT Listener | Integer number between 1024 and 65535 |
| Caller Port | The local port to bind SRT connection to. Default 0 value means auto assigned. | Integer number between 1024 and 65535 |
| Network interface | Name of the network interface the SRT Caller will use as it appears in the list from Servers->System Settings->Nework Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Stream ID | The SRT Stream ID sent to the remote listener. Supports opaque strings and structured access-control format as per the SRT spec. | String, up to 512 bytes |
| Encryption | Choose the type of encryption for the SRT stream. | Drop-down menu: Not set, AES-128, AES-192, AES-256 |
| Pass Phrase | If Encryption parameter value is Not set, this field is grayed out. Otherwise, will contain the encryption passphrase. | String of minimum 10 characters. |
| Latency | These values can be adjusted depending on the link characteristics in terms of round-trip time and packet loss rate. | In milliseconds, between 60 and 8000. |
| Maximum Bandwidth Overhead | Percentage bitrate overhead that can be used by the SRT link. | Percentage, between 5 and 100. Value=0 means infinite. |
| Name | Description | Values |
|---|---|---|
| Listener Interface* | Name of the network interface on which the Listener will be active as it appears in the list from Servers->System Settings->Network Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Listener Port* | Port of the SRT Listener | Integer number between 1024 and 65535 |
| Maximum connections | Maximum allowed number of SRT Callers that can connect to the output SRT Listener. | Integer number between 1 and 65535 |
| Encryption | Choose the type of encryption for the SRT stream. | Drop-down menu: Not set, AES-128, AES-192, AES-256 |
| Pass Phrase | If Encryption parameter value is Not set, this field is grayed out. Otherwise, will contain the encryption passphrase. | String of minimum 10 characters. |
| Latency | These values can be adjusted depending on the link characteristics in terms of round-trip time and packet loss rate. | In milliseconds, between 60 and 8000. |
| Maximum Bandwidth Overhead | Percentage bitrate overhead that can be used by the SRT link. | Percentage, between 5 and 100. Value=0 means infinite. |
| Name | Description | Values |
|---|---|---|
| Host | The Zixi Broadcaster address (FQDN or IP Address) | String or IPv4 address. |
| Port | The Zixi Broadcaster port to connect to. | Integer number between 1024 and 65535, default 2088. |
| Encryption | Choose the type of encryption for the Zixi stream. | Drop-down menu: Not set, AES-128, AES-192, AES-256 |
| Pass Phrase | If Encryption parameter value is Not set, this field is grayed out. Otherwise, contain the encryption passphrase. | Hexadecimal characters string. Expected length: 32 chars for AES-128, 48 chars for AES-192, 64 chars for AES-256. |
| Steam ID | Zixi stream ID. Custom identifier. | String of max 128 characters. |
| Password | [Optional] Password associated to the Zixi stream. | String of max 128 characters. |
| Maximum Bitrate | Maximum bitrate of the stream sent through the Zixi connection, in kbps. | Integer number between 1 and 2147483. |
| Maximum Latency | Zixi stream latency in milliseconds. | Integer number between 30 and 10000 |
| Name | Description | Values |
|---|---|---|
| Host | The Zixi Broadcaster address (FQDN or IP Address) | String or IPv4 address. |
| Port | The Zixi Broadcaster output port to connect to. | Integer number between 1024 and 65535, default 2077. |
| Remote ID | Zixi Remote ID (unique identifier for the Zixi receiver). | This value cannot be edited. It is assigned automatically when creating the service. |
| Encryption | Choose the type of encryption for the Zixi stream. | Drop-down menu: Not set, AES-128, AES-192, AES-256 |
| Pass Phrase | If Encryption parameter value is Not set, this field is grayed out. Otherwise, contain the encryption passphrase. Shall match the corresponding feeder configuration. | Hexadecimal characters string. Expected length: 32 chars for AES-128, 48 chars for AES-192, 64 chars for AES-256. |
| Steam ID | Zixi stream ID. Custom identifier. Shall match the corresponding feeder configuration. | String of max 128 characters. |
| Password | [Optional] Password associated to the Zixi stream. Shall match the corresponding feeder configuration. | String of max 128 characters. |
| Maximum Latency | Zixi stream latency in milliseconds. | Integer number between 30 and 10000 |
| Name | Description | Values |
|---|---|---|
| Listener Address* | Address or hostname of the RIST Listener to connect to. | IPv4 address (without leading zeros) or hostname. |
| Listener Port* | Port of the RIST Caller | Integer number between 1024 and 65535 |
| Network interface | Name of the network interface the RIST Caller will use as it appears in the list from Servers->System Settings->Nework Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Encryption | Choose the type of encryption for the SRT stream. | Drop-down menu: Not set, AES-128, AES-192, AES-256 |
| Pass Phrase | If Encryption parameter value is Not set, this field is grayed out. Otherwise, will contain the encryption passphrase. | String of minimum 10 characters. |
| Name | Description | Values |
|---|---|---|
| Listener Interface* | Name of the network interface on which the Listener will be active as it appears in the list from Servers->System Settings->Network Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Listener Port* | Port of the RIST Listener | Integer number between 1024 and 65535 |
| Maximum connections | Maximum allowed number of SRT Callers that can connect to the output SRT Listener. | Integer number between 1 and 65535 |
| Encryption | Choose the type of encryption for the SRT stream. | Drop-down menu: Not set, AES-128, AES-192, AES-256 |
| Pass Phrase | If Encryption parameter value is Not set, this field is grayed out. Otherwise, will contain the encryption passphrase. | String of minimum 10 characters. |
| Name | Description | Values |
|---|---|---|
| Listener Address* | IP Address of the RTMP Listener to connect to. | IPv4 address (without leading zeros). |
| Listener Port* | Port of the RTMP Listener | Integer number between 256 and 65535 |
| Caller Port | The local port to bind RTMP connection to. Default 0 value means auto assigned. | Integer number between 1024 and 65535 |
| Application* | Name of the RTMP application instance to connect to. | String |
| Stream* | The name of the stream being transferred. | String |
| rtmps | Enables RTMPS encryption. | Tick box, off by default. |
| Name | Description | Values |
|---|---|---|
| Listener Interface* | Name of the network interface on which the Listener will be active as it appears in the list from Servers->System Settings->Network Settings: Devices. A dropdown is available for convenience but free text can also be used. | String of max 32 alphanumeric characters |
| Listener Port* | Port of the RTMP Listener | Integer number between 256 and 65535 |
| Maximum connections | Maximum allowed number of RTMP Callers that can connect to the output RTMP Listener. | Integer number between 1 and 65535 |
| Parameter | Description |
|---|---|
| Connection type | Select ESAM. |
| Version | Select 2013. |
| Expect notifications | When enabled, allows Stream Conditioning to get notifications from ESAM devices processing. |
| Parameter | Description |
|---|---|
| ID | Set to Auto by default. You can switch to Manual and specify and ID. |
| Network name | This field corresponds to the acquisition Point Identity defined by the ESAM standard. The same field value must be configured at the target device level for appropriate communication. It is used to identify the target device on a specific channel. |
| Zone identity | Additional field that can be used to represent the location of the stream/channel. |
| Signal acquisitions | Possible values: - URL: URL to which the Signal Processing System endPoint can reach the Signal Acquisition System endPoint (such as encoder, TS processor). - Listening path: The listening path is used by the SAS endPoint to return status notifications to the SPS endPoint. A typical use of this path is when signals are received from multiple acquisition points. It allows identifying which systems issued the response. Default value: listening path = /, Example: listening path = /encoder1Note: You can add an additional URL/path by clicking the Add button. |
| Attributes | EndPoint attributes can be used for additional filtering in SCTE-224 input translations. It allows applying the translation actions to specific endPoint(s). Example: name = VIRD, value= NY |
Encoders or TS processors that will submit received SCTE-35 trigger to Stream Conditioning must also configure the ESAM endpoint.
## SCTE-104/30 configuration To configure SCTE-104/30 communication to downstream target devices (such as an encoder, a TS processor for instance), proceed as follows: 1. Click the **Connections** tab. 2. Enter and/or select the appropriate value for each parameter:Assuming that the controller managing Stream Conditioning is located at the following IP/port:
192.168.1.10:8080, with an endPoint configured namedGAMEHD100, then the ESAM endpoint to configure will be:http://192.168.1.10:8080/api/esam/streamConditionings/GAMEHD100.
| Parameter | Description |
|---|---|
| Connection type | Select SCTE 104/SCTE 30. |
| Parameter | Description |
|---|---|
| ID | Set to Auto by default. You can switch to Manual and specify and ID. |
| DPI PID index | Digital Program Insertion PID index (shall be aligned with the one configured on the encoding/transcoding device for instance). |
| Channel name | Identifier for the SCTE-30 communication. |
| Injectors | - Address: IP address of the device implementing SCTE-104/30. - SCTE-104 port: communication port used for SCTE-104 communication. - SCTE-30 port: communication port used for SCTE-30 communication. Note: You can add an additional URL/ports by clicking the Add button. |
| Attributes | EndPoint attributes can be used for additional filtering in SCTE-224 input translations. It allows applying the translation actions to specific endPoint(s). Example: name = VIRD, value= NY |
| Parameter | Description |
|---|---|
| Connection type | Select SCTE 30/SCTE 30. |
| Parameter | Description |
|---|---|
| Channel name | Identifier for the SCTE 30 communication. |
| Injectors | - Address: IP address of the device implementing SCTE-30. - SCTE-30 port: communication port used for SCTE-30 communication. Note: You can add an additional URL/ports by clicking the Add button. |
| Attributes | EndPoint attributes can be used for additional filtering in SCTE-224 input translations. It allows to apply the translation actions to specific endPoint(s). Example: name = VIRD, value= NY |
| Parameter | Description |
|---|---|
| Type | Select ESNI SCTE-224. |
| ESNI Server | Stream Conditioning can connect to its own database of SCTE-224 events or connect to an external database. When connecting to SCTE-224 events database managed by the viewing policy manager service (one database per service), a drop-down list will list all the different events database available (one per Viewing policy manager service). This generally corresponds to a programmer (ESPN, FOX etc.). |
| ESNI Media ID | From the selected SCTE-224 events database, select the Media ID containing all the different media points, viewing policies, policies and audience. Selected Media ID generally corresponds to a linear channel for instance. |
| Ignore metadata | Check this box if ESNI SCTE-224 metadata are not used in conditioning to improve performance. |
| Enable audit | Return status of the events to the SCTE-224 database to enable SCTE-224 audit creation. |
| Parameter | Description |
|---|---|
| Name | Name of the translation rule. |
| SCTE-224 filters | Configure filtering rules to identify a n SCTE-224 event, using filters such as Viewing Policy ID, audience ID, action etc. |
| Parameter | Description | Use case example | Target component |
|---|---|---|---|
| Alternate content | Switch-over from a live feed to another one | Sim-subs, regional substitution. | Encoder, TS processor |
| SCTE-35 | Configure-able SCTE-35 insertion to signal ad break, program start/end etc. Manage rewriting (Placement management) | Ad insertion, SCTE-35 rewrite | Encoder |
| Parameter | Description | Use case example | Target component |
|---|---|---|---|
| Image overlay | Control the video composing of a linear feed with an image | Logo insertion | Encoder (specific to Live Encoder solution) |
| Animation | Video composing control using Flash animation (Flash object are assumed stored on target component) | Advanced graphics | Encoder (specific to Live Encoder solution) |
| Slate | Control changeover from the linear stream to a slate | Blackout | Encoder (specific to Live Encoder solution) |
| Video clip | Control the insertion of file-based assets | Linear ad replacement | Encoder (specific to Live Encoder solution) |
| None | This operation has been introduced to specifically manage the deletion of a given SCTE-35 matching with matching criteria | SCTE-35 deletion | Encoder, TS processor |
| Parameter | Description |
|---|---|
| Name | Configure a name for your operation. |
| Apply on | Mandatory field indicating when the operation is launched. Possible options: - Policy begin: operation triggered when the policy is applied (SCTE-224 <Apply> tag from the media point element).- Policy end: operation triggered when the policy is removed (SCTE-224 <remove> tag from the media point element). |
| Scheduling mode | Defines the criteria for launching the operations, namely: - Auto (follow SCTE-224): This mode allows triggering an operation: - based on time (if only at least one of the following attribute is present: @matchTime, @effective, @expires), - based on incoming signal only (if only @matchSignal is present), - or based on @matchSignal with a time-based fallback. - Time-Based: operation can be forced to be exclusively time-based (even if the media point contains @matchSignal). - SCTE-35 Signal-based: operation is launched only based on SCTE-35 signal (@matchSignal from the media point, with matching criteria configured in scheduling tab). |
| Discard incoming signal | Restriction: Only available when selecting SCTE-35 Signal-based scheduling mode. When checked, it instructs the encoder or TS processor to remove submitted SCTE-35 from its output. |
| Parameter | Description |
|---|---|
| Input ID | This ID represents the alternate content ID configured at the target device (encoder, TS processor etc.). When using ESAM type of communication, this corresponds to the altContID information passed within the ESAM response. |
#### SCTE-35 Insertion To configure out-of-band (time-based) SCTE-35 insertion, follow these steps: 1. Make sure **Scheduling mode** is set to **Time-based**. 2. Under the **Operation** tab, set **Type** to **SCTE-35** from the list of available type of operations. 3. Configure Splice info: under the **Splice info** tab, select **Splice info type** from the list of SCTE-35 command types. Auto scheduling mode (following SCTE-224) can be used in either SCTE-35 insertion or SCTE-35 management use case. We do not recommend using this mode for SCTE-35 operations as it may lead to unexpected behavior.
The set of parameters to configure will depend on the selected command. Users shall be familiar with the SCTE-35 standard. The main commands used are generally the following one: Splice Insert and Time Signal.
The figure below shows a **Splice insert** command configuration example with **Break duration** set automatically to the duration of the media point policy. Some parameters can be automatically configured (retrieved from the media point/event schedule), for instance the Break duration or segmentation duration.
4. Configure segmentation descriptors: 1. Click the **Splice descriptors** tab. 2. Click the **Add descriptor** button then select **SegmentationDescriptor**. The configuration of all the different fields is user-defined and aligned with the SCTE-35 standard. Some fields can be configured automatically based on the event it is attached to (such as **Policy Duration** for the segmentation duration).  #### SCTE-35 Rewriting SCTE-35 signal submitted by an encoder or TS processor can be modified using Stream Conditioning. To configure SCTE-35 rewriting, follow these steps: 1. Make sure that **Scheduling mode** is set to **SCTE-35 Signal-based**. 2. Under the **Operation** tab, set **Type** to **SCTE-35** from the list of available type of operations. 3. Under the **Splice info** section, check the **Use source as template** option if you want to keep the SCTE-35 as is, and just modify attached segmentation descriptors for instance. You still have the possibility to override few parameters such as event ID or break duration for splice insert type of commands as show below.  4. Uncheck this option if you want to convert an SCTE-35 splice insert into time signal for instance (and vice versa). 1. Configure splice info: see example below where we assuming that time signal SCTE-35 are received and translated into **Splice insert** type of command.  2. Modify the incoming SCTE-35 descriptors: go to the **Source splice descriptors** section then click **Add modifier** then select whether you want to remove or rewrite segmentation descriptors from the SCTE-35 signal. - If you select **Remove**, configure the filter to identify the segmentation descriptor that needs to be deleted. The figure below shows an example of SCTE-35 rewrite where Stream Conditioning deletes the segmentation descriptor of type program start.  - If you select **Rewrite**, configure the filter to identify the segmentation descriptor to rewrite/modify. Then, under override section, select the field to modify and configure its value.  3. To add segmentation descriptors to the SCTE-35 submitted to Stream Conditioning: go to **Additional splice descriptors** section, click on **Add descriptor** then select **SegmentationDescriptor** and configure the segmentation descriptor, either manually, or leveraging pre-defined value (such as splice duration or segmentation duration for instance).  ### Advanced Operation: image overlay Image overlay operation is used for use cases such as logo insertion. It allows controlling the insertion of an image on top of ongoing video. Parameters such as width, height, and X-Y coordinate must be configured to determine size and position of the image overlay. To configure image overlay operation, follow these steps: 1. From the **Operation** tab set the **Type** to **Image overlay**. 2. Enter and/or select the appropriate value for each parameter:Any SCTE-35 message, whether it’s a splice null, splice insert etc. contains a splice info section, as well as (optionally) a set of one or more segmentation descriptors. These segmentation descriptors are used to convey additional information and characterize the placement opportunity.
| Parameter | Description |
|---|---|
| Duration | Can be manually configured, or automatically configured with Policy duration when selecting trigger point with value At the beginning. |
| Material ID | ID of the image on the target device (can be a name like logo.jpg for instance) |
| Width | image width, in pixels |
| Height | Image height, in pixels |
| X | X-horizontal coordinate |
| Y | Y-vertical coordinate |
| Layer | Specify which layer the image will be positioned on. Up to 8 layers can be managed (7 images overlaying). Elements with higher layers will be displayed on top of others. |
| Parameter | Description |
|---|---|
| Duration | Can be manually configured, or automatically configured with Policy duration when selecting trigger point with value at the beginning |
| Material ID | ID of the Flash SWF object on Encoding Live. |
| Layer | Specify which layer the image will be positioned on. Up to 8 layers can be managed (7 images overlaying). Elements with higher layers will be displayed on top of others. |
| Fields | Name/value that are MediaKind-specific. A description of the options is given in the table below. |
| Parameter | Description |
|---|---|
SWF_TEXT_01 |
Crawling text that will be passed as a variable by Stream Conditioning when controlling Encoding Live to trigger crawling insertion. Example: This is my crawling text |
SWF_SPEED |
Crawling speed. Configured value ranges from 1 to n (number of point per frame). Default value is 4. |
SWF_BACK_ALPHA |
Background transparency. Value range: [0..1]. Default value is 0.6. |
SWF_COLOR_BACK |
Background color of the crawler, using RGB color system. Example: 55A9B0. Default value is no background. |
SWF_COLOR |
Text color using RBG system. Example: 55A9B0. Default value is FFFFFF. |
| Parameter | Description |
|---|---|
| Duration | Can be manually configured, or automatically configured with Policy duration when selecting trigger point with value at the beginning |
| Material ID | ID of the Flash SWF object on Encoding Live. |
To configure video clip, follow these steps: 1. From the **Operation** tab set the **Type** to **Video clip**. 2. Enter and/or select the appropriate value for each parameter:Integration with MediaKind Live Encoder only supports video clip file in MPEG-TS file format.
| Parameter | Description |
|---|---|
| Clip | Set to Custom to manually configure the video clip or set to Auto (following SCTE-224) to use material from SCTE-224 viewing policy. |
| Duration | Can be manually configured, or automatically configured with Policy duration when selecting trigger point with value at the beginning |
| Material ID | ID of the Flash SWF object on Encoding Live. |
| Start offset | Offset in seconds the video clip will start playing at. Default value is 0, meaning the video clip will start from the beginning. |
| Parameter | Description |
|---|---|
| Create on alternate service | Stream Conditioning allows launching the operation on another service at the same time. Note: This configuration is optional, and reserved for advanced workflow. |
| Define stop condition | Define the condition for canceling the ongoing operation (started by startcondition). Restriction: This parameter is only displayed is you selected an ESAM (advanced) operation (see advanced operations table). |
| Enable priority | Define the priority at which the signal-based operations should be applied: - If matching criteria are met for one or more signal-based operations, only those with the highest priority will be triggered, 0 being the highest. - If no priority is set all matching signal-based operations will be triggered. |
| Parameter | Description |
|---|---|
| Validity period begin | This setting determines the lower boundary of the validity window period. It can be automatically set based on the mediaPoint configuration (Auto (follow SCTE-224) i.e. equal to @effective if present else @matchTime) or forced to @matchTime, @effective or @expires. Timing can be adjusted in seconds (positive or negative value). |
| Validity period end | This setting determines the upper boundary of the validity window. It can be automatically set based on the mediaPoint configuration (Auto (follow SCTE-224) i.e equal to @matchTime + @signalTolerance is present else @expires) or forced to @matchTime or @expires. |
| Occurrence | This setting controls the occurrence of the submitted SCTE-35.Possible values: - Auto (follow SCTE-224): Occurrence based on the media point configuration. When @matchTime contains reusable attribute, this means that multiple occurrences are allowed. If not, this is equivalent to enabling occurrence to once. If @matchTime and @matchSignal are configured, this is equivalent to “once with time-based fallback”. - Multiple: allows multiple SCTE-35 occurrence. In other words, if more than one SCTE-35 with matching criteria is received within the validity window, the operation will be launched as many times as there are matching SCTE-35 signals. - Once: this mode allows launching the operation once, and de-activate it. Should other SCTE-35 signal be received within the validity window with matching criteria, the operation will not be triggered. - Once with time-based fallback: launch the operation upon SCTE-35 with matching criteria within the validity window. If no signal is received, the operation will be launched based on time (timing linked to validity period end configuration). - Time-based fallback only: this special mode enables to de-activate the operation when a SCTE-35 signal with matching criteria within the validity period is received. If no signal is received, the operation is forced time-based. Note: When configuring occurrence with Time-based fallback only or Once with time-based fallback, the fallback operation must be configured. This configuration is detailed in Operation: Fallback operation. |
| SCTE-35 matching | When the media point configuration contains @matchSignal, SCTE-35 matching can be automatically managed using Auto (follow SCTE-224). This is the case for SCTE-224 ingest, or Disney PCC type of ingest. For other types of ingest like ESNI-I02, no matching criteria are conveyed as part of the schedule. They must then be configured by selecting Custom. |
| Parameter | Description |
|---|---|
| Enable conditioning info | Stream Conditioning supports enabling/disabling conditioning info. |
| Enable event schedule | Enable repetition of a signal using EventSchedule element in ESAM response. |
| Type | EventSchedule supports a choice of two scheduling models: - Absolute start and end UTC times, - Relative (to signal time) start and end offsets |
| Interval | Specifies a desired repetition interval for the scheduled signal. |
| Start UTC | Note: Available when scheduling type is set to Absolute. Specifies the time to start broadcasting the data as a UTC date and time. |
| End UTC | Note: Available when scheduling type is set to Absolute. Optional time to stop broadcasting the data as a UTC date and time. |
| Start offset | Note: Available when scheduling type is set to Relative. Specify the time to start broadcasting the data as a duration from the associated/related signal. |
| End offset | Note: Available when scheduling type is set to Relative. Optional time to stop broadcasting the data as a duration from the associated/related signal. |
| Parameter | Description |
|---|---|
| Name | Name of the webhook endpoint. |
| Type | Type of notification to send. Only scte35 is supported. |
| URL | HTTP URL of the webhook endpoint. |
| Key | Secret used by the webhook listener to authenticate the webhook sender. |
| Signal | Required for Type “SCTE-35”. Value is either Incoming or Outgoing |
| Filters | Notification is sent only if the SCTE-35 matches these conditions. |
To visualize the scheduling & control timeline, follow these steps: 1. You can either: 1. Click on the timeline button located at the top right corner of a **Stream Conditioning** configuration page.  2. or click on the timeline button from the **Actions** list of configured service.  As a result, when events from the SCTE 224 database match criteria configured under **Stream Conditioning** service, the operations will appear in the timeline.  # Configure Timings A tab is available to configure timing, retention time for **Stream Conditioning** service. A description of the different fields to configure is given below:Scheduling view is only available if the service is started.
| Parameter | Description |
|---|---|
| Event history | Configure (in seconds) the duration the events will be kept in database once they have been processed. |
| Event transfer time | This timing defines how long in advance the event shall be sent to the target component. |
| Media clip pre-roll delay | Necessary pre-roll time for the target component to fetch files such as creatives, program before it gets processed. |
| Live stream switch pre-roll delay | Pre-roll time required by the target component when switching from one live source to another. This value may vary depending on the target component. |
| Parameter | Description |
|---|---|
| Collection name | Define the collection name, must be unique |
| Type | The type of the collection which will be used to the variables. Select one of the three available values: scte35, scte224 and context. |
| Description | Provide information about the collection. |
| Parameter | Description |
|---|---|
| Name | The name of the variable is the reference which can be used in the configs, must be unique in the collection, and cannot be modified. |
| Label | The label of the variable is more natural way to display the variable in the UI. |
| Description | Short description of the variable. We recommend configuring an explicit variable name. |
| Type | Select the variable type. |
| Method | The method which is applied to the data retrieved to the Xpath. Only available for the following types: Boolean, Number and String. |
| Path | Define the Xpath of the variable which will be used to retrieved data |
| Group | The group of the variable allow to group this variable in dropdown list |
| Tags | The tags are used in the UI do display the variables in expected input fields |
## Server Management Manage the physical or virtual notes in your BEAM cluster. [Manage Servers](/beam/system-admin/servers/servers) Add, remove, or reboot nodes. [Failover Groups](/beam/system-admin/servers/failover) Configure redundancy groups for automatic failover. ## Security & Access Configure security settings and user access controls. [User Management](/beam/system-admin/security/user-management) Create local users and assign roles. [LDAP Configuration](/beam/system-admin/security/ldap-management) Integrate with Active Directory for centralised auth. [SSL Certificates](/beam/system-admin/security/ssl-certificates) Install customer-signed certificates for HTTPS. ## Network & Time Configure the network settings and time synchronization. [Configure Network Interfaces](/beam/system-admin/network/configure-nics) Set IP addresses, DNS, IGMP, and firewall zones. [Control Interface Wizard](/beam/system-admin/network/control-interface-wizard) Configure the Control interface, MK.IO HTTP proxy, and diagnose network issues. [Bonded Interfaces](/beam/system-admin/network/bonded-interfaces) Configure active-backup interfaces for redundancy. [VLAN Interfaces](/beam/system-admin/network/vlan-interfaces) Add and delete VLAN interfaces from the command line. [Jumbo Frames](/beam/system-admin/network/jumbo-frames) Set the MTU to enable jumbo frames for high data rate streams. [System Clock](/beam/system-admin/network/system-clock) Synchronize time via NTP, TDT or PTP. [Router Configuration](/beam/system-admin/network/router-configuration) Connect to external SDI routers for input switching. ## Maintenance & Monitoring Keep the system healthy and monitor its performance. [Backup & Restore](/beam/system-admin/maintenance/backup-restore) Save and restore system configurations. [Manage Alarms](/beam/system-admin/maintenance/manage-alarms) Configure alarm severity and SNMP traps. [Generate Support Package](/beam/system-admin/maintenance/generate-support-package) Create log bundles for MediaKind support. [Install the ISO](/beam/system-admin/iso-installation) How to install the beam ISO. [Processing Types](/beam/system-admin/maintenance/processing-types) Enable or disable processing types to optimize performance. # How to install the MK.IO Beam ISO This step is only required for servers which have not been purchased from MediaKind. If the MK.IO Beam server and software are purchased separately, the MK.IO Beam software will need to be installed on the server. The MK.IO Beam software is distributed in the form of an ISO image.The majority of these tasks are performed via the System Center menu in the web interface (accessed via the gear icon in the top right corner).
### BIOS configurationNote: For XOS Large V2, XOS XLarge V2, HPE DL360, and HPE DL325 servers, installing or upgrading to MK.IO Beam 1.16 or later automatically hardens the default BIOS and iLO configuration for known BIOS and firmware versions. See Installing Beam on XOS Large V2, XOS XLarge V2, HPE DL360, HPE DL325 servers.
Note: Enabling High Performance mode in the BIOS is recommended.
If the system drive uses hardware RAID or FakeRAID, see RAID and FakeRAID configuration for supported configurations before continuing.
#### ASI/SDI PCIe card support If compatibility with 4-port or 8-port Dektec ASI/SDI option cards is required, then the **PCIe Data Link Feature Exchange** option must be disabled. This must be done before installing any 4-port or 8-port Dektec ASI/SDI option cards into the server.Review the following settings in the BIOS.
- Secure boot should be disabled.
- TPM support should be disabled.
- The Real Time Clock (RTC) should be set to the correct time and date.
- If supplied, install the MK Custom BIOS Firmware. - Boot into the BIOS. - Check for the **PCIe Data Link Feature Exchange** or **DLFE** setting and disable it.\ If this setting does not exist and the server will not boot with a Dektec card installed, note the server make, model and BIOS version and contact MediaKind Support. ### Boot configuration #### Create a bootable USB drive The USB drive must be at least 16GB. There are several methods for writing ISO files to USB drives. The following procedure describes the process using the free tool, [Rufus](https://rufus.ie/en/) in Microsoft Windows: 1. Download and install the Rufus tool 2. Run Rufus and connect the target USB drive to the Windows PC 3. Check that the USB drive is detected and shown in the user interface:  4. Click the Select button and browse to the ISO file:  5. Leave all configuration settings at their defaults and click the Start button:  6. When prompted about ISOHybrid image, leave the default ISO Image mode set and click OK:  7. If prompted to download the Syslinux installation files, click Yes:  8. Check that the correct USB drive is being written to and click OK:  9. When the ISO file has been written to the USB drive, Rufus will change the status to READY:  10. Click Close and remove the USB drive from the computer:  The USB drive is now ready to use to install MK.IO Beam. #### Boot from the USB drive - Insert the bootable USB drive with the MK ISO into a USB port on the server. - Boot to the One Time Boot Menu or into the BIOS to configure the server to boot from the USB drive. The exact steps for this will vary between different types of server. Refer to the server manufacturer's documentation for more information. ### ISO installation 1. When first booting to the MK.IO Beam ISO, you will see a screen which shows two options, **Start MediaKind Field Service 2.x** and **Troubleshooting**. Select **Start MediaKind Field Service 2.x** and press the Return key.  2. A dialog will be shown stating that no existing configuration has been found. Wait for 5 seconds and the installation will continue.  3. When prompted to install the bundle, click **OK** to continue the installation:  4. A progress screen will be shown. This process can take 20 minutes or more depending on the speed of the USB drive.  The progress bar may not change for several minutes, this is normal. 5. Once the install process has completed, the server will reboot:  6. The MediaKind Boot Manager will start:  7. Then the AlmaLinux boot screen will be displayed:  8. When prompted to login, MK.IO Beam is installed on the server. # Installing Beam on G8 and G9 servers There is no upgrade path from Aquila to MK.IO Beam, but: 1. MK.IO Beam can be installed on G8 and G9 servers using the MK.IO Beam ISO. 2. Density should be roughly similar to Aquila, but if in doubt, contact Product Management for guidance. 3. MK.IO Beam requires more disk space due to its support for multiple banks and a broader set of default components, compared to a dedicated Live Encoding, Multiplex, or Packager server. 4. Server configurations can be exported from Aquila and, in most cases, will be compatible with MK.IO Beam deployments, with the following caveats: - Aquila V21 Packager service configuration is not fully compatible with V30 Packager supplied with MK.IO Beam, seek guidance from the MediaKind Packager community for migrating Aquila V21 Packager configurations to Beam V30 Packager. - It should be possible to import Aquila Live Encoding service configurations to Beam servers, but json service editing may be required in some cases. - Following the import of Aquila json service configuration, it will be necessary to review and update the associated service for interface usage. (Beam default interface naming may not match the previous Aquila interface naming.) - If advanced parameters were applied to config maps, to affect all services under Aquila deployments, they will need to be reapplied to config maps on the Beam deployment 5. Prior to using the MK.IO Beam ISO, confirm the BIOS is configured appropriately with respect to Real-time clock configuration and specifically for the following options with G9 servers:\ **\[BIOS::Advanced::Processor Configuration]**\ Intel(R) Virtualization Technology=Enabled\ X2APIC=Enabled\ **\[BIOS::Advanced::Integrated IO Configuration]**\ Intel(R) VT for Directed I/O=Enabled\ PCIe Pll SSC=Disabled\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Slot Bifurcation Setting]**\ Riser1\_Slot\_1 Bifurcation=x8x8\ Riser2\_Slot\_1 Bifurcation=x8x8\ Riser2\_Slot\_2 Bifurcation=x8x8\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Misc. Configuration]**\ PCIe ASPM Support (Global)=Disabled\ **\[BIOS::Advanced::Integrated IO Configuration::Processor PCIe Link Speed::Socket 0 PCIe Link Speed]**\ Socket 0, PCIe Port 1a=Gen 3\ Socket 0, PCIe Port 1c=Gen 3\ **\[BIOS::Advanced::Integrated IO Configuration::Processor PCIe Link Speed::Socket 1 PCIe Link Speed]**\ Socket 1, PCIe Port 1a=Gen 3\ Socket 1, PCIe Port 2a=Gen 3\ Socket 1, PCIe Port 2c=Gen 3\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Misc. Configuration::Socket 0 Configuration::Port 1A]**\ Data Link Feature Exchange=Disabled\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Misc. Configuration::Socket 0 Configuration::Port 1C]**\ Data Link Feature Exchange=Disabled\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Misc. Configuration::Socket 1 Configuration::Port 1A]**\ Data Link Feature Exchange=Disabled\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Misc. Configuration::Socket 1 Configuration::Port 2A]**\ Data Link Feature Exchange=Disabled\ **\[BIOS::Advanced::Integrated IO Configuration::PCIe Misc. Configuration::Socket 1 Configuration::Port 2C]**\ Data Link Feature Exchange=Disabled # Installing Beam on XOS Large V2, XOS XLarge V2, HPE DL360, HPE DL325 servers Installing or upgrading to MK.IO Beam 1.16 or later automatically hardens the default BIOS and iLO configuration for known BIOS and firmware versions on XOS Large V2, XOS XLarge V2, HPE DL360, and HPE DL325 servers. The settings are applied during the installation or upgrade process only once and will not be reapplied during subsequent reboots. # RAID and FakeRAID configuration This page covers the disk RAID configurations supported for the MK.IO Beam system drive.Installing a 4- or 8-port Dektec ASI/SDI in a server before checking and changing the following settings could prevent the server from booting up.
RAID vs FakeRAID: With hardware RAID, the controller assembles the array itself and presents it to the OS as a single ordinary disk (
/dev/sdX). With FakeRAID, the controller only stores RAID metadata; the OS assembles the array in software, and it appears as/dev/mdXwith the member disks still visible separately. Check the controller model in the server's RAID/BIOS utility or management console (for example, iDRAC) to determine which type is in use.
## Hardware RAID Hardware RAID has always been supported for the MK.IO Beam system drive. Before 1.14.0 the virtual disk must be created with a 512-byte block size; from 1.14.0 a 4096-byte block size is also supported. Controllers often default to 4096, so check the block size when creating the virtual disk if the server is running an earlier release. ## FakeRAID From MK.IO Beam 1.14.0, FakeRAID is supported for the system drive. The following settings are required:Sector size: From MK.IO Beam 1.14.0, the system drive may use either a 512-byte or a 4Kn (4096-byte) sector size. On earlier releases it must be 512 bytes: installation onto a 4Kn drive fails when the installer mounts the boot partition.
| Setting | Value |
|---|---|
| Sector size | 512 or 4096 |
| OS | RHEL |
| RAID Type | Linux RAID |
| RAID Level | RAID 1 |
| State | Description |
|---|---|
| raised | An alarm is active and triggered. Service may be stopped or the server is down. A backup server may be used if assigned in a failover group |
| cleared | The issue related to the alarm is resolved. This includes restoring services after a failover to a backup server, even if the primary server is down. |
#### Display all alarms and events The **Alarms** page is an overview of all alarms and events. To access the **Alarms** page you can: - Click **Alarms** on the left-side menu to access all **Active alarms**, **Alarm history** and **Alarm overrides**.  - Click **Services** on the left-side menu then click `Alarm` icon in the **Alarm** column to display alarms for a specific service. The Alarm icon is the color of the active alarm with the highest level of severity. - Use the shortcuts in the top-right corner banner.  You can then use the sort options in the table headers or the search bar to filter on specific alarms, services or servers. #### Display alarm history The alarm history for all alarms displays in a tab in the **Alarms** page.See the Service alarms page or the Failover alarms page for specific alarm information.
1. Click **Alarms** from the left-side menu. 2. Click **Alarm History** to view the history for all alarms. 3. Use the sort options in the table headers or the search bar to filter on specific alarms, services or servers. 4. The **Auto refresh** button can be used to control whether new alarms automatically appear in the table. This can be useful to disable on a busy system to stop the screen scrolling. 5. Click the **Download history** button to download a .csv file containing the alarm history. ### Service alarms page You can access the alarms for a specific service from the **Services** page. An icon in the **Alarms** column indicates that there is at least one alarm for the service. Alarm icons use a color code. The color of the alarm icon in the Alarms column is based on the highest severity alarm known for that service. An alarm status icon displays per service in relation to the alarm with the highest severity for that service. More than one alarm may exist for a single service. #### Display service-specific alarms page The service-specific alarms display in a dedicated page that also displays the alarm history for the service. 1. Display **Services**. 2. Click the alarm icon in the **Alarms** column. The service alarms display. ### Failover alarms page If a failover group exists, then certain critical alarms may trigger a failover. You can check alarms for failover groups, and then drill down to alarms to investigate servers and related services. In the [Failover group page](/beam/system-admin/servers/failover#display-failover-groups), the alarm with the highest severity (in relation to the servers in the failover group) displays in the **Alarm Status** column.By default, the alarm history is stored for approximately 7 days, or a maximum of 100,000 alarm events.
#### Display failover alarms page The failover alarms page displays alarms and the alarm history for servers in a failover group. 1. Display the **Failover** page from the left-side menu panel. 2. Click the alarm icon in the **Alarm Status** column. The alarms for the failover group display. You can use failover alarms to determine if a server in the failover group has an alarm, and then if there are service alarms for services running on that server. ## Alarm forwarding (SNMP) SNMP alarm forwarding requires you to define a destination where alarms are sent. ### Display the list of SNMP destination configurations 1. Click `Gear` icon in the upper right corner of the window. 2. Select **Settings** then click the **SNMP notifications** tab. The SNMP destinations display. You can use the search options or column filters to browse the SNMP notification configurations.  ### Add a new SNMP destination 1. Click `Gear` icon in the upper right corner of the window then select **Settings**. 2. From the **SNMP notifications** tab, click **Add destination**. The SNMP destination parameters display. 3. Enter the [SNMP parameters](/beam/system-admin/maintenance/parameters#snmp-parameters-settings-menu) to configure the destination and the version.The alarm display is automatically refreshed every few seconds. All time stamps are in Universal Time (UTC).
5. Save settings to return to the list of SNMP configurations. ### Edit SNMP destination configurations 1. Click `Gear` icon in the upper right corner of the window then select **Settings**. 2. From the **SNMP notifications** tab, click `Edit` icon to display SNMP destination parameters. 3. Edit the [SNMP parameters](/beam/system-admin/maintenance/parameters#snmp-parameters-settings-menu) and save.The parameters that display to edit SNMP destinations depend on the SNMP version.
 _Example of SNMP v3 configuration_ ### Activate/deactivate SNMP notifications 1. Click `Gear` icon in the upper right corner of the window then select **Settings**. 2. From the **SNMP notification** tab, you can activateSNMP notifications either: - tick the **Activate** checkbox from the table where SNMP configurations are listed. - or click `Edit` icon and tick the **Activate** checkbox at the top of the SNMP parameters. ### Delete an SNMP destination server 1. Click `Gear` icon in the upper right corner of the window then select **Settings**. 2. From the **SNMP notifications** tab, click `Delete` icon to delete the SNMP destination configuration. You are prompted to confirm and delete. ## Alarm overridesThe parameters that display to edit SNMP destinations depend on the SNMP version.
You can manually override alarm severity levels. You can also view the alarms that trigger failover. You can filter the alarms using the search bar.The alarm overrides feature requires specific user rights.
### Override an alarm severity You can change the alarm severity to either critical, major, minor, notice or ignore. The initial default severity displays in the **Alarm overrides** tab if you need to revert to the initial default severity setting. Setting an alarm to "ignore" will exclude that alarm type from displaying in the active and historical alarm views. It will also be excluded from the API responses and SNMP traps. The only evidence of "ignored" alarms will be in log files.Changing the Triggers failover value impacts the possibility of a failover occurring.
1. Click **Alarms** in the left-hand menu panel. 2. Click the **Alarm overrides** tab to display options. The following page displays.  3. Click the **Current severity** for the specific alarm to display options. A list of severity options displays.  4. Select a severity from the list. The **Current severity** changes.Changes to severity are only applied to future occurrences. Any current or previously existing alarms are unchanged.
```  ``` ### Reset the alarm severity to the default setting Alarm severity can be manually changed. You can reset the alarm severity to the default setting. Changing the **Triggers failover** value impacts the possibility of a failover occurring.Changing the severity may increase or decrease the possibility of failover occurrence.
1. Click **Alarms** in the left hand menu. 2. Click the **Alarm overrides** tab to display options. 3. Click the **Default severity** for the specific alarm to display options. A list of severity options displays. 4. Select a severity from the list. The **Default severity** changes.Changes to severity are only applied to future occurrences. Any current or previously existing alarms are unchanged.
## Events Events are displayed in the **Alarms** page. Events notify you of actions that do not impede proper functioning. Example of an event when you intentionally start or stop a service:  # Backup and restore Backups include services, templates,failover groups,server definitions and locally defined users. You can back up your configurations to restore a previous configuration (for upgrades or rollbacks or after a server crash, etc.)Changing the severity may increase or decrease the possibility of failover occurrence.
The access to configurations is blocked while a backup or restore is in progress. Up to 30 backup files are supported for local backups. The oldest backup is deleted once 30 backups are detected.
## Backup database configurations Create a backup of MediaKind configurations to save a version locally or on a remote server. ### Display backup MediaKind database options Back up the MediaKind configuration to a local or remote server. Backups include services, servers, templates and users. Backups are time-stamped. 1. Click `Gear` icon in the upper-right corner of the screen. The **System Center** menu displays. 2. Select **Backup**. The Backup Controller Database options display. ### Create a local backup Local backups of MediaKind settings are still accessible even when no remote access is possible. Backups only include the list of servers, services, templates and user configurations. 1. [Display backup options](/beam/system-admin/maintenance/backup-restore#display-backup-mediakind-database-options). **Local Backup** is selected by default. The database backup operation is supported; but copying the exported database and restoring it onto another MK.IO Beam server is not supported.
2. Click **Backup now**. The backup is stored on the local drive. ### Create a remote backup Create remote backups to restore MediaKind settings from a remote server using FTP or FTPS. 1. [Display backup options](/beam/system-admin/maintenance/backup-restore#display-backup-mediakind-database-options). 2. Select **Remote backup**. [Required fields](/beam/system-admin/maintenance/parameters#backup-parameters) are highlighted. 3. Enter the required remote backup settings information.The Host, Port and Path are only required for a remote backup. FTPS is also authorized.
```  ```FTPS is also authorized.
4. Click **Backup Now**. 5. Click **Save and exit** to save your changes. ### Schedule an automatic backup (periodic) Set a schedule to back up the MediaKind database on a regular basis: weekly, daily or hourly. Backup guard times may impact backup availability. 1. [Display backup options](/beam/system-admin/maintenance/backup-restore#display-backup-mediakind-database-options). 2. Select the **Scheduled Backup** tab to define the scheduled backup. 3. Select the **Enable scheduled backup** checkbox. 4. Select the backup schedule time (hourly, weekly, daily and so on).Editing the backup file storage location impacts scheduled backups.
```  ``` 5\. Open the **Backup Location** tab to set the backup file storage settings, if they are not currently configured. 6\. Click **Save and exit** to save your changes. ### Download the Controller database file This tab enables users to download the Controller database file. This file includes Services, Servers, Templates, Failover Groups and Users and indicates the backup of the Controller database at the time stamped date. 1. [Display backup options](/beam/system-admin/maintenance/backup-restore#display-backup-mediakind-database-options). 2. Select the **Download File** tab to download the Controller database file. 3. Select **Local Backup** to download the locally backed up database.The time stamp is based on the current time on the Controller server.
4. Use the **Year/Month/Backup** drop down lists to select the backup instances to download, as follows: 1. From the **Year** drop down list, select the year when the required backup was created. 2. From the **Month** drop down list, select the month when the required backup was created. 3. From the **Backup** drop down list, select the required backup which includes the time stamp with the time and date.  5. Click **Download Now** to begin downloading the file locally. 6. Click **Save and exit** to save your changes. ## Restore configurations Restore configurations for recovery or troubleshooting. You must have already created a local or remote backup in order to restore. Backups are selected based on the backup time stamp.Downloading remote backups is not currently available.
### Display restore options You can restore the MediaKind database configuration from existing local or remote backups. 1. Click `Gear` icon in the upper-right corner of the screen. The **System Center** menu displays. 2. Select **Restore**. The Restore Controller Database page displays. ### Restore configurations from a remote backup 1. [Display restore options](/beam/system-admin/maintenance/backup-restore#display-restore-options). 2. Select **Remote Backup**. 3. Select a **Year** > **Month** > **Backup**.The Database is inaccessible until the restore completes. Only one restore can be launched at a time. Alarms and statistical data are not restored because they are dynamic. The alarms banner is not displayed until the restore completes.
```  ``` 4\. Click **Restore**. The Controller is unavailable to all users until the restore completes. ### Restore configurations from a local backup 1. [Display restore options](/beam/system-admin/maintenance/backup-restore#display-restore-options). **Local Backup** is selected by default.  2. Expand the **Backup** drop-down list to display available backups, then select a backup to restore.Available backups are time-stamped. Be aware of backup guard time configurations to ensure availability.
3. Click **Restore**. All users are temporarily assigned to the [Monitoring user group](/beam/system-admin/security/user-management#user-group-permissions) until the restore completes or is terminated. # Generate a Support Package A Support Package contains files that allow MediaKind support to recreate your system configuration for testing and troubleshooting. On MK.IO the same process is called **Collect device logs**. If the server is managed through MK.IO, you can also generate a Support Package from the MK.IO UI using [Collect device logs](/mkio/how-to/managing-edge-devices/support-packages). That flow runs from the cloud, so you do not need direct LAN or VPN access to the server, and it emails you a download link which can be forward to support.Available backups are time-stamped. Be aware of backup guard time configurations to ensure availability.
## Generate a Support Package from the server UI 1. Go to **Servers** and select a server. 2. In the **Actions** column, click `Package` icon to open the **Support Package generation** page. 3. Adjust the selection marks next to the collectors to control what the package contains. By default all collectors run. 4. Click **Generate** to create a new Support Package. 5. Click **Download** to save a copy of the Support Package. The Support Package Generator creates compressed tar files in the most widely accepted (POSIX-PAX) format.Downloading a Support Package from the Servers page is not supported using Access remote UI. To generate a Support Package through MK.IO, use Collect device logs.
## Collect a Dell SupportAssist CollectionOpen the file with a compliant utility such as 7-Zip (at least v21.07), WinRAR, or Linux
tar. Other tools may corrupt the filenames.
A Dell SupportAssist Collection is a hardware diagnostic bundle gathered from the server's iDRAC. Collect it when you need deeper hardware-level diagnostics than the standard Support Package provides, for example when investigating a suspected hardware fault with Dell or MediaKind support.Generating a Dell SupportAssist Collection with the
collect_dell_support_assist.shscript is available in Beam 1.9 and later.
### Generate a Dell SupportAssist Collection Run the `collect_dell_support_assist.sh` script on the server over SSH, then copy the resulting zip file to your workstation. ### Connect to the server Connect to the server over SSH as a user with `sudo` privileges. ### Run the collection script Run the script as root. The script clears the iDRAC job queue, accepts the SupportAssist EULA, collects the logs from the iDRAC, and exports them to a zip file. Collection can take several minutes. ```shell copy sudo collect_dell_support_assist.sh ``` The script accepts the following options: - `--output-fileIn Beam 1.9 and later, the SupportAssist Collection is included automatically in the Host collector of the Support Package, so you do not need to run this script separately.
## Configure remote metrics To configure the MK.IO Beam device to push metrics to a remote Grafana endpoint, SSH into the server and execute the `configure_prometheus.sh enable` command, specifying the following parameters: - `-–usernameDisabling health monitoring will also disable the remote metrics feature.
## Disable remote metrics To disable remote metrics, execute the `configure_prometheus.sh disable` command. The following commands are also available: - `configure_prometheus.sh show-secret` displays the stored username and password for the Grafana endpoint. - `configure_prometheus.sh update-secret` update the stored username and password for the Grafana endpoint. - `-–usernameThis step will need to be repeated after upgrading the MK.IO Beam software.
## Show alarms in local time Alarm times can be displayed in local time instead of UTC. To configure this, click `Gear` icon in the top right corner then select the **Settings** menu. From the **General** tab, set the **Alarm display time zone** to the required time zone.  # Configuration parameters ## Backup parametersIf you select a component, you will access the related alarm page that will display the active alarms and the alarm history.
| Parameter | Description |
|---|---|
| Host | Remote server hostname or IP address. |
| Port | IP Port for the secure FTP or FTPS connection. Possible values: 1 to 65535 Recommended value: 21 |
| Path | Backup file storage directory on the remote server. This path is a relative path, and must exist on the remote server. Possible values: 128 characters max |
| Username | For the secure FTP connection. Must be a valid secure FTP or FTPS server user. Possible values: 16 characters max |
| Password | Allows the configured username to connect to the secure FTP server. Possible values: 16 characters max |
| Parameter | Description |
|---|---|
| Group name | Enter a unique failover group name for your selected primary and backup servers. |
| Failover level | Whether this failover group should act at server or service level. |
| Group processing type | Select the processing type to display compatible servers. |
| Group mode | In Automatic mode, the system triggers a server failover when a critical alarm occurs (manual triggers are still possible). |
| Parameter | Description |
|---|---|
| Active | activate the SNMP notification to this destination. |
| Notification type | Type of SNMP message (Traps and Inform messages). |
| Name | The name of the SNMP notification configuration (up to 64 characters) |
| IP address | IP Address for the SNMP destination server (Hostnames and FQDNs are not supported). Example: 192.168.1.1 |
| Port | Port used to send SNMP notifications. Range: 0-65535 |
| Version | Select the SNMP version to use. |
| Parameter | Description |
|---|---|
| Community name | Define the community that SNMP notification uses. |
| Parameter | Description |
|---|---|
| Mode | Select authorization and privacy settings. Options: - authNoPriv (authentication but no encryption)- noAuthNoPriv (no authentication and no encryption)- authPriv (authentication and encryption)Note: The Version properties for version 3 vary depending on the Mode. |
| Security Name | Name you want to give this security property. |
| Authorization algorithm | Select the hash-based algorithm. Options: HMAC-SHA HMAC-MD5 |
| Authorization key | Key for the authorization. |
| Encryption algorithm | Select the type of encryption. |
| Encryption key | Key for the encryption. |
| Parameter | Description |
|---|---|
| Name | The name used to identify the router. |
| IP Address | The IP address of the router. This field must be unique. |
| Username | The username used to login to the router via telnet. |
| Password | The password used to login to the router via telnet. |
| Type | The type of router being added to the system. Possible values: Panacea, Platinum or Nevion. |
| Parameter | Description |
|---|---|
| Input Count | The number of input connectors on the router. This will alter the amount of input labels you are able to specify. |
| Label | The user-defined useful label for inputs to the router. Important: The label must match the Input label referred to in the Live Encoder service Input tab. |
| Parameter | Description |
|---|---|
| Output Count | The number of output connectors on the router. This will alter the amount of output connections you are able to specify. |
| Server Name | The name of the server. This name must match an Live Encoder server from the server list. |
| Server Board | The SDI board in the server. Important: This must match the SDI card number in the Live Encoder service. |
| Board Connector | The connector on the SDI board. Important: This must match the Connector in the Live Encoder service. |
## Live service Lineup The lineup file describes a list of sources (including all the parameters needed to capture the source i.e. multicast address and port, input streams, …) to be used with the Media composer input. This configuration is unique per controller and is used by all the Live Encoder services. To import the lineup configuration file, follow these steps: 1. Select **Settings** from the left-side menu panel to expand and display menu options. 2. Select **Live service lineup** from the drop-down menu list. The **Live service lineup** options display. 3. You can either create a new service lineup or import an existing one. - To create a new service lineup, click **Add** then [enter and/or select the appropriate value for each parameter](/beam/live-encoder/parameters/lineup).   - To import an existing service lineup, click **Import** then browse to select a service lineup (json file). 4. In the **Actions** column, you can click the `Edit` icon button to display each service lineup parameters. 5. You can export an existing service lineup: - You can either click the **Export** button then copy/paste the json file. - Or right-click the **Export** button then select the **Save link as** option and browse to select a location. # Set up SDI/ASI cards ASI/SDI cards can be configured for different modes of operation. For example, if there are two 4-port ASI/SDI cards in the same chassis, one card can be configured for SDI/ASI output and the other card for HD or UHD SDI input. ## Set up a 4-port SDI/ASI card The following three modes are supported. #### 4 ASI/HD-SDI/SD-SDI - 4 independent 3G-SDI/ASI ports. Each port can be either SDI or ASI, input or output. Use this mode for 4 independent SDI/ASI ports, each of which can be an input or an output. #### 1 UHD 12G or Quad Link 3G - Port 1 SDI input/output (up to UHD 12G-SDI) or ASI input/output, **or** - Ports 1-4 SDI input/output for Interleaved mode for UHD. For contribution or headend use cases, use this mode for UHD SDI input. For reception use cases, use this mode for UHD SDI output. #### 1 UHD 12G with downconversion This mode is not recommended for contribution or headend use cases. For reception use cases, use this mode for UHD SDI output with downconversion. ## Set up an 8-port SDI/ASI card The following three modes are supported. #### 8 ASI/HD-SDI/SD-SDI - 8 independent 3G-SDI/ASI ports. Each port can be either SDI or ASI, input or output. Use this mode for 8 independent SDI/ASI ports, each of which can be an input or an output. #### Dual 4K channels over 12G-SDI or Quad link - Port 1 SDI input/output (up to UHD 12G-SDI) or ASI input/output, **or** - Ports 1-4 SDI input/output in Interleaved mode for UHD. - Port 5 SDI input/output (up to UHD 12G-SDI) or ASI input/output, **or** - Ports 5-8 SDI input/output in Interleaved mode for UHD. For contribution or headend use cases, use this mode for UHD SDI input. For reception use cases, use this mode for UHD SDI output. #### Dual 12G-SDI with ASI/SDI side channel This mode is not recommended for contribution or headend use cases. For reception use cases, use this mode for UHD SDI output with ASI/SDI output side channel. ## To set the mode of operation of an SDI/ASI card 1. From the MK.IO Beam web UI, select the **Appliance** tab. 2. Select the **ASI/SDI interface** tab. 3. Select the **Slot** tab corresponding to the SDI/ASI card. If more than one card is present, there will be a separate slot tab for each card. 4. Select the **ASI/SDI mode** from the drop-down menu. - [Configure Network Interfaces](/beam/system-admin/network/configure-nics): How to configure network interfaces, static routes, DNS, time synchronization, IGMP settings, and bonded interfaces on an MK.IO Beam device. - [Control Interface Wizard](/beam/system-admin/network/control-interface-wizard): Use the control-wizard command-line tool to configure the Control network interface, set an HTTP proxy, and diagnose connectivity. - [Configure Bonded Interfaces](/beam/system-admin/network/bonded-interfaces): How to configure active-backup bonded interfaces for network redundancy on a Beam device using the command line. - [Configure VLAN Interfaces](/beam/system-admin/network/vlan-interfaces): How to add and delete VLAN interfaces on a Beam device from the UI or command line. - [Configure Jumbo Frames](/beam/system-admin/network/jumbo-frames): How to enable jumbo frames on MK.IO Beam network interfaces by setting the Maximum Transmission Unit (MTU). - [Configure System Clock](/beam/system-admin/network/system-clock) - [Configure Routers](/beam/system-admin/network/router-configuration) # Configure Bonded Network Interfaces You can configure bonded network interfaces for redundancy from the command line. The following instructions show how to create an active-backup bond, which keeps one interface active and the other as a passive backup. If the active interface fails, the backup interface takes over automatically. The example commands use the two 1G onboard NICs available on the E50 and E60 servers (`eno8303` and `eno8403`), and assume that the `eno8303` interface is already configured and working as the management interface. Run these commands using SSH or directly on the terminal. ### Create the bond interface In this example, `bond0` is the name of the bond interface being created. ```shell copy sudo nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup" ``` ### Add the slave interfaces In this example, `eno8303` and `eno8403` are added as slave interfaces. ```shell copy sudo nmcli connection add type ethernet slave-type bond con-name bond0-eno8303 ifname eno8303 master bond0 sudo nmcli connection add type ethernet slave-type bond con-name bond0-eno8403 ifname eno8403 master bond0 ``` ### Configure the IP address of the bond interface The bond interface IP address can be allocated via DHCP or assigned statically. - To use DHCP: ```shell copy sudo nmcli connection modify bond0 ipv4.method auto ``` - To assign a static IP address, use the values currently assigned to `eno8303`. For example: ```shell copy sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.42/24 ipv4.gateway 192.168.1.1 ipv4.dns "192.168.1.99,192.168.1.98" ipv4.method manual ``` ### Activate the bond interface ```shell copy sudo nmcli connection down eno8403 && sudo nmcli connection down eno8303 && sudo nmcli connection up bond0 ``` ### Disable the non-slave connections Disabling non-slave connections prevents them from conflicting with the bond at reboot or after an upgrade. ```shell copy sudo nmcli connection modify eno8403 ipv4.method "disabled" ipv6.method "disabled" connection.autoconnect no sudo nmcli connection modify eno8303 ipv4.method "disabled" ipv6.method "disabled" connection.autoconnect no ``` ### Configure the firewallCertain parameters are Nielsen provided and must be registered with Nielsen. See parameter glossary for details.
- For bonded management ports, set the firewall zone to `control`: ```shell copy sudo nmcli connection modify bond0 connection.zone control && sudo nmcli connection up bond0 ``` - For bonded data ports, set the firewall zone to `data`: ```shell copy sudo nmcli connection modify bond0 connection.zone data && sudo nmcli connection up bond0 ``` The bonded network interface configuration persists on reboot and upgrade when you follow the instructions above. Rebooting after configuration is recommended to confirm that networking continues to function after a reboot or power failure. # Configure network interfaces You can configure network settings from the **System Settings** tab on the server information page: 1. Go to the **Servers** view. 2. Click the **Details** `View` icon button to open the server information. 3. Go to the **System Settings** tab.Firewall zone for bonded interfaces can be set on the UI in Beam 1.9 and later. See Configure network interfaces.
## Set the hostname 1. Enter the new hostname in the **Hostname** field. 2. Click **Save** at the bottom of the page. ## Set IP addresses, subnet masks, gateway address, DHCP, and firewall zone 1. Go to the **Network devices** section on the **System Settings** page. 2. Click the **Edit** `Edit` icon button next to an interface to open its settings. 3. Enable or disable **DHCP**. When DHCP is enabled, the interface IP address and DNS servers are allocated automatically. DHCP-allocated values cannot be edited and are shown for reference only. 4. If DHCP is disabled, enter the IP address and subnet mask in the **Addresses** field using CIDR notation. 5. Optionally, enter the default gateway in the **Gateway** field. 6. Optionally, enter a value in the **Gateway metric** field. Usually this is left blank. 7. Optionally, set the firewall zone in the **Firewall zone** field. Valid values are **control**, **data**, or **control & data (public)**. 8. Click **Confirm**, then click **Save** at the bottom of the page.Changes to network interface configuration can result in the device becoming unreachable.
## Configure static routesWhile you can configure multiple default gateways, this can cause routing issues and should be done with caution. If you define multiple gateways, ensure the Control interface has the lowest gateway metric. In most cases, adding a static route is the recommended way to achieve the desired routing.
You can add static routes to an interface to direct traffic for specific subnets through a particular gateway. This is often a better alternative to configuring multiple default gateways. 1. In the **Network devices** section, click the **Edit** `Edit` icon button for the interface you want to configure. 2. In the **Edit Network Device** dialog, in the **Static routes** section: - To **add** a route, click **+ Add route**. Enter the **Destination (CIDR)** and **Gateway**, then click **Add Route**. - To **edit** a route, click the **Edit** `Edit` icon button next to it. - To **delete** a route, click the **Delete** `Delete` icon button next to it. 3. Click **Confirm** in the **Edit Network Device** dialog. 4. Click **Save** at the bottom of the **System Settings** page to apply the changes. ## Set DNS addresses 1. Go to the **DNS** section on the **System Settings** page. 2. Click the **Edit** `Edit` icon button next to an interface to open its DNS settings. 3. If DHCP is disabled, add at least one DNS server in the **Addresses** field using CIDR notation. DNS servers allocated by DHCP cannot be edited and are shown for reference only. 4. Click **Confirm**, then click **Save** at the bottom of the page. ## Set IGMP version 1. Go to the **IGMP mode** section on the **System Settings** page. 2. From the drop-down, select **Automatic v2/v3** or **Force v2**. 3. Click **Save** at the bottom of the page. ## Set time synchronization See [Configure System Clock](/beam/system-admin/network/system-clock). ## Configure bonded interfaces To configure active-backup bonded interfaces for redundancy from the command line, see [Configure Bonded Network Interfaces](/beam/system-admin/network/bonded-interfaces). # Control Interface Wizard (`control-wizard`) The `control-wizard` is a command-line tool for network configuration on a Beam device. It provides a text-based wizard to configure the primary _Control_ interface, set up an HTTP proxy, and diagnose connectivity issues. This tool is especially useful during the initial setup of a device before the web UI is accessible, or for troubleshooting network problems directly from the terminal. ## Aliases For convenience, you can use shorter commands: - `cw` is an alias for `control-wizard`. - `cs` is an alias for `control-wizard --status`, which runs the wizard in a read-only monitoring mode. ## When to use the wizard You can use the `control-wizard` to: - Set the IP address for the _Control_ interface during initial device setup. - Configure an HTTP proxy if one is required to connect to MK.IO. - Diagnose network connectivity problems from the terminal. - View a real-time display of network interface status. ## Configure the Control IP Address During the initial quick start, if the device has not obtained an IP address via DHCP, you must use `control-wizard` to set one manually. 1. Log in to the terminal with the default credentials. 2. Type `control-wizard` (or `cw`) and press Enter. 3. Follow the on-screen prompts to configure the IP address, subnet mask, and gateway for the _Control_ interface. ## Configure an HTTP Proxy If the device requires an HTTP proxy to reach the internet to connect to MK.IO, you can configure it from the wizard. ### Open the proxy configuration 1. Log in to the device's terminal. 2. Run the `control-wizard` command. 3. Press **P** to configure a proxy. ### Enter proxy details 1. Enter the **Proxy IP Address**, **Port**, **Username**, and **Password** when prompted. 2. Press **Enter** to apply the settings. ### Verify and quit 1. The wizard automatically tests the proxy settings, and the results are displayed on screen. 2. Press **Q** to quit the wizard. ## Diagnose and View Network Status (`cs`) The `cs` command provides a read-only, real-time view of network status, which is useful for diagnosing connectivity issues and monitoring interface state. It is an alias for `control-wizard --status`. When you run `cs`, it displays both the connectivity status to the MK.IO API and the state of local network interfaces, including IP addresses and traffic. This is a useful first step when troubleshooting on-boarding issues. To use the status viewer, type `cs` in the terminal and press Enter.Configuring static routes and gateway metric is possible in Beam 1.9 and later.
# Configure Jumbo Frames Jumbo frames are Ethernet frames with a payload larger than the standard 1500 bytes. Using jumbo frames can improve network performance for high-bitrate video streams by reducing the overhead of packet headers. A common jumbo frame size is 9000 bytes. To use jumbo frames, you must set the Maximum Transmission Unit (MTU) on the network interfaces of your Beam device. You can configure the MTU using the web UI or the command line.Running the full
control-wizard(orcw) for configuration also shows the MK.IO API connectivity test on startup.
## Configure MTU using the UIJumbo frames only work if all devices on the network path, including switches and routers, are configured to support them.
You can set the MTU for a network interface from the **System Settings** page. 1. Navigate to **Servers**, select a server, and go to the **System Settings** tab. 2. In the **Network devices** section, click the **Edit** `Edit` icon button for the interface you want to configure. 3. In the **Edit Network Device** dialog, enter the desired MTU value (e.g., `9000`) in the **MTU** field. 4. Click **Confirm**. 5. Click **Save** at the bottom of the **System Settings** page to apply the changes. ## Configure MTU using the command line To set the MTU from the command line, run the following `nmcli` command. Replace `ens259f2` with the name of the interface you are configuring. ```shell copy sudo nmcli connection modify ens259f2 802-3-ethernet.mtu 9000 ``` # Router configuration The **Router settings** window enables users to configure the router parameters by establishing the connection and control of the SDI Router. This is performed by setting the input labels and using these labels to map the inputs for the Live Encoder services. The output connections must be configured to map the router outputs to the input SDI ports of the encoder servers. ## Display the router configuration settings 1. Click `Gear` icon to display the system center menu. 2. Click **Settings** > **Router settings**. The **Router settings** display.  ## Add a new router configuration 1. Click `Gear` icon to display the system center menu. 2. Click **Settings** > **Router settings**. The **Router settings** display. 3. Click **Add router**. The **Router Configuration** parameters display. 4. Enter the parameters to configure the router.Editing MTU on the UI is available in Beam 1.9 and later.
```  ``` 5\. Click **Create** to save the configuration and return to list of routers. ## Edit an existing router configuration 1. Click `Gear` icon to display the system center menu. 2. Click **Settings** > **Router settings**. The **Router settings** display. 3. Click `Edit` icon to edit the router configuration.For more details on the parameters below, see Router parameters.
```  ``` 4\. Click **Update** to save the configuration and return to list of routers. ## Import a router configuration 1. Click `Gear` icon to display the system center menu. 2. Click **Settings** > **Router settings**. The **Router settings** display. 3. Click **Import router**. The **Import Router** display appears, enabling you to import a router configuration file (yaml) from another system.  4. Click **Select file**. 5. Select the required file then click **Open**. The file appears in the **Import Router** window.  6. Click **Import**. The imported file displays in the list in the **Router settings** tab. ## Export a router configuration 1. Click `Gear` icon to display the system center menu. 2. Click **Settings** > **Router settings**. The **Router settings** display. 3. Click `Download` icon. The **Downloads** window display appears showing the location of the exported router from which can now be used in another system. ## View router crosspoints 1. Click `Gear` icon to display the system center menu. 2. Click **Settings** > **Router settings**. The **Router settings** display. 3. Click `View` icon. The **Router Crosspoints** display, showing the crosspoints set on the router. 4. Select the **Show uncontrolled** checkbox to view the state of the entire router, including the inputs and outputs that have not been labelled or connected. 5. Toggle between Auto **refresh** and **No refresh** to enable or disable an automatic refresh.  6. Click **Back** to return to **Router settings** tab. # How to configure the system clock The system clock is used by all the applications on the unit as both a time reference for different functional operations such as application of Over Air Commands, but also for recording log entries and events. To confirm events and logs are synchronized across a system it is often desirable for customers to synchronize the system clocks of all units within the system to a known reference clock. Where all the units are co-located or where all units have access to a reliable ethernet connection the synchronization is often performed using an NTP source. Where units are remote, or a network connection is not reliable, it is possible to synchronize the system using the TDT within the transport stream. ## Operating modes The following **Time Source** operating modes can be configured from the **System Settings** page on the web UI. ``` - Free running - NTP - PTP - TDT ```For more details on the parameters below, see Router parameters.
### Free running The time is set on the unit when the server is manufactured. The system clock will continue to increment based on the clock accuracy of the motherboard clock within the unit. ### NTP When set to NTP and a valid IP address of an NTP server has been configured, the server will attempt to adjust the system clock to be aligned to the time provided by the NTP messages. If no valid NTP messages are received or if the messages stop after a period of time, the unit will free run from its current time. If the unit was previously adjusting, this adjustment will be stopped until valid NTP messages are resumed. ### PTP When set to PTP, the device will synchronize its system clock with a PTP Grand Master. ### TDT When set to TDT and a service has been selected containing a valid TDT component, the unit will attempt to adjust the system clock to be aligned to the time provided in the TDT. Operation of locking the system clock to the incoming TDT is the same as for NTP. See Select the TDT source. ## Initial status and set up  ## Select the TDT source - Go to the **Time sources** section on the **System Settings** page. - Select the **TDT** tab. - Select the **Service name** from the drop-down menu. - To set TDT as the time source, click on the **Make active** button, then click the **Save** button at the bottom of the page to save the change. ## Configure NTP servers - Go to the **Time sources** section on the **System Settings** page. - Select the **NTP** tab. - To add a new NTP server, click **+ Add NTP server** then enter the NTP server's IP address in the **Address** field then click **Confirm.** - To update the IP address of an existing NTP server, click the **Edit** `Edit` icon button next to that server, then update the IP address in the **Address** field. - Confirm the changes by clicking on **Confirm,** then to save the changes, click the **Save** button at the bottom of the page. - To set NTP as the time source, click on the **Make active** button, then click the **Save** button at the bottom of the page to save the change. ## Configure PTP synchronization - Go to [Configure PTP for ST-2110](/beam/contribution/how-to/setup-smpte-2110-input#configure-ptp-for-st-2110) ## Set up the system to operate in Free Running Mode - Go to the **Time sources** section on the **System Settings** page. - Select the **Free Running** tab. - Click the **Disable time synchronization** button, then click the **Save** button at the bottom of the page to save the change. ## Clock Detection  ## Clock Synchronization  # Configure VLAN Interfaces VLANs (Virtual LANs) allow you to segment your network by isolating traffic into different broadcast domains on the same physical network infrastructure. You can add and delete VLAN interfaces on your Beam device from the web UI or the command line.All services and functions running on the server use a single system clock and will be affected by the system clock setting.
## Configure VLANs using the UI You can add, edit, and delete VLAN interfaces from the **System Settings** page. To rename an interface or change its VLAN ID or parent interface, you must add a new interface and delete the old one. ### Add a VLAN interface 1. Go to **Servers**, select a server, and open the **System Settings** tab. 2. In the **Network devices** section, click **+ Add VLAN interface**. 3. In the **Add VLAN Interface** dialog, select the **Parent Interface** and enter the **VLAN ID**. 4. Click **Add VLAN interface**. The new interface appears in the list. 5. Configure its settings, such as IP address and firewall zone. See [Configure network interfaces](/beam/system-admin/network/configure-nics) for details. 6. Click **Save** at the bottom of the page to apply the changes.Configuring VLANs from the UI is available in Beam 1.9 and later.
### Delete a VLAN interface 1. Go to **Servers**, select a server, and open the **System Settings** tab. 2. In the **Network devices** section, find the VLAN interface you want to remove and click its **Delete** `Delete` icon button. 3. In the confirmation dialog, click **Yes, delete it!**. 4. Click **Save** at the bottom of the page to apply the change. ## Configure VLANs using the command line To manage VLANs from the command line, use the `nmcli` tool. Run these commands using SSH or directly on the device terminal. ### Add a VLAN interface ### Create the VLAN interface Create the VLAN interface with the `nmcli connection add` command. You must specify a connection name, an interface name, the VLAN ID, and the parent physical device. - `con-name`: A descriptive name for the connection, for example `vlan10`. - `ifname`: The name for the new VLAN interface, for example `eth0.10`. - `id`: The VLAN tag number, for example `10`. - `dev`: The parent physical interface, for example `eth0`. This example creates a VLAN with ID 10 on the `eth0` interface: ```shell copy sudo nmcli connection add type vlan con-name vlan10 ifname eth0.10 id 10 dev eth0 ``` ### Configure the IP address After creating the interface, configure its IP address. You can use DHCP or assign a static IP. - **To use DHCP:** ```shell copy sudo nmcli connection modify vlan10 ipv4.method auto ``` - **To assign a static IP address:** ```shell copy sudo nmcli connection modify vlan10 ipv4.addresses 192.168.10.50/24 ipv4.gateway 192.168.10.1 ipv4.method manual ``` ### Configure the firewall zone Assign the VLAN to a firewall zone based on its purpose. - For a VLAN on a management port, set the zone to `control`: ```shell copy sudo nmcli connection modify vlan10 connection.zone control ``` - For a VLAN on a data port, set the zone to `data`: ```shell copy sudo nmcli connection modify vlan10 connection.zone data ``` ### Activate the interface Activate the new VLAN connection to apply the configuration. ```shell copy sudo nmcli connection up vlan10 ``` ### Delete a VLAN interface To remove a VLAN interface, delete its `nmcli` connection. This action removes the VLAN interface and its configuration. ```shell copy sudo nmcli connection delete vlan10 ``` - [User Management](/beam/system-admin/security/user-management) - [LDAP Management](/beam/system-admin/security/ldap-management) - [SSL Certificates](/beam/system-admin/security/ssl-certificates) # LDAP management ## LDAP configuration By default, accessing the Controller user interface is restricted to people that have a user account defined through the MediaKind system center. You can also configure the user access by retrieving user credentials from an existing LDAP server directory. 1. Log in as a user with Administrative privileges. 2. Click `Gear` icon in the upper right corner of the window. 3. Select **Settings**. The Settings page displays 5 tabs: 4. In the **LDAP** tab, configure the LDAP settings to integrate with the local LDAP server. The new interface is automatically named in the format
<parent_interface>.<vlan_id>, for example,eth1.100.
## Loading LDAP certificates If LDAP certificates are being loaded, configure LDAP on the settings page, then load the certificates.After changing the LDAP settings, for changes to take affect, the authentication service must be restarted. Either restart the Controller, or consult MediaKind Services for guidance on restarting the correct services for your deployment.
1. On the controller server, place the LDAPS certificates in /etc/pki/ca-trust/source/anchors/ 2. Run the following command: ``` update-ca-trust extract ``` This will extract it to the standard OS trust store location (default path used in the controller UI): ``` /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem ``` 3. Edit the config file to set the right values: ``` /opt/mediakind/utility/bin/controller/ldaps.conf ``` The conf file must contain the fully qualified domain name for the LDAP server (same as in the certificate) and the IP address of that server. ``` ############################################################################### # # # Config file used by add-ldaps-certs.sh # # Needs to be populated by the customer specific parameters # # # ############################################################################### # newLDAPServerName must be fully resolvable # FQDN that matches the provided root CA newLDAPServerName=ldaps.sou.new newLDAPServerIP=10.1.1.1 deployment=unified-ui ```For HA deployment, the following procedures must be done on both controller servers.
| LDAP Field | Description | Example value |
|---|---|---|
server |
Address of the LDAP server to communicate with. | ldap://fr-my.companydomain.com:389 |
Bind DN |
Distinguished name to use when binding to the LDAP server; leave empty (default) for an anonymous bind. | CN=apache, OU=COM, OU=Sites, DC=companydomain, DC=com |
Bind password |
Password to use for binding with protected binding; leave empty (default) for anonymous binding. | Password123 |
Search base DN |
DN to use when binding to the server in order to perform searches. Leave empty for anonymous binding. | OU=COM, OU=Sites, DC=companydomain, DC=com |
Username field |
Name of the field to use in the LDAP search, for username matching (against LDAP attributes). | sAMAccountName |
Firstname field |
Name of the field (from LDAP attributes) holding the user’s first name. | givenName |
Lastname field |
Name of the field (from LDAP attributes) holding the user’s last name. firstname_field & lastname_field shall be used together, or they will be ignored. firstname_field & lastname_field can be used to retrieve the user’s full name. This will then be displayed instead of the username once the user is logged in. |
sn |
CA certificate file |
Location of the CA certificate file used to verify the LDAP server’s certificate when using TLS or LDAPS. | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
Cipher suite |
Open SSL-format string defining the list of ciphers to use for TLS communication. | kEECDH+aECDSA+AES:kEECDH+AES+aRSA:kEDH+aRSA+AES:-SSLv2:-SSLv3:-TLSv1:-TLSv1.1 |
Required group |
The LDAP group required for a user to be able to log in. | cn=lcl.cnt.dfw.di.mediakind.allowlogon, ou=Resources,ou=Groups, ou=MediaKind,ou=CP, dc=example,dc=org |
Group search |
The filter used to search for required group. | dc=example, dc=org |
Default group |
A Controller group assigned to a user that has logged in via LDAP. Mutually exclusive with ldap_group_mappings section. |
Monitoring |
Group type |
The type of group used to search through LDAP. NestedActiveDirectoryGroupType and GroupOfNames are supported if anything other than NestedActiveDirectoryGroupType it will default to GroupOfNames |
NestedActiveDirectoryGroupType |
LDAP group mappings |
A section that can be used to control authorisation through LDAP groups. Configure group_search (and don’t use default group). In the example, any user that belongs to the LDAP group MK_Configuration will be given the privileges for the Controller group Configuration. |
LDAP group |
MK_Admin |
Admin |
|
MK_Configuration |
Configuration |
|
MK_Monitoring |
Monitoring |
| Parameter | Value |
|---|---|
CERTS_input_file_location |
This is the place where the .key and .crt files should be placed. |
client_KEY_file, client_CRT_file, CA_auth_file |
Customer files; needs to be updated to show the actual file names used. |
http_deployment |
In the current deployment, this is always api-gateway so no need to change. |
### User groups A user group is a set of access rights and permissions. Permissions authorize users to either display or edit configurations. Users are assigned to at least one user group. A user can be assigned to multiple groups.Menu options depend on your processing type and product installation.
### User group permissions There are 3 default user groups. Permissions are either Read (R), Write (W), or Read and Write (R/W). Yes means the user group can carry out the action, but may be limited to specific options.New users are automatically assigned to the Monitoring group.
User group options depend on your processing type and product installation.
| Admin | Configuration | Monitoring | API | |
|---|---|---|---|---|
| Services | R/W | R/W | R | R/W |
| Servers | R/W | R/W | R | R/W |
| Templates | R/W | R/W | R | R/W |
| Failover | R/W | R/W | R | R/W |
| Alarms and Stats | R | R | R | R |
| Settings | R/W | N/A | N/A | R/W |
| Restore | Yes | Yes | No | R/W |
| Backup | Yes | Yes | Yes | R/W |
| User Management | R+W | N/A | N/A | N/A |
**Monitoring** users can (based on Failover control privilege): - View groups - View group details - View failover audit history - Trigger manual failover - Trigger a manual revert - Trigger a maintenance mode **Configuration** users (based on Failover configuration privilege): - View groups - View group details - Trigger manual failover - Trigger a manual revert - Trigger a maintenance mode - Create groups - Edit groups - Delete groups - Edit default failover mode - Edit timeout periodAdmin users have all rights.
| Group | Services | Servers | Templates | System Center | Restore | Backup | User Management |
|---|---|---|---|---|---|---|---|
| Admin | R+W | R+W | R+W | R+W | Yes | Yes | R+W |
| Monitoring | R | R | R | N/A | No | Yes | N/A |
| Configuration | R+W | R+W | R+W | N/A | Yes | Yes | N/A |
### Assign a user to a group Groups are a set of access rights and permissions. Permissions authorize users to either display or edit configurations. Give a user access rights by assigning the user to a group. 1. [Display users](/beam/system-admin/security/user-management#display-the-list-of-users). 2. Click the user in the list to display user information and permissions. 3. Scroll to **Permissions** then use the arrows to add the group to the list of **Chosen groups**. You can add multiple groups, or click **Choose all** to assign the user to all available groups.  4. Click **Save**. ### Link LDAP or Active Directory The MediaKind Controller can be linked with an external server (LDAP or _ActiveDirectory_) to identify and authenticate users. If activated, the authentication page displays before granting access to the **Home** page.An Admin user can edit or create other Admin users and profiles, including passwords and permissions.
1. See [LDAP configuration](/beam/system-admin/security/ldap-management) for LDAP configuration procedures. 2. Follow the steps. When users are first installed from the LDAP or _ActiveDirectory_ server, they are by default, automatically assigned to the Monitoring group. The default group can be configured. Alternatively, LDAP can be configured to assign groups based on LDAP group membership. Administrators can [edit user groups](/beam/system-admin/security/user-management#editing-user-information) to [manage permissions](/beam/system-admin/security/user-management#user-group-permissions) and access rights. ### Editing user information 1. [Display users](/beam/system-admin/security/user-management#display-the-list-of-users). 2. Select a **User**. 3. Edit the user information: - **Username** - **Password** - **Personal information** - [Permissions](/beam/system-admin/security/user-management#user-group-permissions) 4. Select a save option to continue or exit.The LDAP connection parameters are defined in a dedicated configuration file. If using LDAP, the MediaKind Controller neither stores nor manages user passwords that are managed by the external LDAP server. Users defined on the external server can coexist with locally defined users.
### Edit a user password Any user can edit their password, but only users with admin or configuration permissions can edit passwords for other users. 1. [Display the list of users](/beam/system-admin/security/user-management#display-the-list-of-users) in the System Center. 2. Click the current **Admin** user from the list to edit. 3. Click the **this form** link to change the password.  4. Edit user profile settings then click **Save**. ## Save options for user managementAn Admin user can edit or create other Admin users and profiles, including passwords and permissions.
| Save option | Result |
|---|---|
| Save** | The user is added to the list. |
| Save and continue** | Additional user information displays (groups and permissions). |
| Save and add another | User is added to the list and the add user page is refreshed to add another new user. |
### Timestamps - All timestamps are in **Universal Time (UTC)**. - Failover servers are [selected and grouped](/beam/system-admin/servers/failover#create-a-failover-group) according to processing type. - [User permissions](/beam/system-admin/security/user-management#user-group-permissions) are required to edit failover groups, or to failover or revert. - If the server has no services assigned, then **default user rights for failover** apply. ### Triggers - Automatic failovers are triggered by alarms that are marked as “triggers failover”. - By default, all critical alarms will trigger failovers. See [Alarm overrides](/beam/system-admin/maintenance/alarms-events#alarm-overrides) for more details. ## Display failover groups 1. Click **Failover** from the left-side menu pane. Failover groups display in the table. Packager redundancy is managed by the Packager application (cluster of servers). The Controller is not involved in Packager redundancy.
2. Click `View` icon in the **Actions** column to display details.The alarm icon displays the alarm status for the highest severity alarm based on the servers in the failover group.
## Display a failover summary The failover summary table shows progress and status for failover procedures. 1. Click **Failover** from the left-side menu pane. Failover groups display. 2. Scroll to the bottom of the page to display the **Failover summary** table. All time stamps are in Universal Time (UTC).
3. Click `View` icon in the **Actions** column to display details. ## Create a failover group 1. [Display failover groups](/beam/system-admin/servers/failover#display-failover-groups). 2. Click **Add group...** 3. Enter a [**Group name**](/beam/system-admin/maintenance/parameters#failover-parameters). 4. Select a [**Failover level**](/beam/system-admin/maintenance/parameters#failover-parameters). 5. Select a [**Group processing type**](/beam/system-admin/maintenance/parameters#failover-parameters) for the servers in the group. 6. Select a [**Group failover mode**](/beam/system-admin/maintenance/parameters#failover-parameters).All time stamps are in Universal Time (UTC).
```  ``` 7\. Select available servers, and use the arrows to define the list of primary and backup servers. The new failover group displays in the list.The default Group failover mode is Automatic. You can manually trigger a failover, or revert, even in Automatic group failover mode.
## Edit a failover group 1. [Display failover groups](/beam/system-admin/servers/failover#display-failover-groups). 2. Click `Edit` icon. The **failover setup** page displays.You can use the search option to display and select specific servers (for example, per processing type).
3. Edit the [group settings](/beam/system-admin/servers/failover#create-a-failover-group) configuration.Edit options are only available when Server settings are modifiable. If there is no button, check user rights or contact an administrator.
```  ``` 4\. Edit the server selection for primary and backup servers, then click **Save and exit**. The group is added to the list. ```  ``` ## Request a failover or a revert between servers manually Before you start: At least one [Failover group exists](/beam/system-admin/servers/failover#create-a-failover-group).
- Failover level can only be changed if there is no active failover for this group (no services assigned to a backup).
- Group processing type cannot be changed.
1. [Display failover groups](/beam/system-admin/servers/failover#display-failover-groups). 2. Click `View` icon to display details. 3. Click `Left/Right` icon to failover to backup servers, or revert to primary servers. You are prompted to continue. 4. A modal pop-up is displayed, showing progress and success/failure of this operation. 5. When complete, confirm that the assigned servers are correct, by checking the [services page](/beam/web-interface/services#display-services).User permissions are required to request a failover or a revert. If the server has no services assigned, then default user rights for failover apply.
If the failover group is service-level, manual failover and revert can be done from the services page.For a service-level group, manual failover/revert behave exactly as for a server-level group; all services on the primary server will be moved to the backup. All services on the backup server will be moved back to the configured primary (whether all services due to a manual failover, or service(s) which have been automatically moved in response to an alarm).
1. From the **Services** page, click `Ellipsis` icon to show more actions on the service you want to failover or revert. 2. Click on the `Service failover` icon (failover) or `Service revert` icon (revert) icon to perform the action. Only the icon for the available action is displayed. 3. Click **Yes** to confirm the action. 4. A modal pop-up is displayed, showing progress and success/failure of this operation.Manual service failover/revert is only available for services that are assigned to a single server.
## Select failover trigger settings By default, a failover is triggered for any critical alarm. You can select the failover trigger option for any alarm. This also applies to alarms that you have changed from the default alarm severity.If multiple services are selected, the failover/revert action is only available if all selected services are on the same server.
1. Click **Alarms** in the left hand menu. 2. Click **Alarm overrides** to display options. The following page displays.  3. Select a response for **Trigger failover**.  # Manage servers The **Servers** view displays system information to monitor and manage servers. The statuses indicate server availability: **connected** or **connection lost**. ## Server StatusChanges to severity are only applied to future occurrences. Any current or previously existing alarms are unchanged.
- Administrators can click the **Delete** `Delete` icon button to remove a server that is no longer in use in the system. - You can use the **Reboot** `Reload` icon button to restart the server by clicking **Yes** at the displayed **Are you sure?** confirmation message. - Click the **Details** `View` icon button to display the server information ([Display server information (system)](/beam/system-admin/servers/servers#display-server-information-system)). - Click the **Stats** `Chart` icon button to view server statistics, such as CPU, memory, disk usage, and network statistics. - Click the **Support package** `Package` icon button to [generate a support package](/beam/system-admin/maintenance/generate-support-package). - If the connection is lost when the server is in a failover group then check if failover occurred. - You can also check alarms or alarm history to investigate possible causes. - You can also check server information for IP configurations. ## Server processing types Additional processing types are available from the **Servers** page.The actions available are dependent on the installation type, server type and the user role.
| Processing type | Required Software |
|---|---|
| Controller | Controller provides a centralized configuration and control interface, manages failover for Live Encoder, and offers a flexible licensing management for MediaKind applications. |
| Arbiter | A server which is fulfilling the role of the database arbiter. |
| Directory | Purpose |
|---|---|
bin/ |
Executables |
lib/ |
Libraries |
etc/ |
Configuration files |
install/ |
Hooks for modifying other parts of the system on restore |
| Directory | Applied on |
|---|---|
rpms/el8/ |
Enterprise Linux 8 (e.g. AlmaLinux 8) |
rpms/el10/ |
Enterprise Linux 10 (e.g. AlmaLinux 10) |
# TS Splicing A **TS Splicer** (Transport Stream Splicer) dynamically substitutes content within a live MPEG-2 Transport Stream without decoding and re-encoding the video. It works at the compressed domain, swapping content from one source with content from another in response to SCTE-35 trigger signals or a schedule. MK.IO Beam's TS Splicer enables seamless insertion, replacement, or switching of MPEG-TS content within a live workflow. It supports alternate content and blackout management as well as linear ad insertion, maintaining stream continuity and standards compliance throughout. ## Alternate content and blackout TS Splicer uses linear stream switching inline with CableLabs ESAM specifications (version 2013) to manage alternate content and blackout scenarios. Content substitution can be initiated in two ways: - **Time-based:** The POIS (Placement Opportunity Information Service) instructs TS Splicer to switch to blackout or alternate content at a specified time. In this mode, known as ESAM out-of-band, no SCTE-35 signal is required. - **Signal-based:** On detecting an SCTE-35 signal, TS Splicer sends an ESAM request for each configured output group. Each output group has distinct ESAM parameters, so the POIS reviews its schedule and cross-references it with the SCTE-35 signal. If there is a match, the POIS directs the output group to switch to blackout or alternate content as defined in the schedule. Example use cases: - **Sport blackout:** A sports channel is replicated across multiple geographical areas. Although each area receives an identical stream, unique ESAM parameters characterize each. Based on a pre-determined schedule, certain regions enable blackout to comply with rights restrictions or regional viewing guidelines. - **Content regionalization:** At specific times, a national channel distributes localized content to different regions. See [Placement configuration](/beam/ts-splicer/placement) for how to set up blackout and alternate content rules. ## Linear ad insertion Linear ad insertion replaces a segment of the primary content with an advertisement in response to SCTE-35 triggers. Similarly to the blackout mechanism, an input channel is duplicated based on the number of geographical zones it serves. TS Splicer supports three ad insertion modes: - **SCTE-30:** Communication with legacy ad servers using the SCTE-30 standard. - **VAST:** Connects directly to a digital Ad Decision Server (ADS), unifying ad insertion for both broadcast and OTT workflows. - **ESAM (extended):** Uses a MediaKind extension of the ESAM format that returns a content list rather than a single alternate content ID. This mode combines at-the-edge linear schedule ingest with splicing. MK.IO Beam manages the linear schedule ingest, while TS Splicer handles the splicing. ## Dual output prevention When two TS Splicer instances are deployed in an active/active configuration, MK.IO Beam provides dual output prevention using the Multicast Guard Protocol (MGP). This ensures only one instance has its output enabled at any time, preventing duplicate multicast on the same network. ## Where TS Splicer fits in a workflow A TS Splicer sits downstream of encoding, receiving a live transport stream and delivering conditioned output to distribution. For workflows where SCTE-35 event management, signal normalization, and rewriting are needed before the TS Splicer, MK.IO Beam's [SCTE-35 Rewriting](/beam/stream-conditioning) capability handles that upstream layer. # Configure advanced parametersAll scripts are executed with root privileges. A faulty script can leave the system in an unbootable state. Ensure all scripts are reviewed and tested before deployment.
1. From the **Advanced parameters** tab, enter a parameter name then enter its value. 2. Optional: You can click the **Add** button to add additional advanced parameters. 3. Click **Save and continue** or **Save and exit** to save your changes. # Configuring Alternate content sources Blackout and alternate content switching is managed using ESAM (standard) communication interface. As an example, below is the response TS Splicer receives from a POIS (either in an out-of-band fashion, or following the SCTE-35 submission): ```xmlWarning: Setting advanced parameters can have unexpected results. Contact Mediakind before changing
Check which interface you are usingThe MK.IO Beam interface is designed for operators to simplify and accelerate feed configuration and control. The interface allows viewing all the running services as well as alarms and warnings in a single view. You can easily start or stop the services without navigating to the sub-menus. ## Home page When you connect to MK.IO Beam, the **Home** page is displayed:  At the first connection, no feeds are created. ## Add a feed To add a feed, follow these steps: 1. Click the **Add feed** icon. A new window is displayed. 2. You can either: - [Create a feed using default configurations](/beam/web-interface#create-a-feed-using-default-configurations). When creating a feed for the first time, use this method. - [Reuse a saved configuration](/beam/web-interface#reuse-a-saved-configuration). ### Create a feed using default configurations To add a feed, follow these steps: 1. Under **Feed types**, select a feed type. The selected template is surrounded by a blue frame. 2. Enter a name for that feed then click the **Add feed** button. A new feed is displayed on the Home page. This feed has some basic predefined settings for Live Encoder and Multiplexer components, but you will need to complete and configure some parameters. ### Feed monitoring panel Once you have created a feed, it is added to the **Home** page. For each feed, the following information is displayed:  Depending on the feed status, the feed monitoring panel color may change. For more information on alarms, see [Manage alarms](/beam/system-admin/maintenance/manage-alarms).  ### Reuse a saved configuration Before you start: ensure [you have previously saved an existing configuration.](/beam/web-interface#save-an-existing-feed-configuration) To reuse an existing configuration, follow these steps: 1. Select the saved configuration from the list in the **Saved Configuration** section of the **Add Feed** dialog. 2. Set the **Feed name**. 3. Click the **Add feed** button. A new feed is displayed on the Home page. This feed can be edited, started, saved, or downloaded. ## Save an existing feed configuration You can save an existing feed configuration. The saved configurations can then be reused thus facilitating a new feed configuration process. To save a feed, follow these steps: 1. From the Home page, select a feed then click `Ellipsis` icon then select **Save Configuration** from the menu.  A new window is displayed.  2. Enter a **Name** and a **Description** then click **Save**.This page documents the Advanced interface, where a workflow is configured as a feed made up of individual services. On Beam
1.12.0and higher, the Essentials interface manages the same workflows as channels instead, and a toggle in the top right of the header switches between the two. If your device shows channels rather than feeds, start at Beam Essentials UI.
3. Click **Save** to validate. A message informs you that the configuration was saved. You can access the saved configurations by clicking the **Manage configurations** link in the top right corner of the Home page. Saved configurations can then be renamed, deleted, or downloaded. ## Export an existing feed configuration To export an existing channel configuration, follow these steps: 1. From the Home page, select a feed then click the `Ellipsis` icon then select **Download Configuration** from the menu.  A new window is displayed.  2. Enter a **Name** and a **Description** then click **Download**. 3. Locate the folder where you want to export the configuration, enter a file name then click **Save**. The configuration is downloaded. The exported configurations can then be sent by email, imported on the same device or onto another device. ## Import an existing feed configuration Before you start: ensure [you have previously exported a feed configuration.](/beam/web-interface#export-an-existing-feed-configuration) To import a configuration, follow these steps: 1. From the Home page, click the **Manage Configurations** in the top right corner. 2. You can either: 1. Drag and drop a configuration file, 2. or click on the **Add from file** area. A file explorer will be shown, select your file from the file explorer. This new configuration is added to the saved configurations. You can change the name and description. ## Show active feeds on top The home page displays a maximum number of 32 feeds. You can toggle the **Show running feeds at the top** button to display the active feeds at the top of the home page. ```For the Description, we recommend entering useful details that will help to know what parameters are set.
``` ## Delete a ghost feed from the Home page It is best practice to delete and create feeds from the Home page. - When a user starts services from the service page, the thumbnails on the Home page will not be updated until the feed is started again from the Home page. - When a user deletes a service from the service page, the feed on the MK.IO Beam home page remains present and has to be deleted manually. To delete such a feed, follow these steps: 1. Go to the Home page. The feed will still be shown on the homepage, with a warning displayed.  2. Click `Ellipsis` icon then select the **Delete feed** option. # Connect to the Controller 1. Open a web browser. 2. Enter the access URL, then press Enter. Your access is either HTTP or HTTPS depending on your security settings. - **HTTP example:**\ `http://[IP-Address]:8080` or `http://[IP-Address]:30020` for containerized solutions. - **HTTPS example:**\ `https://[IP-address]:8443` or `http://[IP-Address]:30001` for containerized solutions. 3. When the login page displays, enter your **username** and **password**. Default admin user login information: - **Username**: admin - **Password**: admin The **Home** page displays.This setting is retained per browser session and will need to be re-enabled after closing and re-opening the browser.
# Menus and navigation ## User interface orientation Features, menus and options vary depending on your product and the MediaKind components installed. ### Home page and dashboard overviews The **Home** page displays a dashboard with overviews for services, servers, templates and alarms. Click an overview to link to the related page.  ### Health indicator and alarms banner The Health indicator and alarms banner displays in the upper right corner of the screen. Health indicator status: - Green: everything is OK. - Amber: something needs attention. - Red: something isn't working. Functionality could be limited. If the indicator is amber or red, alarms will also be triggered.We strongly recommend that you change the default password to increase security. Password can be changed by clicking the user account on the upper right corner of the window.
### System Center for solution administration The **System Center** menu provides access to administration features. Administrators can manage users, system backups and restore options, as well as monitor servers, and manage settings. To access the **System Center**, click the `Gear` icon in the top right corner. The displayed menu includes a number of options for system administration and monitoring. Features are available depending on your user rights.You can click the Health indicator or the Health left menu to display an embedded Grafana page showing an overview of Controller health.
| Group | Restore | Backup | User Management | Settings |
|---|---|---|---|---|
| Admin | Yes | Yes | R+W | Yes |
| Monitoring | No | Yes | N/A | Yes |
| Configuration | Yes | Yes | N/A | Yes |
**Related information**\ [Create a service from a template](/beam/live-encoder/create-service#create-a-service-from-a-template) ### Failover You can configure **Failover** settings and groups for redundant systems. Go to the Failover display table to view running states and alarm statuses. You can edit any service configuration, even if the parameters were created from a template. Deleting a template has no impact on existing services created from that template. Configurations and parameters in templates vary per service type.
**Related information**\ [Manage failover](/beam/system-admin/servers/failover) ### Reports The reports menu provides access to specific information. You can export the report to a .csv file.
- All timestamps are in Universal Time (UTC) but you can customize them (see Alarm display time).
- To optimize performance, do not exceed 100 servers per failover group.
### Settings You can access additional menus from the **Settings** menu. This menu only displays if the Packager or Live Encoder components are used. **Related information**\ [Service settings](/beam/system-admin/maintenance/service-settings) ### Health The Controller utilizes Prometheus and Grafana to enhance monitoring capabilities. The Health page presents a dashboard with various indicators to effectively monitor your solution. This page will look different depending on the deployment type. - The **At a glance** section displays key indicators for the Controller framework and service health including **Disk Space Used**. Alarms are triggered at 60% disk space usage, with critical alarms at 90%. Health indicators are also provided for the key-value store (etcd), the database (Mongo) and the message queue (Rabbit), as well as uptime CPU, CPU and memory usage. - Details on any alerts raised by the Controllers are also shown. - Additional expandable indicators offer more detailed information for advanced troubleshooting. At the top of the page, variables allow control over the displayed data. The **Data source** is particularly useful as it determines which Controller is used to serve the data.  ### External links to third-party tools Access third-party tools directly from the Controller. Once added to the system, external links are available from the left side menu panel. # Manage services A service is a set of parameters required for a given processing type. Services can be manually started and stopped. You can access services from the **Home** page dashboard or the left-side menu panel. ## Display services Services are listed in a table and are associated to a specific processing type. Service parameters and options depend on the processing type. Before you start: ensure at least one service is configured. To display services, follow these steps: 1. Click **Services** in the left-side menu panel. The table of services displays. 2. To easily find a service or refine the display, you can then: - Use the [search bar](/beam/web-interface/navigation#use-the-search-bar); - Filter by specific fields (such as tag, status, processing types, resource, source, animation, alarm level); - Show/hide columns by clicking `Ellipsis` icon at the right of the table headings; - Sort the table using the up and down arrows next to each column heading. ## Edit a service To edit a service, just click the name. It takes you to the service editing page. ## Create a service Service configurations vary per processing type. See the specific component documentation for detailed information about service creation. 1. From the **Services** page, click **Add Service**. 2. Select a processing type. The service parameter options display. 3. You can configure the service parameters. 4. Once you have completed the service configuration, click **Save and exit**. 5. You can [assign a server](/beam/web-interface/services#assign-a-server-to-run-the-service) to the service. Multiple servers may be assigned to a same service. 6. You can use the buttons in the action column to [start](/beam/web-interface/services#start-a-service) or [stop](/beam/web-interface/services#stop-a-service) the service. ## Assign a server to run the service Services require a server to run. Select a server for each service before starting the service.Menu displays vary depending on your product installation.
### Typical use case, a service is assigned to one or more servers 1. From the **Services** page, click **Add Server** in the **Resources** column to display the available servers. 2. Tick one or more servers from the list then click **Save**. The selected servers are shown in the **Resources** column. 3. You can start the service. ### In case of redundant outputs (Live Encoder) 1. From the **Services** page, go to the **Resources** column then click **Add Server** to display the available servers. 2. Select a server from the list then select either **Set Primary** or **Set Secondary**. **Related information**\ [Create redundancy variants](/beam/live-encoder/configure#create-redundancy-variants) ### In case of variants (Live Encoder) 1. From the **Services** page, go to the **Resources** column. 2. Only servers that match the server tags for subsets are offered. 3. Select a server from the list. **Related information**\ [Create server variants](/beam/live-encoder/configure#create-subset-variants) ### In case of variants and redundant outputs (Live Encoder) 1. From the **Services** page, go to the **Resources** column. 2. Only servers that match the server tags for subsets are offered. 3. Select a server from the list then select either **Set Primary** or **Set Secondary**. **Related information**\ [Create server variants](/beam/live-encoder/configure#create-subset-variants)\ [Create redundancy variants](/beam/live-encoder/configure#create-redundancy-variants) ## Unassign a server from a service 1. From the **Services** page, go to the **Resources** column. 2. Select a server then click **X** next to the server name. The server is removed and is unassigned from the service.For failover configurations:
- Failover only applies to certain processing types and configurations.
- Inactive backup servers (in a failover group) cannot be assigned to run a service.
- A primary server (in a failover group) that is in failover, meaning that a backup server has taken over and it is no longer running services, cannot be assigned to run services.
## Export a service configuration Exported service configurations are for importing onto a **different MediaKind** system. This is useful for component or production support, or testing (parameters and expected function).Jobs that are running on an unassigned server are canceled and put back in the queue to be started again on another server.
From the **Services** page, click `Ellipsis` icon in the **Actions** column then click `Download` icon to export. A file will download in your browser's default location.Exports exclude the service state (started or stopped). Importing service configurations may require manually starting or stopping other services.
Multiple services can be exported at once (See the [Bulk Actions](/beam/web-interface/services#bulk-actions) section). The services selected do not need to all be of the same type. Once you have selected your services click `Ellipsis` icon in the **Actions** column of any service then click `Download` icon to export. This will download a tar.gz file containing all the configurations of the selected services.The download date in the file name is in the following format: YYYY/MM/DD.
## Import a service You can import a single service, or multiple services to a different server where the service is not currently configured. Import files must match expected formatting requirements. The supported files are:The download tar.gz file will always be called service_exports_YYYY-MM-DD.tar.gz.
| File extension | Description |
|---|---|
| json | A single service configuration |
| tar | An archive containing several json files |
| tar.gz / tgz | A compressed archive containing several json files |
| zip | A zipped archive containing several json files |
Before you start, ensure that the exported configuration files for the services are available. (See the [Export a service configuration](/beam/web-interface/services#export-a-service-configuration) section)Archives must only contain json files.
1. From the **Services** page, click the **Import services...** button. 2. Click **Select files** to browse for the .json or .tar.gz file previously exported for this service or services. You may select multiple files. 3. Click **Import**. The services are imported and appear in the list of services. 4. Click **Close** to close the import dialog. If there are any errors during the import, you will be given the option to ignore, continue or ignore all.Services on a same server require unique ids. Only import the service to a server where the service DOES NOT currently exist. If there is a conflict detected during import, you will be given the option to overwrite the existing service.
If you select to ignore all errors, the import process will continue to completion without stopping on future errors.
## Start a service Services can be started and stopped manually from the **Services** page. Before you start: At least one service has been created and is available in the list of services, and at least one server is assigned to run the service. From the **Services** page, click `Play outline` icon in the **Actions** column to launch the service. The **Status** changes to **started**.Importing a lot of files can take several minutes to complete. During the import process DO NOT navigate away from the import page.
## Stop a service Stop a service manually for support, testing or for general system administration purposes. Once stopped, the assigned server no longer executes the service.If an alarm is raised, click
Alarmicon to display all alarms. Alarm colors are based on severity.
1. From the **Services** page, click `Stop outline` icon in the **Actions** column to stop the service. You are prompted to confirm. 2. Click **Yes, Stop it!**. The service status changes to **stopped**. The service stops running. ## Copy a service From the **Services** page, click `Ellipsis` icon in the **Actions** column then select `Clone` icon to copy the service. A "-copy" suffix is added to the name of the duplicated service.Stopping a service cancels any jobs in progress.
## Delete a service Deleting a service removes a service from the list of available services.You can simultaneously select and copy several services at once (see Bulk actions).
1. From the **Services** page, click `Ellipsis` icon in the **Actions** column then select `Delete` icon to delete the service. 2. Click **Yes, delete it!** to confirm. The service is removed from the services table and is no longer available. ## Failover or revert a service If a service is running on a server that is in a service-level failover group, a manual failover/revert can be triggered. For information on this, please refer to the [Request a failover or a revert between servers manually](/beam/system-admin/servers/failover#request-a-failover-or-a-revert-between-servers-manually) section. ## Bulk actions Some operations support bulk actions. You can select multiple services by ticking the corresponding boxes, or you can select all services on the page by ticking the box next to the **Name** column. Then, you can apply bulk operations such as start, stop, copy, and delete. Stopping or deleting multiple services will prompt a warning message.For detailed information regarding a Live Packaging service deletion, see Deleting a Live Packaging service and managing DVR.
## Configure advanced parameters for an existing service 1. From the **Services** page, click the service name to edit the service then click the **Advanced parameters** tab. 2. Click **Add** then enter the parameter name and value. You can add multiple advanced parameters to the service. 3. Click **Save and continue** before continuing in order to avoid losing the configuration. # System and architecture description The web interface provides a single access point to monitor components, manage users, and configure solutions from end-to-end. Configuration and control are separated for flexible resource allocation ## Software and applicative layers The platform design relies on a **micro-services architecture** to promote modularity and software component independence. The solution is split into a Front-End (UI) and a Back-End (API) layer. Each layer is interfaced through a REST API. You can use the search bar, filter by specific fields, or sort the table using the up and down arrows to refine the services displayed before performing a bulk action..
### UI Layer (Front-End) The generic UI framework provides a same environment to display the web pages for all compatible products: - Web pages (services, servers, etc.) are shared across the product line. - Certain web pages are specific to each processing type (statistics, services, etc.). ### API Layer (Back-End) The Back-End features are triggered through a REST API that can be used either from a _Command Line Interface_, or from the Front-End Layer. The API layer allows: - A centralized redundant database. - The logic handling for cross-products and product specific features. ## High availability Management access is provided through a Virtual IP, allowing for a **single connection access**. This is based on an **active/active** implementation that ensures high availability.  The **database is synchronized in real-time** between both nodes. **In case of failure, the remaining node is instantly ready** to process requests. If the primary server fails, then the Virtual IP is seamlessly re-assigned to the secondary server. **This mechanism involves _arbiter_ software**, installed on a separate server. This arbiter server is in charge of electing the primary database if the network is partitioned (in the event of communication loss between synchronized databases). # Manage templates Templates are a set of parameters saved from an existing service configuration. This allows you to easily create new services that share the same settings. You can create a template from an existing service configuration. The template is stored separately from the services.\ Service templates include: - Constants: all parameters that are common to all services sharing the template. - Variables: parameters that depend on the service. Selecting a template when creating a service replaces the default settings with the template presets. It still requires entering missing variable information identified in the user interface.If menus or options in the web interface are grayed then contact your administrator about user rights.
Changing a template requires: - Changing the template name. - Version management is implemented (can embed versions). ## Display templates 1. Click **Templates** from the left-side menu panel. If any, the available templates display in a table.  2. You can edit the number of rows displayed or use the search bar to filter the display. ### Template parametersYou can export variables to a CSV file for mass configuration.
| Column | Description |
|---|---|
| Name | Unique template name. |
| Processing Type | The service processing type. |
| No. of Services | Total number of services in your solution that are configured with the template. |
| Creation date | Template creation date (YYYY-MM-DD) and time (HH:MM:SS). |
| Actions | Export or delete. |
To delete a template, follow these steps: 1. Display templates. 2. Click `Delete` icon in the **Actions** column. 3. Confirm the action if prompted. The template is deleted and no longer displays in the table. ## Create a new service from a template When creating a new service, you can apply a template to automatically insert existing service configuration parameters.Deleting a template has no impact on services created from that template.
Before you start, [ensure a template already exists](/beam/web-interface/templates#display-templates). 1. Click **Services** in the left-side menu panel. 2. Click **Add service** then select a service type from the list to display options. 3. Next to the **Template** parameter, select a template from the list of available templates. 4. Click **Save**. The service is created and displays in the **Services** grid. 5. Click `Edit` icon to edit or to check the service configuration for accuracy. ## Export a template You can export templates to share them on different MediaKind Controllers. 1. [Display templates](/beam/web-interface/templates#display-templates). 2. Click  to export. The file is downloaded in relation to your web browser download settings.You can edit any service settings, even if the service was created from a template.
## Export a template variables form You can download template variables to use in massive configurations. 1. [Display templates](/beam/web-interface/templates#display-templates). 2. Click  to export. A .csv file is downloaded in relation to your web browser download settings.The download date is in the downloaded file name. The date is in the following format: MM/DD/YYYY.
## Import a template Before you start, ensure a template file exported from a different Controller environment is available. 1. [Display templates](/beam/web-interface/templates#display-templates). 2. Click **Actions**. 3. Select **Import template**.  4. Click **Select file** to choose a file, then click **Import**.  The template is uploaded and available in the **Templates** table.The download date is in the downloaded file name. The date is in the following format: MM/DD/YYYY.
# Welcome to MK.IO MK.IO is a cloud-native media transformation and delivery application designed for building and operating modern video services. It provides a scalable SaaS environment with both UI and API control for end-to-end media processing workflows. ## Start a workflow [Live stream in five minutes](/mkio/getting-started/live-stream-in-five-minutes) Create a live event, connect an RTMP source, and open a playback URL. [Publish your first VOD asset](/mkio/getting-started/video-on-demand-vod-workflows) Upload, process, and publish a video for on-demand playback. [Connect cloud storage](/mkio/getting-started/connect-cloud-storage) Connect the storage MK.IO uses for source files, outputs, and live recordings. [Make your first API call](/mkio/api-guides/getting-started/first-api-call) Authenticate and retrieve your MK.IO organizations and projects. ## Find a product area The guide names below reflect the main areas of the MK.IO portal. [Assets and storage](/mkio/how-to/content-management) Add, import, organize, verify, and publish media assets. [Live events](/mkio/how-to/live-streaming) Configure live events and connect OBS, FFmpeg, or GStreamer sources. [Video processing](/mkio/how-to/video-processing-encoding) Configure reusable transforms and run processing jobs. [Streaming endpoints and playback](/mkio/how-to/content-delivery-publishing) Publish assets, retrieve playback URLs, and integrate delivery services. [Content key policies](/mkio/how-to/drm-content-protection) Protect live and VOD playback with encryption and DRM policies. [API Guides](/mkio/api-guides) Build media, management, fleet, and infrastructure workflows with the APIs. ## Learn and look up - [What is MK.IO?](/mkio/getting-started/what-is-mkio) - [Concepts](/mkio/understanding/overview-understanding) - [Reference](/mkio/reference/reference) - [Changelog](/mkio/changelog) - [Community and support](https://support.mk.io) # MK.IO API guides Build media processing, live streaming, and account-management workflows with the MK.IO APIs. ## Getting Started Prepare your environment, authenticate your API calls, and learn how the platform represents resources. [Quick Start & Authentication](/mkio/api-guides/getting-started/authentication) Get your API credentials, authenticate your requests, and make your first API call. [Shared Concepts](/mkio/api-guides/understanding/overview) Understand platform-wide concepts like pagination, rate limiting, error handling, and resource states. ## Media API Ingest, transcode, package, protect, and publish live and on-demand video assets. [Media API Reference](/api-reference/media-api) Interactive endpoints, schemas, and request/response examples for the Media API. [Automate a VOD Pipeline](/mkio/api-guides/how-to/media/vod-pipeline) A complete recipe from upload through encoding and packaging to playout. [Storage](/mkio/api-guides/how-to/media/storage) Configure input and output storage containers. [Assets](/mkio/api-guides/how-to/media/assets) Upload media files and track asset lifecycles. [Transforms & Jobs](/mkio/api-guides/how-to/media/transforms-and-jobs) Define transcode settings and submit transcode jobs. [Live Streaming](/mkio/api-guides/how-to/media/live-streaming) Configure live events, inputs, outputs, and streaming channels. [Publishing & Delivery](/mkio/api-guides/how-to/media/publishing) Create streaming locators and construct playback URLs. [Content Protection](/mkio/api-guides/how-to/media/content-protection) Apply DRM and content key policies to secure streams. ## Management API Control organizations, users, teams, projects, webhook notifications, and usage reporting. [Management API Reference](/api-reference/management-api) Endpoints, schemas, and request/response examples for organization management. [Provision Organizations & Users](/mkio/api-guides/how-to/management/org-provisioning) Bootstrap organizations, structure projects, and define team memberships. [Tokens](/mkio/api-guides/how-to/management/tokens) Create and rotate personal access tokens. [Webhook Rules](/mkio/api-guides/how-to/management/webhooks) Configure HTTP callbacks to receive event-driven notifications. [Usage & Billing](/mkio/api-guides/how-to/management/usage-and-billing) Query billing telemetry and track resource consumption. ## Live API Create and manage live channels, events, and multiview compositions for live media processing. [Live API Reference](/api-reference/live-api) Endpoints, schemas, and request/response examples for live media processing. [Core concepts](/mkio/api-guides/how-to/live/core-concepts) Understand resource types, billing models, and how live resources connect to templates and sources. [Live channels and events](/mkio/api-guides/how-to/live/manage-live) Create and operate liveChannels and liveEvents for single-input live encoding. [Multiview](/mkio/api-guides/how-to/live/multiview) Compose multiple live inputs into a single multiview output. [Scheduled operations](/mkio/api-guides/how-to/live/scheduled-operations) Automate start and stop times for any live resource. ## Templates API Manage the versioned configuration templates that live encoding, multiview, and stream conditioning resources depend on. [Templates API Reference](/api-reference/templates-api) Endpoints, schemas, and request/response examples for the Templates API. [Manage templates](/mkio/api-guides/how-to/templates/manage-templates) Create, version, tag, and reference configuration templates. Start from presets or upload your own. # Get started with the APIs Use these guides to choose the right API, create a personal token, and confirm your access with a first request. [Which API to use](/mkio/api-guides/getting-started/which-api) Match your workflow to the Media, Live, Templates, or Management API. [Authentication and tokens](/mkio/api-guides/getting-started/authentication) Create a personal API token and send it with your requests. [Your first API call](/mkio/api-guides/getting-started/first-api-call) Make one authenticated request to confirm your token and project access. # Authentication and tokens The MK.IO APIs use bearer authentication. You create a personal API token in the MK.IO web application, send it in the `Authorization` header, and the request runs with the same organization and project access as the user who created it. ## Create a personal token Create a token in the MK.IO web application: 1. Open the profile menu in the top right corner and select your email address. 2. Go to [**Your personal API tokens**](https://app.mk.io/user/profile). 3. Select **Add Token**. 4. Enter a description and an expiration date in UTC. 5. Select **Create**. 6. Copy the token to a secure location. It is visible for 5 minutes only. For the full token-management pages in the MK.IO product, see [API tokens](/mkio/how-to/managing-your-organization/api-tokens). ## What a personal token represents The personal token contains: - The identity of the user. - The identity of the organization. - The token type and expiration date. - Optionally, a reduced set of permissions when the token grants only a subset of the user's access. The token therefore carries the access of the user who created it. When that user's access changes, the token's effective access changes with it. ## Send the token with every request Every MK.IO API uses the same header: ```http Authorization: Bearer
- Template names must be unique.
- You are unable to import a template if the template with the same name already exists on this Controller.
| Status code | Meaning | What to check next |
|---|---|---|
400 |
Bad Request | Recheck the URL, query parameters, and request syntax. |
401 |
Unauthorized | Recheck the bearer token and Authorization header. |
403 |
Forbidden | Recheck that the user has access to the target project and operation. |
404 |
Not Found | Recheck the project name and path. |
429 |
Too Many Requests | Slow down and retry later. |
500 |
Internal Server Error | Record the response ref value before retrying or contacting support. |
| To automate... | Use the... |
|---|---|
| Reusable content, sources, destinations, storage registration, assets, transforms, jobs, Media API live events and live outputs, streaming locators, streaming endpoints, streaming policies, or content key policies | Media API |
| Template-based live channels, live events, and static multiview resources | Live API |
| Discover encoding presets, create reusable configs, and manage config versions | Templates API |
| Organizations, projects, users, teams, tokens, payment methods, usage reports, metrics, or webhook rules | Management API |
| Workflow | APIs involved |
|---|---|
| Build a template-based live or multiview stream | Media API for sources and publishing, Templates API for configs, Live API for processing |
| Create a project, assign billing, then start a VOD workflow | Management API, then Media API |
| Register a webhook for job-completion events | Management API and Media API |
| Audit token usage and restrict automation access | Management API |
| Resource | Billing | Purpose |
|---|---|---|
liveChannels |
Monthly flat fee | Continuous 24/7 live encoding |
liveEvents |
Per-minute | Time-bounded live encoding |
staticMultiviewChannels |
Monthly flat fee | Continuous 24/7 multi-input composition |
staticMultiviewEvents |
Per-minute | Time-bounded multi-input composition |
| Detail | Value |
|---|---|
| Base path | /api/v1/projects/{project_name}/live/ |
| Scope | Project |
| Reference | Live API reference |
| Field | Connects to | Use when |
|---|---|---|
sourceName |
One specific, named source resource (Media API) | You know exactly which physical feed you want, and it won't change. |
contentName |
A content identifier, resolved to a candidate source that can supply it (Media API) | The physical source behind the feed might change, and you want the platform to resolve among available candidates. |
flowName |
Another live resource's output | You are chaining resources together, feeding the output of one flow into another. |
| Resource | Billing | Use when |
|---|---|---|
liveChannels |
Monthly flat fee, charged immediately on start | You need a 24/7 live feed that is always encoding |
liveEvents |
Per-minute | You need a live feed for a defined broadcast window |
staticMultiviewChannels |
Monthly flat fee, charged immediately on start | You need to compose multiple feeds into a multiview output, continuously |
staticMultiviewEvents |
Per-minute | You need to compose multiple feeds into a multiview output for a specific event |
| Config type | Required by | Purpose |
|---|---|---|
encodingLive |
All four resource types | Live encoding parameters |
multiviewComposing |
StaticMultiviewChannel, StaticMultiviewEvent (optional) | Composition layout for multiview, defined separately from encoding |
streamConditioning |
Optional on any | Stream conditioning parameters |
| Field | Description |
|---|---|
state |
Current resource state. |
siteDisplayName |
Display name of the site the resource runs on. |
deviceName |
Name of the device the resource is assigned to, if applicable. |
deviceDisplayName |
Display name of the device, if applicable. |
shortId |
Short visual identifier. Do not use for programmatic purposes. |
inputs |
Array of input status objects. |
outputs |
Array of output status objects. |
metrics |
Dictionary of metric samples. |
monitoring |
Dictionary of monitoring context objects. |
| Field | Description |
|---|---|
contentName |
The resolved content name for this input. |
contentDisplayName |
The display name of the resolved content. |
sourceName |
The source assigned to this input, if resolution landed on a source rather than a flow. |
sourceDisplayName |
Display name of that source. |
sourceShortId |
Short visual identifier for the source. Do not use for programmatic purposes. |
sourceUrl |
The ingress URL for the source, if it has one. |
upstreamFlowName |
The name of an upstream flow providing the input, if resolution landed on a flow rather than a source. |
networkName |
The network the input is assigned to. Empty if resolved from a directly-connected source such as SDI. |
networkDisplayName |
Display name of the network. |
deviceInterfaceName |
The device interface assigned to the input, if applicable. |
| Field | Description |
|---|---|
contentName |
The content name published by this output, if set. |
contentDisplayName |
Display name of that content. |
destinationUrl |
The egress URL of the connected destination, if applicable. |
destinationDisplayName |
Display name of the destination. Empty for an internal output with no destination. |
downstreamFlowNames |
Names of downstream flows connected to this output. |
networkName |
The network the output is assigned to. Empty for a directly-connected destination such as SDI. |
networkDisplayName |
Display name of the network. |
deviceInterfaceName |
The device interface assigned to the output, if applicable. |
transport |
Transport settings specific to this output. |
| Field | Description |
|---|---|
thumbnailUrl |
URL of a thumbnail image for the stream at this context. |
metadataUrl |
URL of stream metadata at this context. |
| Resource | Billing | Use when |
|---|---|---|
staticMultiviewEvents |
Per-minute | Sports matches, live shows, any broadcast with a defined start and end |
staticMultiviewChannels |
Monthly flat fee, charged immediately on start | 24/7 production infrastructure that runs continuously |
Caution## How composition works When the Live API receives multiple input streams for a multiview resource, it routes each one into a processing template that composes them into a layout and then encodes the result. The template is where the composition happens. The Live API resource is the control plane: it tells the platform which streams to accept, which template to use, and where to send the output. ### What a pin is Processing configs expose named input slots called **pins** when the actual config declares them. A pin is a labelled placeholder that says "a video feed goes here". A multiview config might expose four pins. When you create a multiview resource, each input includes a `transformInput` value that names its pin. This is how the platform knows which camera feed to put in which position. The template controls what happens at each pin (size, position, any overlays). The `transformInput` value on your resource input connects a specific source stream to that pin. Pin names are defined by the template and retrieved by reading the template's `status.inputPins[].name`. They are not standardized across templates, so always read them from your specific template before creating a resource. ### Two composition modes There are two ways to configure how composition works, depending on how your template is built. There's no separate "multiview" config type. The Templates API only has `encodingLive` and `multiviewComposing`, that's the whole vocabulary. A multiview resource always needs an **`encodingLive`** template, since that's what actually encodes the output, and optionally a **`multiviewComposing`** template if you want the layout defined separately. Common multiview preset examples include `default_1080p_2up`, `default_1080p_3up`, and `default_1080p_4up`. Discover the presets available to your project at runtime. When returned as `encodingLive`, these are Mode 1 presets where one config does both jobs. #### Mode 1: Layout inside the encodingLive template The simpler approach. Your `encodingLive` template is built to handle both composition and encoding in one. The template defines the grid layout internally, and each flow input maps to a pin in that template. You only need one template reference in the resource spec. The `transformInput` pin names come from the `encodingLive` template. Use this mode when: - A single template handles both the composition layout and encoding settings. - The layout is fixed and does not need to change independently of encoding. - You want the simplest possible configuration. #### Mode 2: Separate multiviewComposing template The more flexible approach. You have two templates: an `encodingLive` template that handles encoding only, and a separate `multiviewComposing` template that defines the composition layout. You set both in the resource spec. The `transformInput` pin names come from the `multiviewComposing` template, not the `encodingLive` template. Use this mode when: - You want to change the visual layout without touching the encoding configuration. - Multiple events share the same encoding settings but have different camera arrangements. - Your production team manages layouts and encoding parameters separately. For example: a broadcast platform running events across different sports might use one `encodingLive` template for all of them (same output codec and bitrate ladder) but different `multiviewComposing` templates per sport (different number of cameras, different layout grids).Starting a
staticMultiviewChannelsresource incurs monthly billing. Review the current project rate card before starting. UsestaticMultiviewEventsfor time-bounded workloads that need event billing.
Note## The setup sequence Before you create a multiview resource, you need to set up these dependencies in order: 1. **A source for each input** (Media API): each camera feed or ingest point needs its own source resource. See [Content, sources, and destinations](/mkio/api-guides/how-to/media/content-and-sources). 2. **An encodingLive template** (Templates API): required for all multiview resources. List the current presets, create a customer config from one, then retrieve that config's pins. See [Manage templates](/mkio/api-guides/how-to/templates/manage-templates). 3. **A multiviewComposing template** (Templates API): required only for Mode 2. 4. **An MK.IO asset** (Media API): live resources write encoded output into an asset. See [Assets](/mkio/api-guides/how-to/media/assets). For a complete walkthrough that covers all of these steps in order, see [Multiview setup walkthrough](/mkio/api-guides/how-to/live/multiview/multiview-walkthrough). `transformInput` also applies to single-input Live resources. For multiview, each input normally binds to a different pin. Resolved inputs, source `Active` state, and event-level health do not prove that each tile receives media. Check every encoder's contribution and verify that each expected tile updates in the composed picture. ## Guides [End-to-end walkthrough](/mkio/api-guides/how-to/live/multiview/multiview-walkthrough) Follow a complete setup from sources and templates through to a running multiview event. [Static Multiview Event](/mkio/api-guides/how-to/live/multiview/static-multiview-event) Reference guide for creating and operating a per-minute multiview resource. [Static Multiview Channel](/mkio/api-guides/how-to/live/multiview/static-multiview-channel) Reference guide for creating and operating a monthly-billed multiview resource. # Multiview setup walkthrough This guide walks through the complete setup for a live multiview event, from creating ingest sources to a running `staticMultiviewEvents` resource composing four camera feeds into a single output. The scenario: four cameras covering a live sports match. Each camera sends an SRT stream to the platform. The output is a single tiled multiview feed stored in an asset and optionally delivered to a downstream playout system. ## Prerequisites - A project name and [API token](/mkio/api-guides/getting-started/authentication) with access to Media, Templates, and Live resources. - [Registered storage](/mkio/api-guides/how-to/media/storage) for the recording. - Four SRT encoders and their public IP addresses. - An existing streaming endpoint, or the project location needed to create one. Use unused resource names and replace every placeholder. The workflow creates and starts a billed event; complete the cleanup step after testing. Create its content, sources, asset, and config before creating the Live API resource. ## Step 1: Create content resources Content resources are named stream identifiers. Each camera feed gets its own content resource so the platform can track which sources supply which streams. Create one content resource per camera: ```bash curl -X PUT "https://app.mk.io/api/v1/projects/If you are new to multiview on the Live API, start with Mode 1. It requires one template instead of two and has less moving parts to configure. Move to Mode 2 when you need layout flexibility across multiple events.