Rename 608/708 Captions in the Player

This topic explains how to rename captions tracks for HLS in the player to conform with 608 and 708 naming requirements.

608 Captions in HLS

608 captions, also known as CEA-608 captions, EIA-608 captions and Line 21 captions, are a standard for closed captioning for NTSC TV analog broadcasts in the United States and Canada. The 608 captions can be inserted into a live stream where they are mixed into the HLS ts (transport stream) files.

The 608 specification doesn't allow for custom naming of captions tracks, and by default will always be named CC1 or CC2, regardless of the language being used.

Renaming captions

It is possible to rename the captions tracks to comply with 608 requirements in the Brightcove Player 6.56.0+ by using a player configuration. In the player's JSON, add the following:

Single language

"hls": {
    "captionServices": {
      "CC1": {
        "language": "en",
        "label": "English"
      }
    }
  }

Two languages

"hls": {
  "captionServices": {
    "CC1": {
      "language": "en",
      "label": "English"
    },
    "CC2": {
      "language": "es",
      "label": "Español"
    }
  }

Note that you can edit the player's JSON configuration in the Studio Players module or using the Player Management API.

708 captions

708 captions require a different set of variables and other additions to reflect.

The format for 708 captions is the following for a single language:

"hls": {
      "parse708captions": true,
      "captionServices": {
        "SERVICE1": {
          "language": "en",
          "label": "English"
        }
      }

Multiple languages are the following:

"hls": {
      "parse708captions": true,
      "captionServices": {
        "SERVICE1": {
          "language": "en",
          "label": "English"
        }
        "SERVICE2": {
          "language": "es",
          "label": "Español"
        }
      }

For the change to work, “parse708captions” has to be set to true, and the variable is changed to SERVICE instead of CC.

If your encoder is sending both 608 and 708 captions, and you wish to hide the 708 captions, add the line "parse708captions": false immediately before the captionServices block:

"hls": {
  "parse708captions": false,
  "captionServices": {
    "CC1": {
      "language": "en",
      "label": "English"
    }
  }