Closed Captioning Guide
Audience and Overview
This guide is intended for all publishers that wish to enable closed captioning or subtitles in the LVP player. Closed captioning is the display of text on the video screen in order to communicate spoken dialogue. The audience for closed captioning is typically those individuals that are hard of hearing. However, they can also be used to display a translation (AKA ’subtitles’) to non-native speakers of the video language. Closed captioning can be enabled by simply uploading a caption file for each of your media.

1.0 Enabling Closed Captions
The workflow to enable captioning is quite simple. Once a caption file is uploaded for a media the LVP player will automatically display a caption-control on the screen. The steps below walk you through this process.
- Create a DFXP formatted caption file for each of your media. See Section 2.0 for information on creating DFXP files.
- Login to your LVP account and select a media. In the ‘Media Properties’ upload your caption file. Only files with an extension of ‘dfxp’ or ‘xml’ will be recognized.

- Once a file has been uploaded for a media the embedded players will display a caption-control. If the control does not appear after approximately ten minutes, double check your DFXP file for errors. See Section 2.2 for troubleshooting suggestions.

1.1 Disabling Captions on a Player
By default, if closed captions are associated with the media the caption-control will automatically show in the player. However, if you would like to disable closed captions on a specific player or tweak the appearance/location of the captions you may do so by adjusting the controls in the Player Builder.
Note: The player preview within the Player Builder will not display a sample of your caption settings. You must generate an embed code for your player to evaluate the result of the settings.
2.0 DFXP Caption Files
The Distribution Format Exchange Profile (DFXP) is an XML-based standard developed by W3C for the representation of time-based text, or captions. The LVP player reads the XML, outputting each line of text on the screen in accordance with the ‘begin’ and ‘end’ time. An example of a properly formatted DFXP file is below. See Appendix A for an example of a DFXP file for captions in multiple languages. If multiple languages are represented, the LVP player will automatically display the list of languages in the player caption-control.
<?xml version=”1.0″ encoding=”UTF-8″?>
<tt xml:lang=”en” xmlns=”http://www.w3.org/ns/ttml” xmlns:tts=”http://www.w3.org/ns/ttml#styling”>
<body>
<div xml:lang=”en”>
<p begin=”00:01.7″ end=”00:05.0″>Narrator: Someone watching a car<br/>accelerate toward light speed</p>
<p begin=”00:05.0″ end=”00:07.4″>would see something<br/>very strange.</p>
<p begin=”00:07.4″ end=”00:10.5″>It would seem as though the<br/>car itself were getting shorter</p>
<p begin=”00:10.5″ end=”00:14.4″>and that time for the person<br/>in the car was slowing down.</p>
<p begin=”00:14.4″ end=”00:17.3″>However, you wouldn’t<br/>see these effects</p>
<p begin=”00:17.3″ end=”00:20.6″>until the car began to<br/>approach the speed of light.</p>
<p begin=”00:20.6″ end=”00:23.0″>At 90% of the speed of light</p>
<p begin=”00:23.0″ end=”00:28.6″>the car would appear to shrink<br/>to 44% of its usual length.</p>
<p begin=”00:28.6″ end=”00:30.2″>This thought experiment</p>
<p begin=”00:30.2″ end=”00:32.5″>answered Einstein’s<br/>old question</p>
<p begin=”00:32.5″ end=”00:33.9″>about what he would see</p>
<p begin=”00:33.9″ end=”00:36.3″>if he traveled along<br/>with a beam of light.</p>
<p begin=”00:36.3″ end=”00:38.4″>He simply couldn’t<br/>make the trip</p>
<p begin=”00:38.4″ end=”00:42.1″>for at the speed of light,<br/>length would contract to zero</p>
<p begin=”00:42.1″ end=”00:44.5″>and time would stop.</p>
</div>
</body>
</tt>
2.1 Creating Caption Files
If you are familiar with the DFXP standard or feel comfortable with the example above, you can easily use a text editor to create the caption files yourself. However, it is extremely important that you use an editor that saves your file with UTF-8 encoding or some of your characters may not display properly. If you do not want to create these files we recommend the following companies that offer creation services:
2.2 Troubleshooting
This section provides troubleshooting information for DFXP files. If you are experiencing problems with your captions, see the suggestions below.
Captions are Not Showing
- Caching Time – The addition of caption files may take up to ten minutes to reflect.
- Player Builder Settings – Verify that you have not inadvertently disabled captions on your player.
- Verify XML Format – Verify that your XML is properly formatted. See here for an XML validator.
- Verify Namespace Declarations – Your captions will not show if you are missing the required namespace declarations. Make sure that your DFXP file contains the following in the header:
- <?xml version=”1.0″ encoding=”UTF-8″?>
- <tt xml:lang=”en” xmlns=”http://www.w3.org/ns/ttml” xmlns:tts=”http://www.w3.org/ns/ttml#styling”>
List of Languages are Missing
- Make sure your file contains an XML language declaration for each language in the body. Even if you have only one language, you must still include the language declaration.
- <?xml version=”1.0″ encoding=”UTF-8″?>
- <tt xml:lang=”en” xmlns=”http://www.w3.org/ns/ttml” xmlns:tts=”http://www.w3.org/ns/ttml#styling”>
- <body>
- <div xml:lang=”en”>
- <p begin=”00:01.7″ end=”00:05.0″>Narrator: Someone watching a car<br/>accelerate toward light speed</p>
- </div>
- <div xml:lang=”es”>
- <p begin=”00:01.7″ end=”00:05.0″>Narrador: Si se observara a un auto<br/>acelerando a la velocidad de la luz</p>
- </div>
- <div xml:lang=”de”>
- <p begin=”00:01.7″ end=”00:03.4″>Sprecher:<br/>Wer ein Auto beobachtet</p>
- </div>
- </body>
- </tt>
Appendix A
The following is an example of a properly formatted DFXP file containing multiple languages:
<?xml version=”1.0″ encoding=”UTF-8″?>
<tt xml:lang=”en” xmlns=”http://www.w3.org/ns/ttml” xmlns:tts=”http://www.w3.org/ns/ttml#styling”>
<body>
<div xml:lang=”en”>
<p begin=”00:01.7″ end=”00:05.0″>Narrator: Someone watching a car<br/>accelerate toward light speed</p>
<p begin=”00:05.0″ end=”00:07.4″>would see something<br/>very strange.</p>
<p begin=”00:07.4″ end=”00:10.5″>It would seem as though the<br/>car itself were getting shorter</p>
<p begin=”00:10.5″ end=”00:14.4″>and that time for the person<br/>in the car was slowing down.</p>
<p begin=”00:14.4″ end=”00:17.3″>However, you wouldn’t<br/>see these effects</p>
<p begin=”00:17.3″ end=”00:20.6″>until the car began to<br/>approach the speed of light.</p>
<p begin=”00:20.6″ end=”00:23.0″>At 90% of the speed of light</p>
<p begin=”00:23.0″ end=”00:28.6″>the car would appear to shrink<br/>to 44% of its usual length.</p>
<p begin=”00:28.6″ end=”00:30.2″>This thought experiment</p>
<p begin=”00:30.2″ end=”00:32.5″>answered Einstein’s<br/>old question</p>
<p begin=”00:32.5″ end=”00:33.9″>about what he would see</p>
<p begin=”00:33.9″ end=”00:36.3″>if he traveled along<br/>with a beam of light.</p>
<p begin=”00:36.3″ end=”00:38.4″>He simply couldn’t<br/>make the trip</p>
<p begin=”00:38.4″ end=”00:42.1″>for at the speed of light,<br/>length would contract to zero</p>
<p begin=”00:42.1″ end=”00:44.5″>and time would stop.</p>
</div>
<div xml:lang=”es”>
<p begin=”00:01.7″ end=”00:05.0″>Narrador: Si se observara a un auto<br/>acelerando a la velocidad de la luz</p>
<p begin=”00:05.0″ end=”00:07.4″>se vería algo muy extraño.</p>
<p begin=”00:07.4″ end=”00:10.5″>Parecería como si el mismo<br/>auto estuviera encogiendo</p>
<p begin=”00:10.5″ end=”00:14.4″>y como si el tiempo pasase más<br/>lento para la persona del auto.</p>
<p begin=”00:14.4″ end=”00:17.3″>Pero no vería estos efectos</p>
<p begin=”00:17.3″ end=”00:20.6″>hasta que el auto empezase a<br/>acercarse a la velocidad de la luz.</p>
<p begin=”00:20.6″ end=”00:23.0″>Al 90% de la velocidad de la luz,</p>
<p begin=”00:23.0″ end=”00:28.6″>el auto parecería encogerse hasta<br/>el 44% de su longitud normal.</p>
<p begin=”00:28.6″ end=”00:30.2″>Este experimento fue la respuesta</p>
<p begin=”00:30.2″ end=”00:32.5″>a una vieja pregunta de Einstein</p>
<p begin=”00:32.5″ end=”00:33.9″>sobre lo que vería</p>
<p begin=”00:33.9″ end=”00:36.3″>si viajase a la velocidad de<br/>un rayo de luz.</p>
<p begin=”00:36.3″ end=”00:38.4″>Simplemente no podría<br/>hacer el viaje</p>
<p begin=”00:38.4″ end=”00:42.1″>porque a la velocidad de la luz, <br/>la longitud se reduciría a cero,</p>
<p begin=”00:42.1″ end=”00:44.5″>y se detendría el tiempo.</p>
</div>
<div xml:lang=”de”>
<p begin=”00:01.7″ end=”00:03.4″>Sprecher:<br/>Wer ein Auto beobachtet</p>
<p begin=”00:03.4″ end=”00:05.9″>das bis fast Licht -<br/>geschwindigkeit beschleunigt</p>
<p begin=”00:05.9″ end=”00:07.4″>würde etwas<br/>sehr seltsames sehen.</p>
<p begin=”00:07.4″ end=”00:10.5″>Es würde ihm vorkommen,<br/>als ob das Auto kürzer wird</p>
<p begin=”00:10.5″ end=”00:12.2″>dem Autofahrer dagegen<br/>schiene es</p>
<p begin=”00:12.2″ end=”00:14.4″>daß die Zeit langsamer ablauft.</p>
<p begin=”00:14.4″ end=”00:17.7″>Dieses würde sich aber<br/>erst dann bemerkbar machen</p>
<p begin=”00:17.7″ end=”00:20.6″>wenn das Auto in die Nähe<br/>der Lichtgeschwindigkeit kommt.</p>
<p begin=”00:20.6″ end=”00:23.0″>Bei 90% der<br/>Lichtgeschwindigkeit</p>
<p begin=”00:23.0″ end=”00:28.0″>würde das Auto bis auf 44% seiner normalen Länge schrumpfen.</p>
<p begin=”00:28.0″ end=”00:30.2″>Dieses Gedankenexperiment<br/>antwortete</p>
<p begin=”00:30.2″ end=”00:33.9″>auf Einsteins alte Frage<br/>was er wohl sehen würde</p>
<p begin=”00:33.9″ end=”00:36.3″>wenn er auf einem<br/>Lichtstrahl mitreiste.</p>
<p begin=”00:36.3″ end=”00:38.4″>Doch solch eine Reise<br/>ist unmöglich</p>
<p begin=”00:38.4″ end=”00:40.1″>denn bei<br/>Lichtgeschwindigkeit</p>
<p begin=”00:40.1″ end=”00:42.0″>würde die Länge<br/>auf Null schrumpfen</p>
<p begin=”00:42.0″ end=”00:44.5″>und die Zeit<br/>würde stille stehen.</p>
</div>
</body>
</tt>