Live captions


About

Kaltura Webcasting supports two main types of live captions for webcasts: live captions that are ingested with the original stream, and live captions that are produced through Kaltura's Reach services and added onto the stream. 

Using the Kaltura Live Captioning Service

Kaltura's Live Captioning service offers both Machine Generated Live Captions (ASR) as well as Human Generated Live Captions (Professional). This service is currently available only in the English language; additional languages will be added later.

Once Live Captions are enabled on your account, any webcasting event will allow ordering a live captioning task through the scheduled event entry page in KMS or via the KMC edit entry window. This article will walk you through the ordering process of live captions via both applications.

In case the Live Captions option is not available to you, please contact your Kaltura representative to have it enabled on your account.

Ordering Live Captions via MediaSpace Video Portal

1. Select Caption & Enrich option from your live event Actions drop-down menu

The captions and enrichment services screen displays. It is divided into two sections: Requests and Order Captions & Enrichment Services.

The Requests section lists existing captions requests.

If there are no existing captions requests this section will be left empty.

The Order Captions & Enrichment Services section is used to add Reach services to the Live Event:

2. Use the following fields to order live captions for the live event:

  • Service
    • Machine - for automated captioning process
    • Professional - For human captioning
  • Source Media Language - Select the spoken language of the live stream (currently only English is supported).
  • Feature - Select Live Captions
  • Live Captions Start Time - Select a time interval in case you'd like the captions service to start before the scheduled start time of your event.
    • At the beginning of the event.
    • 15 minutes before the event starts. (Recommended)
    • 30 minutes before the event starts.
    • 60 minutes before the event starts.
  • Live Captions End Time - Select a time interval in case you'd like to keep the captions service running if the event runs longer than expected.
    • At the end of the event.
    • 15 minutes after the event ends. 
    • 30 minutes after the event ends.
    • 60 minutes after the event ends.

We recommend extending the live captions scheduling to avoid disconnections before the event ends. Technically, there should be at least a 3-minute grace period between the live caption request and the live caption start time. E.g. in case your event is scheduled for 12:00, you can either order captions to start on the start time of the event up to 11:57 or, if you wish to start captioning 15 minutes before the event order must be placed before 11:42. 

3. Click Submit.

Ordering Live Captions via KMC

  1. Log into your KMC.
    The Entries page displays.
  2. Locate the webcasting entry and click the 3 dots menu to the right.
  3. Select Captions & Enrich (or choose the Captions tab from within the specific entry page).
    The Captions & Enrich page displays.
  4. On the Captions and Enrichment Services screen follow steps 2 and 3 as described in the KMS section above.

TIPS

  • Ensure your content starts streaming a few minutes before the scheduled event to guarantee captions cover the entire session.
  • Live caption sessions last up to 8 hours. 
  • For machine captioning, order at least 15 minutes prior to the event; for human captioning, allow 5 working days.
  •  Cancel machine-generated jobs anytime before the session; human captioning requires cancellation at least 2 days before.
  • Rescheduling an event with live captioning requires canceling and setting up a new job.
  • VOD captions ordered for a live event will replace live captions. 
  • Reach live captions are available only for the primary stream; failover to a backup stream won't display captions.
  • The event duration should be more than 10 minutes, otherwise, the live captions request might meet an error (min(600)/max(43200) valid time range in seconds).

Ingesting captions with your video stream

Kaltura supports live captions carried over the ingested stream using the CEA/EIA-608 and CEA/EIA-708 standards (aka embedded captions).

When setting up your encoder, make sure to annotate the caption track's language so it will be represented correctly in the Captions Selector menu in the player. 

Go to the "Captions" tab on the relevant entry page in KMC to configure your ingested captions tracks.

"Captions" tab in KMC


  • Choose "User ingested captions" to ingest embedded captions with your video stream. 
  • Switch on CAE-708 if at least one of the capions tracks includes special characters.  
  • Add caption tracks containers for each of the ingested tracks
    • Choose CAE-608 or CAE-708 captions protocol
    • Select a language from the languages dropdown
    • Optionally customize the track's label
  • You can remove unnecessary tracks by clicking the red "minus" button on the right of each track    
  • Don't forget to save your changes before leaving the "Captions" tab

NOTES

  1. When using special character sets like Asian languages with CEA/EIA-708 captions, set the "extract_closed_captions_feature" admin tag. However, note this tag does not support captions on backup video streams during failover, and should NOT be set when Reach live captions are enabled.
  2. For live captions to be ported to the session recording with the right labels, set a container for each caption stream using the liveStream.updateAPI as follows: 
    1. For CEA/EIA-608 tracks set track ID to CC1-CC4 (use CAPITAL letters for container ids)
      • id=CC1 language=eng label=english type=closedCaptions
      • id=CC2 language=ger label=german type=closedCaptions
    2. For CEA/EIA-708 tracks set track ID to SERVICE1-SERVICE63 (use CAPITAL letters for container ids) 
      • id=SERVICE1 language=jpn label=japanese type=closedCaptions
      • id=SERVICE2 language=chi label=chinese type=closedCaptions
    3. CC (608) & SERVICE (708) containers can be used concurrently as long as unique container indices  are being used.
      • id=CC1 language=eng label=english type=closedCaptions
      • id=CC2 language=ger label=german type=closedCaptions
      • id=SERVICE3 language=jpn label=japanese type=closedCaptions
      • id=SERVICE4 language=chi label=chinese type=closedCaptions

See Kaltura VPaaS API Documentation for further details about Kaltura's API.

Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

In This Article
Related Articles
Back to top

Never miss a thing!

Subscribe to our customer newsletter and our release notes updates, so you always get the best out of Kaltura.
Newsletter