-->
Save your FREE seat for Streaming Media Connect in February. Register Now!

5 Low-Cost Ways to Provide Closed Captions for VOD Streams

Article Featured Image

I recently had a conversation with Hugh Murphy, product marketing and development manager for Success magazine, about the publication’s captioning process with Rev. The majority of the magazine’s content is video on demand (VOD)—or subscription video on demand (SVOD)—and hosted on YouTube. While YouTube doesn’t automatically handle the creation of captions, you can upload and/ or create captions using YouTube’s account tools. With services like Rev and 3Play Media, you can upload videos and purchase transcriptions of your audio as sidecar files to associate with the video file during playback.

The conversation with Murphy gave me the impetus to review the captioning options for both live and-on demand content. In the U.S., there are multiple federal regulations that can impact your video content and distribution, particularly with accessibility requirements. It’s beyond the scope of this column to review Section 508 and FCC requirements, but I advise all my clients that intend to grow large libraries of video content to explore their obligations under local and national laws. (Note that there is a distinction between closed captions and subtitles, and for the purposes of this column, I’m referring mainly to closed captions.)

As most of my work with video solutions architects revolves around HLS content distribution and streaming media servers like Wowza Streaming Engine or Red5 Pro, I am most familiar with integrated server-side techniques for including closed captions. There are multiple ways to provide closed captions with your video:

  • Sidecar WebVTT (Web Video Text Tracks) files: Captions are stored in a separate text file with WebVTT formatting, which indicates start and stop times for captions. The video player loading the stream also loads the sidecar file for the language(s) provided.
  • Integrated CEA-608/708 captions: Apple HLS can deliver captions using the same CEA-608 (Line 21) captions provided with TV broadcast streams. Newer digital TV transmission uses CEA-708 captions. If your VOD or live programming already has CEA-608 or -708 captions, you’ll likely be able to reuse them over Apple HLS or DASH. Captions are injected into H.264 SEI messages of manifest chunks.
  • iOS WebVTT: An HLS manifest can also reference a separate captioning manifest that refers to the text tracks associated with a video stream. Unlike the integrated captions discussed in the previous bullet point, these captions are handled outside of the H.264 chunks. For multiple-language support on iOS, you may want to explore using WebVTT manifests instead of integrated captions.
  • 3GPP Timed Text: MP4 files can embed captions as separate tracks within the actual file. Not all web browsers and/or players will be able to read the timed text tracks, but most server-side streaming solutions can extract these tracks and convert to the caption options mentioned previously.