This article covers the most common issues you may come across when attempting to upload or playback caption and/or subtitle files.
In this article:
Uploading
If you encounter an error while uploading subtitles or captions to the website, please ensure that you are uploading a file type that we support (SRT, WebVTT, DFXP/TTML, SCC, and SAMI). You may get one of the two following error messages if you try to upload a file type that we don’t accept (ex. “.txt” or “.csv”), or if you have formatting issues within your file (ex. HTML code or improper syntax).
Unexpected Text Track Upload Type
If you receive the “Unexpected Text Track Upload Type” error, double-check to make sure that you are uploading a file type we accept (SRT, WebVTT, DFXP/TTML, SCC, or SAMI). After converting your document to an accepted file type, try uploading it again.
Invalid Caption File
If your file type is one of the supported file types, and you still receive the “Invalid Caption File” error message, please follow these troubleshooting steps to get your file ready to upload.
First, if you are using a DFXP/TTML, SCC, or SAMI file please convert it to a WebVTT file as this file type is the easiest to troubleshoot. Files can be converted using the Caption and Subtitle Format Converter.
If you are using an SRT file, please convert it to a WebVTT file using the TextEdit (Mac) or Notepad (PC) application. You can follow these steps to convert your file:
- Add the header WEBVTT followed by a line break at the top of the file.
- Find (ctrl-F/cmd-F) the comma character (,) and Replace-All with the period character (.)
- Copy-and-paste the content of the WebVTT file into this validator: Live WebVTT Validator or use Happy Scribe for SRT files (without converting them to WebVTT format).
- Make the appropriate changes for any errors the validator reports back.
Here are some examples:
In this example, the “cue identifier” is the beginning timestamp and the ending timestamp. An error will be registered in the file if you add a line break after the timestamps.
The beginning and ending timestamps must be written on the same line of text or you’ll see an error like the first one displayed in red above.
Additionally, the ending timestamp for a cue should not precede the beginning timestamp or you’ll see the second error message.
Finally, the beginning timestamp for a cue should not be equal to or earlier than the ending timestamp of the preceding cue. In the example above, the ending timestamp for line 3 is the same as the opening timestamp for line 4 (00:18.000), resulting in the error message.
Playback
If your subtitles or captions don’t appear during playback, make sure you’ve activated the caption file by toggling it on. You can toggle on the file by clicking the CC button underneath the video. Once it's blue, the file has been activated.
If your file is active and you’re still not able to see your subtitles/captions, or if they are not showing as expected, please try these troubleshooting tips.
- First, download the file from the video’s settings page.
- If you get a 404 Not Found error, the file is not valid because the file was not uploaded completely or was not accepted by the system. Please delete the existing file and re-upload it.
- If you are able to download the file from the system, convert the file into a WebVTT file using the directions above. Then, paste the content of the file into the validator site.
- Once you've done that, make the appropriate changes in your document for any errors the validator reports back.
We recommend using TextEdit (Mac) or Notepad (PC) to make updates to your document. Here are some examples of common issues we’ve come across with subtitle/caption files:
Replacing and deleting files
Error message: “Something went wrong. Please try deleting your file again.” or “Something went wrong. Please try replacing your file again.”
- You may see an error message if there was a loss in network connection while attempting to either delete or replace a file.
- To resolve this issue, reset your network connection and try again.
Error message: “A caption or subtitle file with that name already exists, please rename the file and try again.”
- If you attempt to upload a file with the exact same name as another caption or subtitle file that is already uploaded to your video, you will see this error message.
- To resolve this issue, either rename the new file or replace the existing file with the new one.
Troubleshooting by caption file type
In the sections below, you will find the specifications for each common caption file type. If you are experiencing errors with your captions, check to make sure your file meets the requirements below.
WebVTT
Specs:
- Files must begin with a valid signature (WEBVTT)
- Timecode is represented as 00:00:00.000
- Cues often (but do not have to) include a numeral identifier (e.g. 1, 2, 3, ...)
- Cues must have a content line (even if empty) followed by a break line
SRT
Specs:
- Files must begin with the first cue's numerical identifier (e.g. 1, 2, 3, ...)
- Timecode is represented as 00:00:00,000
- Hours, minutes, and seconds are always written as two characters (07 not 7).
Milliseconds are always written as three characters.
- Hours, minutes, and seconds are always written as two characters (07 not 7).
- Cues must have a content line (even if empty) followed by a break line
DFXP/TTML
Specs :
- Files must begin with a <tt> tag, include a <body> tag then a <div> tag, wherein each cue is written using the <p> tag
- All tags must open < > and close </>, and be properly nested
- Timecode is represented as 00:00:00.0
SCC
Specs:
- Timecode represented as 00:00:00:00
- Text content represented as '9420 9454 97a1 52ef 73e5 7320 61f2 e520 f2e5 6480 942c 8080 8080 942f' or something similar.
⚠️Note: Because this is a broadcast standard format, the timecode begins at one hour (01:00:00:00) by default. This practice is not standard on the web, and therefore we do not accommodate for it – to ensure your captions begin at the start of the video, make sure the first timecode is 00:00:00:00.
SAMI
Specs:
- Files must begin with a <sami> tag, include a <body> tag then a <sync> tag, wherein each cue is written using the <p> tag
- All tags must open < > and close </>, and be properly nested
- Timecode is represented in milliseconds (one second = 1000)