Introduction: Providing Captions for Flash-Based Streaming Video

About: The Described and Captioned Media Program provides free-loan accessible (captioned and described) educational media to parents, teachers, and others involved with educating K-12 students who are blind, visuall…

(download a PDF version of this Instructable from the DCMP's Clearinghouse of Accessibility Information.)

"How do I caption my streaming media?" "How can I caption my video for YouTube or my own Web site?" "How do I view captions on YouTube or Google Video?" "How can I caption my online advertisements?"

No matter what type of Internet-based video you have online, captioning is a great way to get your message to the millions of people worldwide who are deaf or hard of hearing as well as to people who don't have access to the audio on their computers. Captioning is a tool that helps promotes literacy for both children and adults, too. If you want to caption your streaming media, but don't know how or are confused by all the information out there, Kevin Jones, the former DCMP information technologist, will walk you through it step-by-step in this article.

Step 1: Background

If you have ever wanted to watch captioned streaming videos on the Internet, then you probably know how difficult they are to find. Outside of using Google's advanced video search capability to search for captioned videos on the domain, there are very few methods for reliably locating captioned videos on the Internet. While the W3C Accessibility Guidelines (WCAG) maintain that all videos on the Internet should provide both a synchronized text alternative and audio description for accessibility purposes, the reality is that very few actually do. There is growing awareness, however, of the many benefits of providing captions for streaming videos. In particular, captioning:

Improves clarity and comprehension of the sounds and dialogue, particularly when poor audio, heavy accents, background noises, and other such media elements are present.

+ Makes your video (and advertising) accessible to over 28 million Americans who are deaf or hard of hearing.

+ Creates a complete text transcript of the video, which can be indexed by search engines to provide far more accurate search results than keyword tagging alone.

+ Enables translation into multiple languages. Helps to meet regulatory compliance measures for governmental and educational institutions (e.g., Section 508).

+ Allows individuals to follow along with the video dialogue even when they do not have access to sound on their PC or mobile device (e.g., in a noisy area with no headphones or when using devices with faulty or missing sound cards or drivers).

+ Promotes literacy for children and adults by strengthening reading speed, comprehension, spelling, and grammar skills.

Unfortunately, captioning has not flourished on the Internet, in large part, due to the many incompatibilities between all of the various streaming video players and formats. The basis of all captions, however, irrespective of the format, begins with the creation of a "timed text file".

In its most basic form, a timed text caption file includes a text transcript of the sounds and dialogue contained in a video or audio production, along with starting and ending time values, which are used by the video player to synchronize the display of the caption text with the dialogue. Unfortunately, there is no single timed text file format that will work with every video player and format. You will therefore need to determine the type of player you prefer (e.g., Real, Windows Media, Flash) and, assuming you plan to use the Adobe Flash video format, which of the dozens of video-hosting providers you would like to use (e.g., YouTube, Google Video, or Metacafe).

Most free video-hosting providers take your video file and convert it from its original format into the Flash (FLV) format. They then display the Flash video on their site to attract more viewers. With rare exception, the video conversion and compression process that takes place after you upload your video does not incorporate a caption file, which would allow captions to be displayed during playback. One notable exception is Google Video.

The Google Video hosting service and player has the ability to accept several different types of caption files (sometimes called "subtitle" files) and subsequently display the video with closed captions, which can be turned on or off with the push of a button. Additionally, Google Video offers a great deal of storage space for uploading larger video file sizes and can even be used by producers to upload a large video production via the Google desktop loader application. It is best to upload a high-quality video file (e.g., MPEG-4) to ensure that the converted Flash video is of the highest possible viewing quality.

Step 2: Uploading Your Video

You will need to create a Google account at if you do not already have one. (Note: It is possible to use your existing e-mail address to create a Google Account.) After logging in, upload your video to Google's server using the "Upload Your Videos" link. If your video file is over 100MB, you will have to download the desktop loader, which is available for the Windows, Mac, and Linux operating systems. Once the video is uploaded to the Google Video server, you will see a link under the "Live" tab to view the uncaptioned Flash video now hosted on their site. The unique URL (the text shown in your browser's address bar) of the video will be used to create the caption file on

Step 3: Captioning Your Video (Transcription)

Before beginning the actual captioning process, it is advisable to transcribe the dialogue and sounds using a text editor (e.g., Notepad). To begin your "CIY" (Caption it Yourself) project, open a text editor in one window and your Web browser with the uploaded Google video in another window. Turn on the Word Wrap feature of your text editor to keep the sentences in plain view. (If you're using Windows Notepad, select Format and then Word Wrap.) Click the Play button to begin playing the video in your browser. Listen to the first few seconds of audio, and then hit the space bar on your keyboard to pause the video. Press Alt+Tab (or Command+Tab on a Mac) to bring the text editor to the front of your open windows. Transcribe the audio in the text editor, adding text as necessary to convey meaningful information, such as the presence of music, the need for speaker identification, and indication of offscreen sounds. (See DCMP's "Caption it Yourself" for basic captioning guidelines and examples of proper captioning.) Hit Alt+Tab to return to the browser window, and then hit the space bar again to play the next few seconds of video. Continue starting, pausing, and transcribing the video until you have a completed transcript of the sounds and dialogue. Be sure to save your text file frequently to avoid losing any of your work.

Step 4: Captioning Your Video (Review Transcription)

After creating the transcript, review it for accuracy by reading along as you watch the video. You will also want to proof your transcript for spelling and punctuation errors at this point. (Note: If you are planning to embed the final captioned video on your Web site, it is advisable to also provide the transcript on your Web site by either including the transcript text on the Web page along with the video or by providing the transcript as an RSS feed on your Web site. By providing the transcript text on your site, your captions will be accessible to individuals who use a screen reader or refreshable braille display. In addition, search engines will be able to index your site using the full content of your video or audio production rather than using just a few basic keywords.)

Now that you've created a transcript of the audio, there are several options available for creating a timed text caption file. The simplest method is to create an account on in order to caption your video using their online captioning tool. This tool is free to use and runs in your Web browser as an Adobe Flash application, so it will work with the Windows, Mac, and Linux operating systems.

Step 5: Captioning Your Video (Overstream-style)

After logging in to Overstream (you did remember to create an Overstream user account, right?), click on the Create Overstream link. Once the Overstream Library Manager loads, click the "Create" link. Copy and paste the URL from your Google video into the video URL dialog box. As soon as your video shows up in the Overstream Video Player window, you can begin captioning. To create the Overstream caption file, simply cut and paste the sections of caption text from your transcript in to the "subtitle text" box. Don't forget to apply the appropriate start and end times.

After entering in one or two lines of caption text, press the "Save" button to save your overstream. (Give the file a unique name in case you would like to create multiple overstreams.) Using this tool, it is possible to create captions (also called "subtitles") in different languages, as well as subtitles for the deaf and hard of hearing, or SDH. (For a more in-depth review of the proper techniques involved in captioning for the deaf and hard of hearing, you can read the DCMP Captioning Key.)

When creating the overstream, it will be necessary to pay close attention to the time value shown in the "global time line" on the Overstream Library Manager window. You will need to be sure that the start and end times of the caption text correctly match the sounds and dialogue. You will typically enter one or two sentences for each line of "Subtitle Text." The start and end times will likely be between three-to-five seconds long per line, depending upon the amount and timed delivery of the audio. For optimal readability, it is important that no more than two lines of text appear on the video at any given time, with no more than 32 characters per line.

Once you have captioned the entire video and saved your completed overstream, you will need to export the caption text as an SRT file for use with the Google Video player. To do that, click on the "Tools" button in the Overstream Library Manager window, and select"Export Current Subtitles as SRT." Select "Save to File." and save the SRT file to your computer. Open the SRT file using a text editor, and save the file as UTF-8 encoded text by selecting "File," then "Save As," choose "UTF-8" under the "Encoding" drop-down menu, and click "Save." You can now log back in to your Google Video "Uploaded Videos" page and find your video under the "Live Videos" tab. Click the "Captions/Subtitles Add" button, then choose a language, give the caption file a name in the "Captions/Subtitles" field, and select the "Browse" button to upload the SRT file you saved from Overstream. Click "Add" to save the caption file to your video. Now when you view the video you will see a "CC" button that viewers can use to turn the captions on or off at their discretion. At this point, you can embed the video player in your own Web site or blog for others to see when they visit your page by using the snippet of "Embed HTML" code provided under the "Embed" button on your video's page.

Step 6: Captioning Your Video (Alternatives to Overstream)

As an alternative to using Overstream to create your caption file, Microsoft Windows users can install the Subtitle Workshop application. Subtitle Workshop offers many options and advanced features for creating almost any type of caption or subtitle file. However, it is a bit more complicated to learn and use than the Overstream Editor tool.

In addition, for Webmasters who are interested in learning advanced techniques for providing completely accessible Flash videos (including both captions and description) on their Web site, Jeroen Wijering (creator of the JW FLV Media Player) has written an excellent article describing the process, entitled Making Video Accessible.

DCMP's Caption It Yourself lists other desktop and Web-based captioning/subtitling applications.

Step 7: Captioning Your Video (YouTube)

Google Video isn't alone in supporting SRT caption files; the wildly popular YouTube has also aded support for captions. Once you have a completed SRT file, log in to your YouTube account and select the "Account" link in the upper right-hand corner, and then select "My Videos." Click the "Edit" button and then the "Captions and Subtitles" link. Click the "Browse" button, and browse for your SRT file. Give the caption file a unique name in the "Name" field. Select the language of the caption text, and click the "Upload" button to add the caption text to your video. Once the SRT file is uploaded, you will see an up arrow button on the YouTube player window with a "CC" button that can be used to turn the captions on or off. Both Google Video and YouTube allow multiple caption files to be added to a video, which makes it possible to provide captions for individuals who are deaf or hard of hearing as well as to provide subtitles in multiple languages.

Step 8: Captioning Your Video (Open Captions)

As discussed, the simplest method for captioning your video after it has been uploaded to the video-hosting provider's site is to use a free online service. The problem with using any of these captioning methods is that when people view your video directly from the hosting provider's Web site (e.g.,, they will not see the captions, as the hosting providers player has no way of displaying them if they're not "open." Therefore, the only way viewers will be able to see the captions you create using an online tool, such as, is when using that site's video player. If you want your viewers to see your captions on any video site using any player, it will be necessary to "burn" the captions on to the video. Captions that are burned on to (or rather, become a part of) the original video are known as "open captions," because they cannot be turned off.

Step 9: Captioning Your Video (Open Captions With AutoGK)

Luckily, there is a free tool available online called AutoGK that will do most of the difficult work for you. (Currently, AutoGK is only available for the Windows platform.) Since AutoGK uses an SRT file, the manual part of the process is complete. To begin, it will be necessary to save the SRT text file as Unicode text (there is an option in the "Save" dialog box in your text editor to change character encoding).

After AutoGK is installed, start the conversion process, by clicking the "Input File" button and select the original video file from your local drive. Hit Ctrl+F8 on your keyboard to display an "External Subs" field. Click on the "External Subs" button and select the SRT file that you saved from Overstream. The default output file location should be fine, but you can change that if you like. Select "Target Quality (in percentage)" for the output size option, and set the "Target Quality" to 100 percent. Click the "Add Job" button and then the "Start" button. You will need to agree to the GPL license terms for the VirtualDubMod program, and once youve done that, you can start the conversion process. The conversion process could take up to 30 minutes or longer, depending upon the length of the video, the size of the file, the speed of your processor, and several other factors. The finished output file must be under 100MB, or 10 minutes in length, for uploading to YouTube. Therefore, you may have to experiment with the settings to lower the file size accordingly, or you can divide a lengthy video into sections and post them separately.

Step 10: Conclusion

Though the process of providing captions for streaming video is a bit tedious at present, we can look forward to a day when it will be possible to create a single-timed, text-caption file for use in multiple video-player and operating-system environments. That is no small task, but several companies, including AOL, Google, and Yahoo, are already working toward this goal. You can read more about this effort and the establishment of the Internet Captioning Forum.

Of course, it is vitally important that we strive for equal access to all communications. Through captioning, it is possible to make audible information accessible to millions of individuals, and as this trend progresses, we'll welcome the day when captions will be the standard for all streaming media. So be sure to polish up those typing skills, and remember that everyone benefits when your content is fully accessible!


Kevin Jones is the former information technologist for the Described and Captioned Media Program. He holds a bachelor of science in computer science, is a Microsoft Certified Professional, and has worked in systems administration for over eight years. When he is not working on computers, he is spending time with his wife and their three young children.