Articles in this section

Lexi Connector for Grass Valley AMPP/MXL

AI-Media_AMPP_MXL_Workflow_16x9 2.png

Ai-Media MXL Live Captions for AMPP

Features and Setup

Ai-Media MXL Live Captions is a Grass Valley AMPP application that adds live closed captions, and optionally a Lexi voice track, to an MXL program feed. In the current AMPP system, MXL components like this sit between AMPP Output - MXL and AMPP Input - MXL workflows on the same processing node:

AMPP Output MXL → Ai-Media MXL Live Captions → AMPP Input MXL
                           ↕
                  Ai-Media iCap / Lexi (cloud)

Video passes through untouched. Captions are inserted into the ancillary data flow, with upstream ancillary data including other languages of captions passed through. Audio either passes through, or is replaced with a Lexi voice track if you turn that on.

Features at a Glance

FeatureWhat it gives you
Live captions via iCapCaptions from Ai-Media's iCap network (Lexi automatic captions, human captioners, or both) inserted into the program's ancillary data in real time.
Two caption formatsCEA-608/708 (SMPTE ST 334) for North American / ATSC workflows, or OP-47 / EBU Teletext for EMEA, Australia and other Teletext markets. You can switch between them on a running workload with no restart.
Up to six caption servicesSix caption services (languages), numbered 1-6, e.g. English plus translations.
Lexi and Lexi Translate job controlStart, stop, pause and resume your Lexi and Lexi Translate cloud jobs from inside AMPP, and see whether each one is running.
Lexi voice trackReplace the program audio on the output with a Lexi voice track, for example a Lexi Translate synthesized voice in another language.
Test captionsLooping test captions so you can check the caption path end to end before any live captions are connected.
Status for tally and monitoringiCap connection status, MXL input health, and per-language caption activity, available on the Control page and over AMPP Control for tally lights.
Existing captions preservedCaption data already in the incoming feed is carried through when nothing new is being captioned, and other ancillary data passes through unchanged.
Program always passes throughIf a caption or voice feature can't run (no iCap login, an unsupported audio format, a cloud outage), only that feature stops. Program video and audio keep flowing.

Before You Start

You need:

  1. An AMPP Linux processing node that runs AMPP Output - MXL and AMPP Input - MXL, with the MXL domain at /dev/shm/mxl registered under System Manager → Docker volumes. The path is fixed; it must be the same one Output - MXL and Input - MXL use.
  2. An AMPP Output - MXL workload publishing the program's video, audio and ancillary data flows. Note the three flow UUIDs.
  3. For live captions: an iCap encoder account (company, username and password) and iCap access codes for the caption services you'll use.
  4. For Lexi job control or the voice track: an EEGCloud API key and your Lexi / Lexi Translate job IDs from eegcloud.tv.

iCap and EEGCloud are two separate logins. The iCap account connects this workload to the caption network. The EEGCloud API key lets AMPP start and stop your Lexi jobs.

Setting It Up

1. Add the Workload

In Resource Manager → Add Workload, pick a Linux node and choose Ai-Media MXL Live Captions. Start Output - MXL first, so the input flows already exist.

SettingRequired?What to enter
Input video / audio / ancillary flow UUIDYesThe three flow UUIDs published by AMPP Output - MXL.
Output video / audio / ancillary flow UUIDYesThree new UUIDs of your choice for the captioned output flows. Each must be unique on the node.
iCap Company / Username / PasswordFor live captionsYour iCap encoder account. Leave Company empty to run without iCap (for example, test captions only).
EEGCloud (Lexi/Translate) API KeyFor Lexi job controlYour EEGCloud API key. Only the key, not a personal EEGCloud login.
Test Captions?NoStart with looping test captions on. You can also toggle this later.
Substitute Audio Flow with Lexi Voice?NoStart with the Lexi voice track replacing program audio. You can also toggle this later.
GV MXL Input Compatibility Mode?Yes, for AMPPCurrently required to bridge a gap between the MXL standard for ancillary data packing and the GV MXL Input parser. Grass Valley has acknowledged the issue in MXL Input. Turn on for all AMPP use (it is on by default) until Ai-Media or Grass Valley support confirms it is no longer needed. Without it, AMPP Input MXL cannot decode the inserted captions.

Note: The iCap password and EEGCloud API key fields are plain text fields in AMPP today, not masked secret fields, and AMPP shows them again when you reload or relaunch the workload. Treat access to the workload settings accordingly.

2. Connect AMPP Input - MXL

On AMPP Input - MXL, use Discover Flow and select the group named <your workload name>_AIM. It contains the captioned video, audio and ancillary data flows together, so you don't need to type the three output UUIDs.

3. Choose the Caption Format

New workloads output CEA-608/708. For Teletext markets, open the Config page (see Where to find the controls), set Caption Coding to OP-47, and fill in a row per caption service:

FieldExampleNotes
Service1Caption service 1-6. Services must run in order from 1 with no gaps (1 and 2 is fine; 1 and 3 is not).
Page (hex)801Teletext magazine and page, 100-8ff.
LanguageengISO 639 language code.

Optional Teletext settings: which field(s) carry OP-47 on interlaced video (default both), and whether to disable Teletext terminators (default off, i.e. terminators on).

The change takes effect immediately, with no restart, and the workload remembers it across restarts.

To check Teletext captions in AMPP, set the Caption Decoder to Teletext (WST) mode and give it the same page number. The decoder does not detect the page by itself.

4. Check the Caption Path with Test Captions

Turn on Test Captions on the Config page, the Control page, or the Resource Manager Control tab. Looping test captions appear on the output in whichever format you selected. When live captions arrive from iCap, test captions switch off automatically; turn them back on if you want them again.

5. Go Live

With iCap credentials set, the workload logs in to iCap as an encoder, sends program audio to the caption network, and inserts the captions it receives. Start your Lexi jobs from the Control page (below), or schedule captioners as usual in iCap.

Lexi and Lexi Translate Job Control

Assign each Lexi or Lexi Translate job to one of the six caption services on the Config page (Lexi / Translate Job IDs). Paste the job ID from eegcloud.tv. You don't need to say whether it's a Lexi or a Translate job; AMPP works that out from the ID.

From the Control page you can then:

  • Start / Stop a single job, or Start All / Stop All.
  • See each job's State: N/A (no job assigned), inactive (assigned but not running), on (running), or unknown (status couldn't be checked), plus whether it's Paused.
  • See whether AMPP can reach EEGCloud and whether the API key was accepted.

Over AMPP Control you can also pause / resume a Lexi job and send a speaker change. Lexi Translate jobs don't support pause, resume or speaker change.

Jobs follow the workload. When you stop the workload, AMPP turns off its assigned Lexi jobs, so you're not left with jobs running against a workload that isn't there. When the workload starts again, it turns back on the jobs you had started. If the workload is killed rather than stopped cleanly, jobs may keep running; stop them from the Control page or eegcloud.tv.

Creating Lexi jobs and choosing their languages and voices is done on eegcloud.tv, not in AMPP.

Lexi Voice Track

Turn on Lexi Voice Substitution (Config page, or Substitute Audio Flow with Lexi Voice? at launch) to replace the program audio on the output flow with the Lexi voice feed, for example a Lexi Translate job producing speech in another language.

  • The voice is mono, sent to both channels of the output audio.
  • When iCap is disconnected or no voice is being sent, the output audio is silence, not the original program audio.
  • The original program audio is still sent to iCap for captioning, and is still available from AMPP Output - MXL for any other use.
  • Toggling it takes effect on the running workload without affecting video or captions.

The voice data will come from a Lexi Translate job running on S2 which must have voice settings enabled in its instance page on EEGCloud.

Status and Tally

The Control page and AMPP Control show:

StatusMeaning
iCap statusinactive (no credentials), connection pending, authentication failed, or connected.
iCap captions activeCaptions have arrived from iCap on at least one service in the last 16 seconds.
Caption activity by languageThe same, per caption service 1-6. Meant for tally lights.
MXL input activeVideo, audio and ancillary data each received within the last 2 seconds.
Test captions, caption coding, Lexi job statesThe current settings above.
VersionThe application version the workload is running.

AMPP Control integrations can subscribe to the encoderstate and captionactivity notifications. Each command's full parameters are documented in the AMPP Control UI.

Where to Find the Controls

WhereWhat it's for
Resource Manager workload → Control tabQuick runtime controls through AMPP Control.
The workload's link in Resource Manager, or https://<your AMPP platform>/mocha/application/<workload id>/config (and /control)The Config page (credentials, caption format, Lexi job IDs, toggles) and Control page (status, Lexi start/stop).
AMPP Control (/ampp/control/)The full command set, for integrations and automation.

The Config and Control pages ask you to sign in with your AMPP login.

What's Remembered Across a Restart

SettingSurvives a workload restart?
Caption format and Teletext pagesYes
Test captions on/offYes
Lexi voice track on/offYes
Lexi job IDs, and which jobs you had startedYes
iCap credentials changed on the Config pageNo — reverts to the launch settings. Update the workload settings for a permanent change.
EEGCloud API key changed on the Config pageNo — same as iCap credentials.

Requirements and Limitations

  • Video: 23.976, 29.97 and 59.94 fps progressive essence have been tested.
  • Audio: 32-bit float MXL audio, which is what AMPP Output - MXL publishes. If the audio flow is in another format, captioning audio and the voice track switch off with an error, and program audio still passes through.
  • Captioning audio: channel 1 of the program audio flow is sent to iCap.
  • Flow setup: the three input flow UUIDs are entered by hand at Add Workload. Only the output side supports Discover Flow.
  • Credentials: the iCap password and EEGCloud API key are stored as plain text in the workload settings (see Add the workload).
  • Lexi servers: Lexi control always uses eegcloud.tv. On-premises Lexi isn't supported yet.
Was this article helpful?
0 out of 0 found this helpful