Skip to main content

Configure an Elemental Encoder

Learn how to configure the AWS Elemental production-grade encoders to work with the Videolinq platform.

Updated over a week ago

Introduction

Videolinq supports real-time caption insertion into RTMP streams, including workflows that rely on SEI-based caption metadata. However, many professional broadcast-level encoders, including AWS Elemental products (which are included in the supported encoders for caption insertion workflows) and similar appliances, are not configured by default for RTMP workflows.

Broadcast encoders are designed to operate in environments with:

  • SDI ingest

  • Genlock and house reference

  • Hardware decoders downstream

When these encoders are used to generate RTMP or SRT output streams for cloud captioning, their default behavior can unintentionally disrupt timestamps, GOP insertion, or frame pacing. This can result in captions drifting, appearing early or late, or breaking entirely.

This article explains:

  • Why custom encoder settings are required

  • How Elemental encoders differ from software encoders like OBS

  • How to correctly configure AWS Elemental encoders (onprem) and AWS MediaLive (online) for Videolinq caption workflows

About Elemental

AWS Elemental encoders, both hardware and software-based, are broadcast-grade encoders. Their primary design goals are:

  • Signal correctness for broadcast distribution

  • Robustness against SDI timing issues

  • Compliance with broadcast standards

As a result, Elemental encoders often enable features by default that are helpful in broadcast chains, but problematic for RTMP caption insertion, such as:

  • Scene-based GOP restructuring

  • Dynamic buffering and lookahead

  • Timestamp smoothing or correction

  • Adaptive quantization and bitrate shaping

  • SEI and metadata insertion intended for broadcast systems

These behaviors are not errors. They simply reflect that the encoder is operating in a different paradigm than cloud-based RTMP caption workflows. To use Elemental successfully with Videolinq, the encoder must be configured to behave more like a streaming encoder, rather than a broadcast appliance.

Elemental: Hardware Encoder Configuration

When using AWS Elemental hardware encoders or the AWS Elemental Live software encoder to send RTMP streams to Videolinq, custom encoder settings are required.

Required configuration approach

For RTMP + Videolinq caption insertion, the Elemental encoder must behave like a simple, streaming encoder, not a broadcast processor. Customers should ensure the following characteristics:

Timing and GOP

  • Fixed frame rate (for example, 30/1)

  • Progressive scan

  • Fixed GOP size (for example, 60 frames at 30 fps)

  • Scene change detection disabled

  • Closed GOP disabled

  • Dynamic GOP or sub-GOP features disabled

These settings prevent the encoder from inserting unexpected keyframes which can disrupt caption timing.

Rate control and buffering

  • Constant Bitrate (CBR)

  • Explicit VBV buffer size set 2x times the target bitrate

  • Initial buffer fill set to 0%

  • Minimum buffer occupancy set to 0

Leaving buffer values unset enables auto-optimization, which often introduces latency and timestamp jitter in RTMP outputs.

Codec Profile

  • H.264 Main Profile

  • Fixed level (for example, Level 4.1)

  • CABAC enabled

  • Adaptive Quantization disabled

  • Motion vector mode set to Auto or Default

Broadcast optimizations such as adaptive quantization and reference B-frames can introduce frame-size variability that negatively impacts RTMP caption insertion.

Metadata and Signalling

  • AFD signaling disabled

  • SEI insertion disabled

  • No timecode insertion

  • No color metadata insertion beyond defaults

For RTMP caption workflows, less metadata is better.

In the Elemental dashboard, navigate to Video Settings and copy the values we provide into your configuration. Once you verified that captions are inserted to the stream, you can increase CBR bitrate as needed, up to 8 MBps (the buffer size value must be 2x the value of the bitrate):

Image: Elemental Encoder video settings.

Use AAC as an audio codec, at 48000 Hz (48 Kz):

Image: Elemental Encoder audio settings.

MediaLive Configuration

AWS MediaLive is a managed service built on Elemental technology, but it introduces additional abstraction and hides certain low-level controls.

Read this article explaining how to use AWS MediaLive with Videolinq.

Summary

  • Broadcast-grade encoders are not misconfigured by default, they are simply optimized for a different use case.

  • RTMP caption workflows require predictable encoder behavior.

  • AWS Elemental encoders must be explicitly configured for RTMP + Videolinq.

  • MediaLive assumes clean inputs and cannot correct upstream timing issues.

  • Following Videolinq’s recommended encoder profiles ensures stable, accurate caption insertion.

If you are unsure whether your encoder configuration is suitable, contact Videolinq support with a screenshot of your encoder’s Advanced settings, and our team will help validate the setup.

Did this answer your question?