Page Contents

    Using Captions with the Brightcove Native SDKs

    In this topic, you will learn how to use captions with apps built with the Brightcove Native SDKs.


    Closed captions provide additional information about your video for individuals who wish to access it. Captions are necessary for the deaf and hard of hearing to access the audio portion of your videos. If you are new to captions, see the Overview: Adding Captions to a Video document.

    It is important to understand which types of captions work best for each video format. Begin by reviewing the Video Formats and Captioning document. Brightcove recommends using HLS or DASH videos with WebVTT captions.


    With HLS and DASH video, there are two options for captions playback:

    In-manifest WebVTT

    When using In-manifest WebVTT captions with HLS or DASH videos, your captions will just work. There is nothing extra that you need to do to implement these captions.

    In-manifest WebVTT captions are ingested with your videos. You can only create in-manifest files if you use Dynamic Ingest with Dynamic Delivery. For details, see the following:

    Captions are recognized as in-manifest when the m3u8 file contains the following tag:



    Scenario Location of text track Type of text track #EXT-X-MEDIA:TYPE=SUBTITLES tag
    Dynamic Delivery ingested video
    Dynamic Ingest API
    CDN Segmented Yes

    External (Sidecar) WebVTT

    External WebVTT captions are text files separate from the video. You can associate captions files with a video as follows:


    Scenario Location of text track Type of text track #EXT-X-MEDIA:TYPE=SUBTITLES tag
    Legacy ingested video (no Dynamic Delivery)
    Dynamic Ingest API
    CDN Not segmented No
    Legacy ingested video (no Dynamic Delivery)
    Remote URL
    Media Module or CMS API
    Original Not segmented No
    Dynamic Delivery ingested video
    remote URL
    Media Module or CMS APII
    Original Not segmented No


    For details about setting captions, themes, and default captoins, see the Code Snippets using the Native SDK for Android.


    When using external WebVTT captions, you need to use the Sidecar Subtitles functionality for the Player SDK for iOS and tvOS.

    When retrieving videos from your Video Cloud library using the BCOVPlaybackService, your videos and text tracks will be formatted for Sidecar Subtitles.

    For Brightcove Player customer without Video Cloud or you are providing your own videos, then you need to structure the text tracks as shown in the Manually populating subtitle data section of the Sidecar Subtitles documentation.

    Synchronizing WebVTT captions

    If you are using WebVTT captions, make sure the video and audio is synchronized with the captions. Learn how to do this in the Synchronizing WebVTT Captions document.

    Styling captions

    WebVTT captions can be styled to match your company preferences. For details, see the Styling captions section of the Add Captions to Videos document.


    If a video has captions associated with it, you will see a captions icon in the control bar. Select this icon.

    Captions icon
    Captions icon

    Then, choose your preferred language.

    Select language
    Select language

    During video playback, you should see captions displayed.

    Captions display
    Captions displayed

    Page last updated on 12 May 2022