Subtitles are textual retranscriptions of audio tracks
Different kind of subtitles
1) Burned-in subtitles (or "hard subs")
Which can be compared to "hot iron cow branding" Now that they're burned in the image, there is no way to make them disappear properly, as they're totally part of the image. These burned-in subtitles won't appear in VLC subtitle menu and there is no way to hide them
2) Soft subtitles
Imagine our movie is a single AVI file. Those "soft" subtitles are hidden somewhere within the AVI file, but they're not burned in the image. You may find different languages for these soft subtitles (for example up to 8 different languages in the same AVI !) Those soft subtitles will appear in VLC subtitle menu (one menu bar = 1 language) and you can tick the one you want (or untick all if you don't want to see any subtitle) At least, you know they are embedded in the movie and you can make them appear or disappear at your wish.
3) External subtitles
These are external individual files: most usual are .srt files (which contain only 1 language) or the couple of files .sub + .idx that may contain up to 32 different languages !)
If you want those external subtitles files to be opened automatically when you double click a movie in Windows Explorer, then you'll have to give those external subtitles files the same name that your movie, for example :
Dark Star.avi <= the movie file
Dark Star.srt <= the external subtitle file
If both names match, then VLC will automatically open the subtitle file and display subtitles, as soon as you double click the movie file name. This 3rd kind of subtitles (external files) will appear in VLC subtitle menu, and you can tick /untick them, at your wish.
For more information see how to enable / use subtitles
There are a lot of different types of external subtitle files. Most contain textual data. That is the subtitle and a timestamp at which this subtitles is to be shown. Some of these allow for additional formatting, others don't.
There are also subtitles which are essentially pictures instead of text. These kind of subtitles are used in DVDs, VCDs and the external VobSub files.
- DVD subtitles
- DVB subtitles
- CVD subtitles
- OGT and SVCD Subtitle (OGT) Information (2007 publication)
File Format/Container embedding subtitles
There are also some fileformats to which you can add subtitles. These include:
It is not easy to stream subtitles. DVB or DVD subtitles encapsulated in a TS MPEG stream is your best bet.
Subtitles support in VLC
|Subtitle Name||Extension||Subtitle Type||Character Encoding||Line Break||Text Styling||Metadata Info||Timings||Timing Precision||VLC media player Support|
|AQTitle||*.aqt||Text-based||None||Yes||No||No||Framings||Dependent on Frame||Yes (0.9.0 and over)|
|Blu-Ray||N/A||Image-based||N/A||N/A||N/A||No||Elapsed Time||Unknown||Yes (1.1.0 and over)|
|CVD subtitles||*.cvd||Image-based||N/A||N/A||N/A||No||Elapsed Time||Unknown||Yes|
|DKS||*.dks||Text-based||None||Yes||No||No||Elapsed Time||Unknown||Yes (0.9.0 and over)|
|DVB subtitles||N/A (in DVB streams)||Image-based||N/A||N/A||N/A||No||Elapsed Time||Unknown||Yes|
|JACOsub||*.jss||Text-based||None||Yes||Yes||No||Elapsed Time||10 Milliseconds (1/100th sec)||Yes (0.9.0 and over), no styles|
|Kate||N/A (inside OGG)||Text-based||None||Yes||Yes||No||Unknown||Unknown||Yes (0.9.0 and over), no styles|
|MicroDVD||*.sub||Text-based||None||Yes||No||No||Framings||Dependent on Frames||Yes|
|MPEG-4 Timed Text||.ttxt||XML||Unknown||Unknown||Yes||No||Elapsed Time||1 Millisecond||Yes|
|MPL2||*.mpl/.txt||Text-based||None||Yes||No||No||Sequential Time||100 Milliseconds (1/10th sec)||Yes, no italic|
|MPSub||*.sub||Text-based||None||Yes||No||Yes||Sequential Time||10 Milliseconds (1/100th sec)||Yes (0.9.0 and over)|
|OggWrit||N/A (inside Oggs)||Text-based||None||No||Yes||Yes||Sequential Granules||Dependent on Bitstream||untested ???- Not specified yet.|
|Phoenix Subtitle||*.pjs||Text-based||None||No||No||No||Framings||Dependent on Frames||Yes (0.9.0 and over)|
|PowerDivX||.psb||Text-based||None||No||No||No||Elapsed Time||1 Second||Yes (0.9.0 and over)|
|RealText / SMIL||*.rt||HTML-based||Unicode (UTF-8)||Yes||Yes (SMIL)||No||Elapsed Time||10 Milliseconds (1/100th sec)||Yes (0.9.0 and over)|
|SAMI||*.smi||HTML-based||Unicode (Windows-1252)||Yes||Yes (CSS)||Yes||Framings||Dependent on Frames||Yes|
|Structured Subtitle Format||.ssf||XML||None||No||Yes||Yes||Elapsed Time||1 Millisecond||No|
|SubRip||*.srt||Text-based||Informally Unicode||Yes||No||No||Elapsed Time||1 Millisecond (1/1000th sec)||Yes|
|SubStation Alpha||*.ssa/.ass||Text-based||None||No||Yes||Yes||Elapsed Time||10 Milliseconds (1/100th sec)||Yes, 0.9.0 and over|
|SubViewer||*.sub||Text-based||None||Yes||No||Yes||Elapsed Time||10 Milliseconds (1/100th sec)||Yes|
|SVCD subtitles||*.svcd||Image-based||N/A||N/A||N/A||No||Elapsed Time||Unknown||Yes|
|Universal Subtitle||*.usf||XML||Unicode (UTF-8)||No||Yes (XML DTD)||No||Elapsed Time||1 Millisecond (1/1000th sec)||Yes, 0.9.0 and over|
|VobSub||*.sub, *.idx||Image-based||N/A||N/A||N/A||N/A||Elapsed Time||1 Millisecond (1/1000th sec)||Yes|
|VPlayer||*.txt||Text-based||None||Yes||No||No||Framing or Time||10 Milliseconds (1/100th sec)||Yes|
|XSUB (DivX subtitles)||N/A (embedded in .divx)||Image-based||N/A||N/A||N/A||No||Elapsed Time||1 Millisecond||Yes (1.1.0 and over)|
|VLC can decode this container. |
The module name to use at the command line is subtitle.
The subtitles module is used to read subtitle text files.
- modules/demux/subtitle.c (input demuxer)