Build1 publisherNot yet confirmed elsewhere3 min readPublished
MediaLive's Video Aligned Locking lines up redundant pipelines by matching frame content
AWS Elemental MediaLive's Video Aligned Locking, announced September 12, 2026, aligns redundant pipelines on visual frame signatures in place of timecode. SRT and RTMP feeds can now get frame-accurate failover, but the default lock is best-effort and can lose alignment without raising a fault.
The Engineer · Build desk
What happened
- Without locking, segment 1042 on pipeline 0 and segment 1042 on pipeline 1 can contain different content, shifted by a few dozen frames.
- SOURCE_TIMECODE, which reads embedded timecode such as SMPTE 12M or VITC, is still MediaLive's default locking method.
- Selecting VIDEO_ALIGNMENT makes MediaLive ignore any existing timecode for locking decisions.
- Two single-pipeline channels in different regions can be linked into one locking pool and behave like a two-AZ standard channel.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- exposure Channels already running on the default best-effort lock may have been failing over without frame accuracy with no fault on record. A clean incident history does not show whether those pipelines stayed aligned.
- decision Operators with mixed sources have to choose a method per channel: SOURCE_TIMECODE where timecode is clean, VIDEO_ALIGNMENT where it resets or jumps, since the two do not combine.
- cost Teams that kept sync hardware or external orchestration in front of the encoder can drop a failure point and an on-call rotation, by the write-up's accounting.
When the origin switches between unlocked copies, the player shows a jump forward or a repeat [7]. "In sports, that is the goal the viewer watched twice," the dev.to write-up on the feature says [8]. The cause is ordinary. Jitter on the incoming signal, the moment encoding starts and the points where segments are cut all vary from one encoder to the next [5].
Locking is configured in encoderSettings.globalConfiguration, in two layers [10]. The mode field, outputLockingMode, takes DISABLED, PIPELINE_LOCKING or EPOCH_LOCKING [10]. EPOCH_LOCKING ties both pipelines to the Unix epoch, or to a custom epoch from 2000-01-01T00:00:00 onward, and works only with CMAF Ingest and MediaPackage V2 [10]. The method field, outputLockingSettings.pipelineLockingSettings.pipelineLockingMethod, exists only under PIPELINE_LOCKING [12]. Set it to VIDEO_ALIGNMENT and each encoder computes a visual signature per frame, then aligns the frames whose content matches [12].
The default deserves more attention than the new method. A standard channel ships with PIPELINE_LOCKING, and that mode is best-effort. When it cannot lock, MediaLive keeps processing and does not treat the condition as a fault [11]. According to the post, nothing stops and nothing alarms; the failover just stops being frame-accurate [11]. Timecode-less SRT and RTMP feeds used to land in approximate synchronization, and the author's gloss on that state was "do not trust the failover" [1].
Lock state shows up in a metric. Participating pipelines form a pool with one reference pipeline, whose InputVideoAligned value is always 1. The others report 1 only once they align with it [14]. An alarm on the reference cannot fire. Because the channel raises no fault, the non-reference pipeline's InputVideoAligned dropping below 1 is the only signal that failover has lost frame accuracy [19]. A dashboard pinned to the reference will show perfect alignment for the life of the channel [19].
Linked channels extend the pool to single-pipeline channels, with tight rules. The primary owns the group, the follower points at the primary's ARN in the same account, each primary takes one follower, and the follower works whether or not the primary is running [15].
Content matching only holds if both encoders see the same pictures. In a standard channel the upstream sends one signal to both inputs [4]. I would want two numbers from a production feed before trusting this in a failover drill: how long a follower takes to report alignment, and how matching behaves on long runs of near-identical frames such as a slate. The write-up does not give either.
The field predates the announcement. VIDEO_ALIGNMENT showed up in the SDK on December 26, 2025, and the What's New post came in September 2026 [17]. The gap to the September 12 announcement is about 260 days, so an infrastructure-as-code tool built on the SDK may already expose the field [18].
What to watch
- Published figures for how long VIDEO_ALIGNMENT takes to bring a follower pipeline into alignment, and how it handles static or near-identical frames.
- Any change that makes a failed PIPELINE_LOCKING lock raise a fault or alert instead of continuing silently.
- Looser linked-channel limits, such as cross-account linking or more than one follower per primary.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence50
- Adoption
- Insufficient
- Hype gap−5
- Incentives
- Insufficient
- Confidence50
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Most digital flows over SRT, RTMP push or IP contribution carry no timecode, or one that resets, jumps, or comes from two encoders with different clocks; in those cases MediaLive falls back to approximate synchronization, which in practice means "do not trust the failover".
ReportedSupportedSource: dev.to write-up author's assessment2 sources— create a free account to open themView cited source - [2]
The alternative was specialized hardware in front of the encoder or external orchestration; the cost of keeping that alive for years is one more failure point and one more on-call rotation.
ReportedSupportedSource: dev.to write-up author's assessment2 sources— create a free account to open themView cited source - [3]
Video Aligned Locking in AWS Elemental MediaLive, announced on September 12, 2026, removes the dependency on embedded timecode: the encoder compares visual signatures of frames across pipelines and aligns on content.
- [4]
A MediaLive STANDARD channel runs two pipelines in different Availability Zones; the upstream system sends the same signal to both inputs, and each output group delivers two copies, one per pipeline, so the downstream can pick either copy at any moment.
- [5]
Two independent encoders do not start on the same frame: each receives the signal with its own jitter, starts encoding at its own instant, and cuts segments at its own points.
- [6]
Without synchronization, segment 1042 on pipeline 0 and segment 1042 on pipeline 1 contain different content, shifted by a few dozen frames.
- [7]
When the origin switches pipelines between unsynchronized segments, the player sees a jump forward or a repeat.
- [8]
In sports, that is the goal the viewer watched twice.
- [9]
The historical answer is embedded timecode (SMPTE 12M, VITC, ancillary data), used by the SOURCE_TIMECODE method, which is MediaLive's default to this day.
- [10]
Pipeline locking lives in encoderSettings.globalConfiguration in two layers; outputLockingMode takes DISABLED, PIPELINE_LOCKING or EPOCH_LOCKING, where EPOCH_LOCKING locks both pipelines to the Unix epoch or to a CustomEpoch from 2000-01-01T00:00:00 onward, for CMAF Ingest and MediaPackage V2 only.
- [11]
The default on a standard channel is PIPELINE_LOCKING, and it is best-effort: when it cannot lock, MediaLive keeps processing and does not treat that as a fault; nothing stops, nothing alarms, the failover just stops being frame-accurate.
- [12]
The method field outputLockingSettings.pipelineLockingSettings.pipelineLockingMethod only exists inside PIPELINE_LOCKING; VIDEO_ALIGNMENT computes a visual signature per frame in each encoder and aligns the frames whose content matches.
- [13]
With VIDEO_ALIGNMENT, any existing timecode is ignored for locking decisions; it is a replacement, not a fallback.
- [14]
Participating pipelines form a locking pool with one reference pipeline; the reference's InputVideoAligned metric is always 1, and the others only report 1 once aligned with it.
- [15]
A SINGLE_PIPELINE channel joins the pool through linked channels: a primary channel owns the group, a follower points at the primary's ARN, same account, one follower per primary, and the primary does not need to be running for the follower to work.
- [16]
Linked channels let two single-pipeline channels in different regions behave like a two-AZ standard channel.
- [17]
The VIDEO_ALIGNMENT value already showed up in the SDK on December 26, 2025; the What's New post is from September 2026.
- [18]
About 260 days passed between the VIDEO_ALIGNMENT value appearing in the SDK and the September 12, 2026 announcement.
- [19]
An alarm on the reference pipeline's InputVideoAligned metric can never fire; since a failed best-effort lock raises no fault, the non-reference pipeline's InputVideoAligned falling below 1 is the only signal that failover has lost frame accuracy.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toMediaLive without timecode: what Video Aligned Locking changes in redundancy
1 article · October 8, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Entities
- AWS Elemental MediaLiveFollow
- Amazon Web ServicesFollow
- AWS Elemental MediaPackageFollow
- SMPTE 12MFollow
- SRTFollow
- RTMPFollow
- Amazon CloudWatchFollow