From VideoLAN Wiki
Jump to navigation Jump to search
Module: dvbsub
Type Subtitles
First VLC version 0.8.0
Last VLC version -
Operating system(s) all
Description DVB subtitles decoder/encoder
Shortcut(s) -

There are notes in the source code:

 * Preamble
 * DVB subtitles coded as strings of characters are not handled correctly.
 * The character codes in the string should actually be indexes referring to a
 * character table identified in the subtitle descriptor.
 * The spec is quite vague in this area, but what is meant is perhaps that it
 * refers to the character index in the codepage belonging to the language
 * specified in the subtitle descriptor. Potentially it's designed for widechar
 * (but not for UTF-*) codepages.


 * Notes on DDS (Display Definition Segment)
 * -----------------------------------------
 * DDS (Display Definition Segment) tells the decoder how the subtitle image
 * relates to the video image.
 * For SD, the subtitle image is always considered to be for display at
 * 720x576 (although it's assumed that for NTSC, this is 720x480, this
 * is not documented well) Also, for SD, the subtitle image is drawn 'on
 * the glass' (i.e. after video scaling, letterbox, etc.)
 * For 'HD' (subs marked type 0x14/0x24 in PSI), a DDS must be present,
 * and the subs area is drawn onto the video area (scales if necessary).
 * The DDS tells the decoder what resolution the subtitle images were
 * intended for, and hence how to scale the subtitle images for a
 * particular video size
 * i.e. if HD video is presented as letterbox, the subs will be in the
 * same place on the video as if the video was presented on an HD set
 * indeed, if the HD video was pillarboxed by the decoder, the subs may
 * be cut off as well as the video. The intent here is that the subs can
 * be placed accurately on the video - something which was missed in the
 * original spec.
 * A DDS may also specify a window - this is where the subs images are moved so that the (0,0)
 * origin of decode is offset.


  • dvbsub-position <integer> { 0, 1, 2, 4, 8, 5, 6, 9, 10 } : Subpicture position(key)
  • dvbsub-x <integer> : X coordinate of the rendered subtitle default value: -1
  • dvbsub-y <integer> : Y coordinate of the rendered subtitle default value: -1


  • sout-dvbsub-x <integer> : X coordinate of the encoded subtitle default value: -1
  • sout-dvbsub-y <integer> : Y coordinate of the encoded subtitle default value: -1


Integer alignment mapping
Integer Alignment Comment
0 Center
1 Left
2 Right
4 Top
8 Bottom
5 Top-Left 4 + 1
6 Top-Right 4 + 2
9 Bottom-Left 8 + 1
10 Bottom-Right 8 + 2
3 n/a contradictory
7 n/a contradictory

Source code

This page is part of official VLC media player Documentation (User GuideStreaming HowToHacker GuideModules)
Please read the Documentation Editing Guidelines before you edit the documentation
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.