QR Code

Prev Next

The QR Code Operator lets you instantly generate and display QR codes directly inside your live production. This makes it easy to share links, promotions, login pages, or any other type of information with your viewers in real time. Whether you're guiding players to a bonus page, directing viewers to a website, or enabling fast mobile interaction, the QR Code Operator provides a simple and seamless way to connect your audience with external content.

Because the QR code is generated inside the software, you never need to upload images or use external tools — everything updates instantly as you type. This is ideal for time-sensitive broadcasts, marketing campaigns, or dynamic experiences where content changes frequently.

Example of use cases:

  • Displaying promotional links during live streams

  • Guiding players to mobile registration or login pages

  • Sharing bonus codes, event information, or support links

  • Enabling quick access to companion apps or interactive experiences

  • Updating QR content automatically using backend-driven workflows such as Script Engine or Connector API’s

It’s fast, flexible, and fully integrated. The QR Code Operator gives you a powerful way to bridge your live video with any online destination.

Options

  • QR Payload - The QR Payload field is where you enter the information that will be encoded into the QR code. This can be any type of text-based content, such as a website link, an email address, a phone number, or even plain text messages. Once entered, Composer instantly generates a QR code that represents this data, making it easy for viewers to scan it with their mobile devices and access the content immediately.
    QR codes are extremely flexible and support a wide range of uses. For example, you can enter:

    • An URL (e.g., https://vindral.com)

    • An email address (mailto:team@example.com)

    • A phone number (tel:+123456789)

    • A Wi-Fi configuration string

    • A text message, coupon code, or other custom data


      Because the QR code updates the moment the text changes, you can quickly adjust information during live productions — perfect for time-sensitive campaigns, rotating offers, or dynamic call-to-action prompts.

      This field accepts standard text input. Simply enter your payload, and the operator will handle the rest.

  • Size - The Size option sets the resolution of the QR code in pixels (100px default).

    💡 Tip:

    Consider how and where the QR code will appear in your production when choosing the appropriate size.

    • A larger QR code is easier to scan from farther away, making it ideal for wide shots or when viewers may be watching on larger screens.

    • Smaller QR codes work well when placed in a corner or as part of a compact layout, but they require viewers to be closer to the screen for reliable scanning.

  • Pos-X - Adjusts the horizontal position in pixels

  • Pos-Y - Adjusts the vertical position in pixels

  • ECC Level - The ECC Level (Error Correction Level) controls how much built-in protection the QR code has against damage, distortion, or visual interference. Higher levels make the QR code more resilient, but they also reduce the amount of data it can hold.
    Most users will get reliable results using the default value.

    • Low - Offers the highest data capacity but very little error recovery. Best used when the QR code is large, clearly visible, and unlikely to be covered or distorted.

    • Medium (default) - A balanced option suitable for most situations. Provides good stability without reducing data capacity too much.

    • Quartile - Provides strong error recovery. Useful when the QR code is smaller, placed over busy backgrounds, or may be partially obscured on screen.

    • High - Offers the strongest protection but holds the least amount of data. Ideal for challenging environments where the QR code may be blurred, compressed, or visually interrupted.

  • ECI Mode - The ECI Mode (Extended Channel Interpretation) setting defines how text inside the QR code is encoded. This affects how special characters are read when scanned. Most QR codes work perfectly with the default setting, but you can choose a different mode if your content includes characters from specific languages or encoding standards.

    • Default - Standard QR encoding (ISO-8859-1). Works for most URLs, basic text, and typical Western characters.

    • ISO-8859-1 - Explicit Western European encoding. Use this if you want to ensure consistent handling of Western characters.

    • ISO-8859-2 - For Central and Eastern European languages, such as Polish, Czech, or Hungarian.

    • UTF-8 - Full Unicode support, ideal for multilingual text, emojis, symbols, and any content beyond typical Latin characters.

Note:

In most cases, you can leave ECI Mode set to Default, but switching to UTF-8 or a regional encoding ensures the QR code scans correctly when using non-standard characters.

  • Hide - Lets you temporarily hide the QR code from the output. When enabled, the QR code remains in your project with all its settings intact, but it won’t appear in the video feed.
    This is useful when you want to prepare a QR code in advance, show it only at specific moments, or quickly toggle it on and off during a live production without losing your layout or configuration.


Connectors API Example

The QR Code Operator can also be controlled through the Connectors API, allowing external data sources to drive the QR payload or visibility in real time. This is useful when the QR code needs to update automatically based on incoming messages, sensor values, or any other supported connector input.

To map an incoming connector value to the QR Code Operator, follow these steps:

  1. Create a new Connector and give it a descriptive name, eg, QrConnector

  2. Add a new API Command and set the target to the QR Code Operator.

  3. Choose the Payload property as the parameter you want to update.

  4. In the Value field, enter the placeholder @@Payload

    (This placeholder will be replaced by the connector’s incoming value at runtime.)

After these steps, any value received through the connector will immediately update the QR Code Operator’s payload, enabling seamless integration with automation systems or external services.

API example:

This endpoint can be triggered from any external system capable of making HTTP requests, allowing fully automated QR code updates during a live production or broadcast.

http://YOURIP:PORT/api/connector/trigger?name=QrConnector&Payload=[QR_CONTENT_HERE]

Script Engine Example

Like any other operator, input and target, the QR Code Operator can be fully controlled through the Script Engine, allowing backend systems or real-time events to update the displayed QR code on the fly.

Below is an example showing how to access the QR Code Operator, update its payload, and toggle its visibility programmatically:

// Retrieve the operator instance from the active scene and layer
const qrCode = Project.GetLayerOperatorByName(sceneName, layerName, operatorName);

// Updates the QR code payload with new data.
// You can supply URLs, phone numbers, emails, plain text or any other QR-compatible content.
function GenerateQR(myPayload) {
    qrCode.Payload = myPayload;
}

// Toggles the visibility of the QR Code Operator.
// Useful when showing or hiding QR codes based on application events.
function ToggleVisibility() {
    qrCode.Hide = !qrCode.Hide;
}

API examples

// Execute GenerateQR and pass in qr code content
http://YOURIP:PORT/api/scriptengine/execute?function=GenerateQR&parameter=[QR_CONTENT_HERE]

// Toggle QR Code visibility
http://YOURIP:PORT/api/scriptengine/execute?function=ToggleVisibility