Man Linux: Main Page and Category List

NAME

       spumux  -  generates  and  multiplexes subtitles into an existing mpeg2
       program stream

SYNOPSIS

       spumux [ -m dvd | -m cvd | -m svcd ] [ -s stream ] [ -v level ] [ -P  ]
       file < mpeg > mpeg-with-subtitles

DESCRIPTION

       spumux  encodes the subtitles and multiplexes it into the mpeg2 program
       stream.

       -m mode
              Sets the encoding for the subtitles.  Can be dvd, cvd, or  svcd.
              Default is dvd.

       -s stream
              Sets the subtitle stream id.  Default is 0.

       -v level
              Sets the verbosity level.

       -P     Enables a progress bar.

       Here’s a sample configuration file:

       <subpictures>
          <stream>
             <spu start="start-time" [ end="end-time" ] [ image="picture.png" ]
                  [ highlight="picture.png" ] [ select="picture.png" ]
                  [ transparent="color-code" ] [ force="yes" ]
                  [ autooutline="infer" [ outlinewidth="width" ]
                    [ autoorder="rows" | autoorder="columns" ] ]
                  [ xoffset="x-coord" yoffset="y-coord" ] >
                <button [ name="name" ] [ x0="x0" ] [ y0="y0" ] [ x1="x1" ]
                        [ y1="y1" ] [ up="name" ] [ down="name" ]
                        [ left="name" ] [ right="name" ] />
                <action [ name="name" ] />
             </spu>
          </stream>
       </subpictures>

       Each  subtitle  image  is  described  by  an  <spu> tag.  The start and
       optional end attributes describe when the subtitle will be displayed on
       the  screen,  in "HR:MM:SS.HU".  The image attribute describes the main
       subtitle image, which can either be a PNG or BMP file.  If  your  image
       is not a full screen image, you can use xoffset and yoffset to move the
       picture around.  In the advent that the  author  is  unable  to  use  a
       graphics  format  with an alpha channel, then the transparent attribute
       can be used to describe which color should  become  fully  transparent.
       The  color  is  in  hexadecimal  as "RRGGBB".  If you want to force the
       display of the subtitle, regardless of whether  the  user  has  enabled
       subtitles  or  not,  you  can  use  the force tag.  When you are making
       menus, the force tag is required.

       The remaining attributes and tags are related to  menu  creation.   The
       highlight  attribute shows what all the buttons look like when they are
       highlighted (i.e. when you are using the arrows in the menu),  and  the
       select  attribute  shows  what  all  the buttons look like when the are
       selected (i.e. for the 1-2 seconds after you press enter in the  menu).
       If  either  of  these (or the image attribute) are omitted, then spumux
       creates a blank (totally transparent) image.  Obviously  at  least  one
       tag should be specified.

       To  aid  in button creation, the autooutline attribute instructs spumux
       to infer where the buttons are located.  It does this by attempting  to
       draw rectangles around a composition of the highlight and select images
       which do not intersect any opaque or semi-opaque pixels.  In  order  to
       support  textual  buttons,  the  attribute  outlinewidth  allows you to
       specify the width of the rectangle which is tested.   Wider  rectangles
       won’t  be  able  to  squeeze  between  the letters.  Finally, autoorder
       describes which way to order the automatically detected buttons,  which
       is  important  for numerically selected buttons and for mapping buttons
       to button names or to the implied names.

       The button and action tags describe  the  buttons  (visibly  selectable
       objects  on the screen) and actions (commands that are executed as soon
       as the associated key is pressed on the remote).  If you are using  the
       autooutline  feature,  just  designing  buttons,  are  happy  with  the
       inferred button navigation, and can deal  with  the  simplistic  naming
       system,  then  you  actually do not even need to specify any buttons or
       actions.  Otherwise, read on.

       The name attribute is used to give a button or action an easy to  refer
       to  name.  By default they are numbered sequentially starting with "1".
       The up, down, left, and right names describe  which  button  or  action
       should  be  tied  to  the  corresponding key when the current button is
       highlighted, though if omitted spumux will use a reasonably intelligent
       algorithm to determine which buttons to move to.

       The   (x0,y0)   coordinates   describe   the  upper  left  hand  corner
       inclusively, while the (x1,y1) coordinates  describe  the  lower  right
       hand  corner  EXclusively.   The coordinates start at 0,0 for the upper
       left hand corner.  Ideally, the y0 and y1 coordinates  should  both  be
       even, so the button edges fully empasses two interlaced scanlines, even
       if there is no data in the extra scanline.  Some DVD players will  fill
       in the extra scanline if it is not specified; spumux makes an effort to
       ensure that will be transparent but there is no guarantee.

HANDLING TEXT BASED SUBTITLES

       Spumux is also able to handle text subtitles, which will be rendered to
       graphics  by  spumux.  A  lot  of  different text (must be non-graphic)
       formats are supported (.sub, .srt, .ssa, .smi, .rt , .txt, .aqt,  .jss,
       .js, ass).  Spumux will try to determine the format automatically.

       If  processing  textbased  subtitles  no  other streams can be defined,
       buttons or others need to be processed in  another  pass  with  spumux,
       using another xml file.

       Following  .xml  file  shows  the  available  tags  and  their  default
       settings.  Only the textsub tag is mandatory, defaults are used if  the
       specific tag is not specified.

       <subpictures>
          <stream>
             <textsub filename="demo1.srt" characterset="ISO8859-1"
                fontsize="28.0" font="arial.ttf" horizontal-alignment="left"
                vertical-alignment="bottom" left-margin="60" right-margin="60"
                top-margin="20" bottom-margin="30" subtitle-fps="25"
                movie-fps="25" movie-width="720" movie-height="574"
                force="yes"
             />
          </stream>
       </subpictures>

       The  textsub  tag  defines  the  settings  for  the  text  to  graphics
       rendering.

       The filename attribute defines the path and  name  of  the  input  text
       subtitle file, this is the only attribute that is mandatory.

       The  characterset  attribute  defines  the  characterset  to  be  used,
       available       charactersets       can       be        found        at
       http://www.gnu.org/software/libiconv.

       The fontsize attribute defines the size of the font in font units.  The
       font attribute defines the font used. Spumux will look  into  the  home
       directory  in  subdirectory .spumux for fonts on linux systems and will
       look into the windows/fonts and subdirectory spumux of the cygwin/mingw
       home  directory  and  into  the  exucution  directory for windows based
       execution for the specified font. Looking for free fonts?  One  listing
       is                                                                 here
       http://www.microsoft.com/typography/links/links.asp?type=free&part=1
       (this is only about fonts, not about operating systems).

       The  horizontal-alignment attribute defines the horizontal alignment of
       the subtitles. Options are: "left", "right",  "center"  and  "default".
       The  "default"  value causes spumux to use the attribute that is in the
       text subtitle file if the format supports such an attribute.

       The  vertical-alignment  attribute  defines  the  vertical   alignment.
       Options are: "top", "center" and "bottom".

       The  margin attributes define the minimum blank pixel space between the
       border of the image and the border of the subtitle lines.

       Defining the subtitle-fps and movie-fps attributes make it possible for
       spumux to recalculate the subtitle timing if these are not the same.

       The  movie-width and movie-height attributes define the maximum size of
       the subtitle page, these shouldn’t be larger than the fram-size of  the
       movie  frame,  normally  they  are the same. Some DVD-players more like
       subtitle frames that are 2 or 4 pixels smaller in height.

       The force option allows you to  force  the  display  of  the  subtitle,
       regardless   of   whether  the  user  has  enabled  subtitles  or  not.
       <marc.leeman@gmail.com> MarcLeeman2003Marc LeemanFri  Dec  30  19:47:26
       CET 2005

                                 18 March 2010