Subtitles and/or captions are terms sometimes used indistinctly to refer to the text version of the speech and non-speech audio information needed to understand the content, that is displayed as a layer on top of the video screen. W3C describes:
Subtitles are implemented the same way as captions. Subtitles/interlingual subtitles are usually only the spoken audio (for people who can hear the audio but do not know the spoken language). They can be a translation of the caption content, including non-speech audio information.
Captions are needed for accessibility, whereas subtitles in other languages are not directly an accessibility accommodation. (Source: Captions/Subtitles)
Some of the most popular formats for subtitles used on the industry right now are listed below with references to their correspondent specification:
CEA-608: Line 21 Data Services (ANSI/CTA-608-E S-2019) (latest revision of the standard, free of charge)
CEA-708: Digital Television (DTV) Closed Captioning (ANSI/CTA-708-E R-2018) (latest revision of the standard, free of charge)
For a more detailed explanation and comparison between subtitles format, please refer to: TTML and derived captions formats
1 - Side loaded WebVTT supported
2 - Fragmented WebVTT (Live, HLS) supported
3 - ISOBMFF-wrapped WebVTT supported
4 - ISOBMFF-wrapped TTML/DFXP supported
5 - In-Manifest Webvtt support for DASH
6 - In-Manifest Webvtt support for HLS
Side-loaded Webvtt is supported for both HLS and DASH : Android SDK, iOS/tvOS SDK (rendering to be done by app for customUI/SystemUI), Web SDK.
In-Manifest Webvtt support for HLS : iOS/tvOS SDK , Web SDK (Safari) including rendering support. Also supported in Android SDK and Web SDK for non-Safari browsers.
In-Manifest Webvtt support for DASH : This is supported when Webvtt subtitles are wrapped in MP4 container as per DASH IOP recommendation(DASH-IF Interportability Guidelines , section 6.4.5. Guidelines for side-loaded TTML and WebVTT files).
|Streaming Format||Subtitle/CC Format||Bitmovin Player Support|
|MPEG-DASH||CEA-608 over 708||✅|
|HLS||CEA-608 over 708||✅|
* Not available on iOS
✅ supported | ✖ not supported
Subtitles styling and positioning depends on the type of UI used. Either Bitmovin Web UI (available for Desktop browsers, iOS and Android) or the NativeUI (Android, iOS, tvOS, Roku).
For further details on styling subtitles on Web SDK please visit: https://bitmovin.com/demos/caption-styling
Also this Github repository contains a full example of customising the subtitles view: bitmovin-player-web-samples/subtitles at main · bitmovin/bitmovin-player-web-samples
On the other hand, a Custom Native UI can be also used, please refer to Bitmovin’s Android samples repository to see a sample of using Custom UI Subtitle View.
When using SystemUI styling capabilities are restricted to the ones offered by AVFoundation. Please check the SystemUI sample in our Github repository.
The main difference between tvOS with iOS is that it does not support Bitmovin UI only System UI or a Custom NativeUI . So, styling and positioning capabilities are restricted to AVFoundation entirely.
Updated about 1 month ago