Skip to Content


NCAM has developed a new captioning system that helps broadcasters meet current and forthcoming FCC requirements regarding the provision of online captions for pre-produced, live and near-live programming. At the heart of the system is TextStreamer, software that solves the problem of providing a single stream of captions for programs that are simultaneously broadcast and streamed online. TextStreamer works with any embedded video player, whether a native browser player or a custom design, and is also optimal for providing closed captions in an embedded video player that does not provide adequate built-in closed-caption support.

TextStreamer consists of two parts: back-end software that is installed at the broadcast facility that monitors and ingests the closed-caption data from any television program at the time of air and converts it into a format that can be distributed over the Internet to Web pages; and a caption-display client (written in HTML5, CSS and Javascript) that can be positioned by the author or video distributor onto any Web page. The client is not integrated into the video player. Instead, it is typically positioned so that the captions are displayed over the player’s video region, exactly as viewers see the captions on television. The Web-client software provides an API which allows captions to be turned on and off by the user, and allows the text to be styled in myriad ways as specified by FCC regulations (including adjustments for font size and color, foreground and background color, and other characteristics). Aside from these functions, the TextStreamer client need have no other visible presence on the page aside from the captions themselves.

Because it is distributing captions at the time of broadcast, TextStreamer can deliver real-time captions (those that are written at the time of broadcast) or pre-produced and pre-recorded captions to any embedded media player. In this manner, TextStreamer provides a time-of-air solution that allows video distributors to satisfy the FCC requirement for delivering captions online with programs that were originally broadcast with closed captions. Broadcasters can position the captions anywhere on the Web page, even independently from the position of the broadcast captions: for example, captions can be positioned over a video player, or could be placed into different container on the web page if desired. And broadcasters can have full control over the placement of TextStreamer captions while the captions are streaming online, making it possible to shift the streaming captions to avoid covering any important on-screen information.

To the user, the TextStreamer interface can be as simple as two buttons: one that toggles the captions on and off, and one that opens a menu of caption styles that the user can set. This is illustrated in the images below. These buttons can be styled in any manner by the author, and linked into the API provided with TextStreamer.

The TextStreamer interface, showing roll-up captions, a captions toggle button and a CCSetup button.

The TextStreamer caption-settings window.

Below is a brief clip showing captions powered by TextStreamer. Notice the easy readability of these rollup captions due to the nice smooth scroll. This was a live captioned broadcast and simultaneous web cast. The captions were 3-row rollup at the bottom of the screen, and TextStreamer replicates that behavior. TextStreamer recovered the existing broadcast captions and repurposed them for the web stream, delaying the data to match the video encoding latency. The delay can be adjusted in TextStreamer. The second part of the clip shows the setup window with caption display options.

Below is a short clip demonstrating a full-screen use case. Notice the addition of a full-screen toggle button at the lower right corner. It's been programmed (via javascript) to hook into the HTML5 full screen API. It sends the <div> (which contains the Livestream™ SWF plugin) into full-screen mode.

For the broadcaster, TextStreamer allows complete monitoring of the caption data as it is brought in from the broadcast signal, and again as it is transmitted over IP. This also provides a method for broadcasters to meet FCC quality-assurance requirements.

For more information about TextStreamer, please contact Donna Danielewski, director, NCAM.