Showing posts with label cea-608. Show all posts
Showing posts with label cea-608. Show all posts

October 12, 2022

CEA-608/708 subtitles support in SLDP

CEA-608/708 closed captions are now supported in SLDP low latency playback protocol by Softvelum, in both Nimble Streamer and SLDP HTML5 Player.

The pipeline works as follows:

  1. Closed captions are delivered in NAL units of your content via any live streaming protocol supported by Nimble Streamer, including SRT, RTMP, MPEGTS and others.
  2. Nimble Streamer delivers the content via SLDP as usual.
  3. SLDP HTML5 Player recognizes subtitles in the stream.
  4. End user may enable subtitles display and watch video with closed captioning.

Notice that subtitles processing works only with SLDP Player SDK which is available as a premium product. Learn more about HTML5 Player SDK here. You can subscribe to SDK in order to generate the package for your domains and get our team's support going forward.

You can try this feature with our players testing free page before purchasing the SDK.


Please also take a look at Subtitles digest page to see what else Nimble can do for you.


Let us know if you have any questions about closed captioning in Softvelum products.


Follow us in social media to get updates about our new features and products: YouTubeTwitterFacebookLinkedInRedditTelegram

January 26, 2022

Support for CEA subtitles: CEA-608 in MPEG-DASH and CEA-708 in HLS

 Nimble Streamer has wide support for MPEG-DASH live streaming, including subtitles processing.

When CEA-608 subtitles are integrated into a video track, most players require those subtitles to be declared in the manifest, otherwise a viewer cannot select them at all.

This tag is used in a MPEG-DASH manifest for the declaration:

<Accessibility schemeIdURI="urn:scte:dash:cc:cea-608:2015" value="CC1=lang">

where value contains the number of the track with subtitles and their language, e.g. "CC1=eng".

This option can be set in server settings under Nimble Streamer / Live Streams Settings menu in Global  tab in CEA-608/CEA-708 settings field.

This setting is applied to live and DVR output streams.

The format is as follows:
<app1>[/<stream>]:N=<lang>[;N=<lang>] <app2>[/<stream>]:N=<lang>[;N=<lang>]
Each new application is separated by a space. Here's an example where all streams for "live_app" application will have first track with Russian subtitles:


For MPEG-DASH CEA-608 the setting is simply "live_app:1=rus". This is what you'll see in DASH manifest:
<Accessibility schemeIdURI="urn:scte:dash:cc:cea-608:2015" value="CC1=rus">
For HLS CEA-708 it's "live_app:1=rus". This is what you'll see in HLS master playlist:

#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",INSTREAM-ID="CC1",NAME="Closed Captions",LANGUAGE="rus"

This is how you'll see it in your player:




You may combine settings for multiple apps and streams, e.g. for DASH CEA it would be
live_app:1=eng;2=rus live_app2/stream1:1=eng;2=fra
will set two tracks for all streams in "live_app" application and also will define two tracks for a single "live_app2/stream1" stream.

If you want to set a setting for entire server, just skip "app=" part. E.g. for HLS CEA-708 set parameter to "708.1=eng"


Please also take a look at Subtitles digest page to see what else Nimble can do for you.


Related documentation 

Nimble Streamer MPEG-DASH features