Implementing FCC Closed Captioning Requirements

As of January 1, 2014 the FCC requires programs on live US television to include closed captioning when they are re-shown on the Internet. Additional requirements include a set of enhancements to make captions more accessible to a variety of needs. The FCC has adopted these requirements based off of provisions in the Twenty-First Century Communications and Video Accessibility Act of 2010 (CVAA). This Act is a giant step forward in updating laws passed during the 80’s and 90’s to fit with modern technologies.

null

JW Player already supports WebVTT text tracks. If you find yourself in a situation where you have to comply with the exhaustive set of requirements found in the long-winded, circumlocutory FCC 12-9, JW Player is here to help you.

Closed Caption Updates

Without drudging through the small, mundane details of FCC 12-9, it is important to understand some of the high-level concepts. The report goes into great depth in defining and setting up compliance requirements for owners, distributers, and providers of video programming using Internet protocol. It also discusses deadlines, filing complaints, exemptions, and most importantly, how to display captions to an online audience.

Video Programming, Owners, Distributors

The FCC defines the following:

  1. Video programming – any video broadcast on the internet that was previously broadcast on US television, but not including consumer-generated media.
  2. Video programming owners (VPOs) – any person or entity that provides or licenses video content to a distributor that makes the content available to an end user over the Internet.
  3. Video programming distributor/provider (VPD) – any person or entity that makes video programming directly available to the end user through the Internet.
  4. Covered devices – all devices that are designed to receive or playback video programming, including devices with screens of any size, as well as those devices that do not have a screen at all, such as set-top boxes. Note: Devices with screens as of 13 inches or smaller need only support captioning if it is achievable.

VPOs must provide VPDs the required captions to be rendered in the media player. FCC 12-9 however falls short on specifying a standard format for a VPO to deliver the captions track in. Since the JW Player is used across the range of covered devices, including the various browsers on each device, we lean heavily towards the WebVTT standard as a means of providing captions. This standard is being developed as a direct and accurate representation of CEA-608/708 captions specified in Section 79.103 of the report order.

Displaying Captions Online

FCC-12 requires that the style and display of captions must be modifiable by the end user. This is in addition to turning them on or off. The video player must be able to render the captions with the following settings.

Color

Choose the color of the font, the window the captions reside in, and the background/highlight color of the font. The minimum colors required are white, black, red, green, blue, yellow, and magenta.

Opacity

The opacity of the font, the window, and the highlight color of the font.

Other Options

  • Change the font family.
  • Support various character edge attributes like raised, depressed, uniform, drop shadow, and none.
  • Support multiple language tracks.
  • Adjust the size of the font.
  • Presentation of the caption. The captions should appear line by line, painted on word by word, or all at once.
  • Remembering the settings between viewing sessions.

The JW Player does not yet handle the multiple presentation modes. This part of the WebVTT spec is still being authored.

The final item blurs the line between device support of the closed captioning requirements and the implementation in
JW Player. The JW Player supports all of the settings but it does not have a mechanism to save them across sessions. Because of this, closed caption settings should be implemented as a layer overtop of the JW Player. The Player can read in settings from a providers’ site and display the captions appropriately to the end viewers.

Implementation in JW Player

The JW Player supports the style updates by extending the captions configuration block. All of the necessary configuration options are available. A front-end interface can be created using the existing Captions API. This interface can capture users’ preferences and feed the options into the JW Player. Here is an example of such an interface on top of JW Player, implemented by PBS.org:

null

All captions configuration options must be set prior to beginning playback. Caption settings are put into the player when it is setup so if settings are updated during the middle of playback the player will reinitialize and start from the beginning. Setting up the preferences before playback allows a user to go through the process of choosing what they need upfront.

Sample Configuration Block

<div id="myElement"></div>
<script>

    var captions = {
        color: '#FFFFFF',
        fontSize: 20,
        fontFamily: '"Comic Sans MS", cursive, sans-serif',
        fontOpacity: 100,
        backgroundColor: '#000000',
        backgroundOpacity: 75,
        edgeStyle: 'dropshadow',
        windowColor: '#000000',
        windowOpacity: 25
    };

  jwplayer("myElement").setup({
    image: "/uploads/myPoster.jpg",
    file: "/uploads/myVideo.mp4",
    captions: captions,
  });
  jwplayer('myElement').onCaptionsList(function() {
    this.setCurrentCaptions(1);
  });
</script>

Each closed captions setting is captured using an html form element. The variables are updated with some simple JavaScript to detect when a change is done to those forms. For a full demo and sample JavaScript see our FCC Captions Demo. This functionality will be available in every edition of the JW Player by the end of January. If you need to develop something sooner, please contact us at support@jwplayer.com for a beta release.

Other Implementations

Both Android and iOS falls under covered devices. Their latest operating systems both saw updates to provide similar customization options.

iOS

null

Android

null

YouTube

null

Wrapping up

These updates are definitely a promising step forward on using modern technology to ensure that all end users get a quality video experience. Even though there are no international mandates, these improvements can definitely be used globally. We will continue to keep everyone updated with changes to the WebVTT standard and other adjustments to this ruling. If you have an example of using JW Player with these new settings, please share it in the comments.