Take the 2-minute tour ×
Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. It's 100% free, no registration required.

Duplicate of http://stackoverflow.com/questions/20840533/spumux-and-dvdauthor-menus-and-buttons-not-visible

I would like to describe my steps in detail for the goal of creating a menu with buttons for my DVD. At the end, I do not see the menu and buttons. Can you please help me ?

Videos

First, I created a video that should appear as soon as the disc is run. This video is ini.vob. Second, I created a video for the menu. This is bkg.vob. These videos are generated off a PNG which is itself a scaled version (720x576 for PAL) of a JPG file.

PNG to VOB for ini.vob

ffmpeg -y -loop 1 -t 5 -f image2 -i ini-PAL.png -aspect 16:9 -c:v libx264 -pix_fmt yuv420p ini.mp4
ffmpeg -y -i ini.mp4 -target pal-dvd ini.vob

PNG to VOB for bkg.vob

ffmpeg -y -loop 1 -t 5 -f image2 -i bkg-PAL.png -aspect 16:9 -c:v libx264 -pix_fmt yuv420p bkg.mp4
ffmpeg -y -i bkg.mp4 -target pal-dvd bkg.vob

Video properties - ini.vob

champ@superbox:~/menus$ ffmpeg -i ini.vob
ffmpeg version git-2013-12-01-975110a Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  2 2013 02:23:37 with gcc 4.8 (Ubuntu/Linaro 4.8.1-10ubuntu9)
  configuration: --prefix=/home/champ/ffmpeg_build --extra-cflags=-I/home/champ/ffmpeg_build/include --extra-ldflags=-L/home/champ/ffmpeg_build/lib --bindir=/home/champ/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      52. 56.100 / 52. 56.100
  libavcodec     55. 44.100 / 55. 44.100
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     3. 91.100 /  3. 91.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[NULL @ 0x1da3ee0] start time is not set in estimate_timings_from_pts
Input #0, mpeg, from 'ini.vob':
  Duration: 00:00:04.96, start: 0.540000, bitrate: 1621 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 9000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
At least one output file must be specified

Video properties - bkg.vob

champ@superbox:~/menus$ ffmpeg -i bkg.vob 
ffmpeg version git-2013-12-01-975110a Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  2 2013 02:23:37 with gcc 4.8 (Ubuntu/Linaro 4.8.1-10ubuntu9)
  configuration: --prefix=/home/champ/ffmpeg_build --extra-cflags=-I/home/champ/ffmpeg_build/include --extra-ldflags=-L/home/champ/ffmpeg_build/lib --bindir=/home/champ/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      52. 56.100 / 52. 56.100
  libavcodec     55. 44.100 / 55. 44.100
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     3. 91.100 /  3. 91.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[NULL @ 0x1957ee0] start time is not set in estimate_timings_from_pts
Input #0, mpeg, from 'bkg.vob':
  Duration: 00:00:04.92, start: 0.540000, bitrate: 999 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 9000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
At least one output file must be specified

Menu images and buttons

I created three PNG in GIMP that are all of 720x576 pixels size - menu_image_bl.png (default), menu_select_bl.png (select) and menu_highlight_bl.png (highlight). This was done with the GIMP plugin for DVD authoring. While working with this plugin, I tried with both options of 100% transparency (0% opacity) and 100% opacity (0% transparency).

Image properties

The properties of each image is listed below.

menu_image_bl.png

Image: menu_image_bl.png
  Format: PNG (Portable Network Graphics)
  Class: DirectClass
  Geometry: 660x540+0+0
  Resolution: 28.35x28.35
  Print size: 23.2804x19.0476
  Units: PixelsPerCentimeter
  Type: PaletteAlpha
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
    alpha: 1-bit
  Channel statistics:
    Red:
      min: 0 (0)
      max: 72 (0.282353)
      mean: 0.995354 (0.00390335)
      standard deviation: 8.40683 (0.0329679)
      kurtosis: 67.3501
      skewness: 8.32767
    Green:
      min: 0 (0)
      max: 70 (0.27451)
      mean: 0.967705 (0.00379492)
      standard deviation: 8.1733 (0.0320522)
      kurtosis: 67.3501
      skewness: 8.32767
    Blue:
      min: 0 (0)
      max: 65 (0.254902)
      mean: 0.898583 (0.00352386)
      standard deviation: 7.5895 (0.0297627)
      kurtosis: 67.3501
      skewness: 8.32767
    Alpha:
      min: 0 (0)
      max: 255 (1)
      mean: 3.52521 (0.0138244)
      standard deviation: 29.7742 (0.116761)
      kurtosis: 67.3501
      skewness: -8.32767
  Image statistics:
    Overall:
      min: 0 (0)
      max: 255 (1)
      mean: 63.5841 (0.249349)
      standard deviation: 16.4437 (0.0644851)
      kurtosis: 4690.11
      skewness: 345.932
  Alpha: none   #00000000
  Colors: 2
  Histogram:
    351473: (  0,  0,  0,  0) #00000000 none
      4927: ( 72, 70, 65,255) #484641 srgba(72,70,65,1)
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Interlace: None
  Background color: black
  Border color: srgba(223,223,223,1)
  Matte color: grey74
  Transparent color: none
  Compose: Over
  Page geometry: 660x540+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Zip
  Orientation: Undefined
  Properties:
    Comment: Created with GIMP
    date:create: 2013-12-30T17:54:20+05:00
    date:modify: 2013-12-30T17:54:20+05:00
    png:bKGD                 : chunk was found (see Background color, above)
    png:cHRM                 : chunk was found (see Chromaticity, above)
    png:gAMA                 : gamma=0.45454544 (See Gamma, above)
    png:IHDR.bit_depth       : 8
    png:IHDR.color_type      : 3 (Indexed)
    png:IHDR.interlace_method: 0 (Not interlaced)
    png:IHDR.width,height    : 660, 540
    png:pHYs                 : x_res=2835, y_res=2835, units=1
    png:PLTE.number_colors   : 2
    png:sRGB                 : intent=0 (See Rendering intent)
    png:text                 : 1 tEXt/zTXt/iTXt chunks were found
    png:tRNS                 : chunk was found
    signature: 9b3ca9350fdd2ee5c71f38e84fd6c8aecd4501551ed5d1758f709bc8eccda630
  Artifacts:
    filename: menu_image_bl.png
    verbose: true
  Tainted: False
  Filesize: 1.91KB
  Number pixels: 356K
  Pixels per second: 17.82MB
  User time: 0.030u
  Elapsed time: 0:01.019
  Version: ImageMagick 6.7.7-10 2013-09-10 Q16 http://www.imagemagick.org

menu_highlight_bl.png

Image: menu_highlight_bl.png
  Format: PNG (Portable Network Graphics)
  Class: DirectClass
  Geometry: 660x540+0+0
  Resolution: 28.35x28.35
  Print size: 23.2804x19.0476
  Units: PixelsPerCentimeter
  Type: PaletteAlpha
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
    alpha: 1-bit
  Channel statistics:
    Red:
      min: 0 (0)
      max: 101 (0.396078)
      mean: 94.0791 (0.368938)
      standard deviation: 23.3197 (0.09145)
      kurtosis: 8.25628
      skewness: -3.18006
    Green:
      min: 45 (0.176471)
      max: 255 (1)
      mean: 60.704 (0.238055)
      standard deviation: 54.6326 (0.214246)
      kurtosis: 8.69123
      skewness: 3.26438
    Blue:
      min: 0 (0)
      max: 103 (0.403922)
      mean: 94.92 (0.372235)
      standard deviation: 27.0577 (0.106108)
      kurtosis: 8.10171
      skewness: -3.15331
    Alpha:
      min: 0 (0)
      max: 255 (1)
      mean: 22.1601 (0.0869024)
      standard deviation: 71.8314 (0.281692)
      kurtosis: 6.60234
      skewness: -2.93297
  Image statistics:
    Overall:
      min: 0 (0)
      max: 255 (1)
      mean: 120.636 (0.473081)
      standard deviation: 48.5294 (0.190311)
      kurtosis: 14.8454
      skewness: 3.50959
  Alpha: srgba(101,45,103,0)   #652D6700
  Colors: 4
  Histogram:
        65: (  0,245,  0,255) #00F500 srgba(0,245,0,1)
     25980: ( 12,255,  0,255) #0CFF00 srgba(12,255,0,1)
      4927: ( 71, 71, 63,255) #47473F srgba(71,71,63,1)
    325428: (101, 45,103,  0) #652D6700 srgba(101,45,103,0)
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Interlace: None
  Background color: srgba(101,45,103,1)
  Border color: srgba(223,223,223,1)
  Matte color: grey74
  Transparent color: none
  Compose: Over
  Page geometry: 660x540+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Zip
  Orientation: Undefined
  Properties:
    Comment: Created with GIMP
    date:create: 2013-12-30T17:54:21+05:00
    date:modify: 2013-12-30T17:54:21+05:00
    png:bKGD                 : chunk was found (see Background color, above)
    png:cHRM                 : chunk was found (see Chromaticity, above)
    png:gAMA                 : gamma=0.45454544 (See Gamma, above)
    png:IHDR.bit_depth       : 8
    png:IHDR.color_type      : 3 (Indexed)
    png:IHDR.interlace_method: 0 (Not interlaced)
    png:IHDR.width,height    : 660, 540
    png:pHYs                 : x_res=2835, y_res=2835, units=1
    png:PLTE.number_colors   : 4
    png:sRGB                 : intent=0 (See Rendering intent)
    png:text                 : 1 tEXt/zTXt/iTXt chunks were found
    png:tRNS                 : chunk was found
    signature: e08f60e11f5e3374f7179ac5c1a2b4a99a22fb12afc91a8e849514ff3645e3da
  Artifacts:
    filename: menu_highlight_bl.png
    verbose: true
  Tainted: False
  Filesize: 3.33KB
  Number pixels: 356K
  Pixels per second: 35.64MB
  User time: 0.020u
  Elapsed time: 0:01.010
  Version: ImageMagick 6.7.7-10 2013-09-10 Q16 http://www.imagemagick.org

menu_select_bl.png

Image: menu_select_bl.png
  Format: PNG (Portable Network Graphics)
  Class: DirectClass
  Geometry: 660x540+0+0
  Resolution: 28.35x28.35
  Print size: 23.2804x19.0476
  Units: PixelsPerCentimeter
  Type: PaletteAlpha
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
    alpha: 1-bit
  Channel statistics:
    Red:
      min: 71 (0.278431)
      max: 255 (1)
      mean: 111.838 (0.43858)
      standard deviation: 40.3449 (0.158215)
      kurtosis: 8.60024
      skewness: 3.23197
    Green:
      min: 0 (0)
      max: 71 (0.278431)
      mean: 42.0709 (0.164984)
      standard deviation: 12.1963 (0.0478285)
      kurtosis: 7.78749
      skewness: -2.80239
    Blue:
      min: 0 (0)
      max: 103 (0.403922)
      mean: 94.9205 (0.372237)
      standard deviation: 27.0558 (0.106101)
      kurtosis: 8.10174
      skewness: -3.1533
    Alpha:
      min: 0 (0)
      max: 255 (1)
      mean: 22.1601 (0.0869024)
      standard deviation: 71.8314 (0.281692)
      kurtosis: 6.60234
      skewness: -2.93297
  Image statistics:
    Overall:
      min: 0 (0)
      max: 255 (1)
      mean: 120.417 (0.472225)
      standard deviation: 43.7842 (0.171703)
      kurtosis: 24.3858
      skewness: 4.72915
  Alpha: srgba(101,45,103,0)   #652D6700
  Colors: 4
  Histogram:
      4927: ( 71, 71, 63,255) #47473F srgba(71,71,63,1)
    325428: (101, 45,103,  0) #652D6700 srgba(101,45,103,0)
        65: (248,  0,  3,255) #F80003 srgba(248,0,3,1)
     25980: (255,  0,  0,255) #FF0000 red
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Interlace: None
  Background color: srgba(101,45,103,1)
  Border color: srgba(223,223,223,1)
  Matte color: grey74
  Transparent color: none
  Compose: Over
  Page geometry: 660x540+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Zip
  Orientation: Undefined
  Properties:
    Comment: Created with GIMP
    date:create: 2013-12-30T17:54:21+05:00
    date:modify: 2013-12-30T17:54:21+05:00
    png:bKGD                 : chunk was found (see Background color, above)
    png:cHRM                 : chunk was found (see Chromaticity, above)
    png:gAMA                 : gamma=0.45454544 (See Gamma, above)
    png:IHDR.bit_depth       : 8
    png:IHDR.color_type      : 3 (Indexed)
    png:IHDR.interlace_method: 0 (Not interlaced)
    png:IHDR.width,height    : 660, 540
    png:pHYs                 : x_res=2835, y_res=2835, units=1
    png:PLTE.number_colors   : 4
    png:sRGB                 : intent=0 (See Rendering intent)
    png:text                 : 1 tEXt/zTXt/iTXt chunks were found
    png:tRNS                 : chunk was found
    signature: e59be9b3d412427a468c07626a8bbaeda150c38566bd07c17f9dcaa78133a9f8
  Artifacts:
    filename: menu_select_bl.png
    verbose: true
  Tainted: False
  Filesize: 3.33KB
  Number pixels: 356K
  Pixels per second: 35.64MB
  User time: 0.020u
  Elapsed time: 0:01.009
  Version: ImageMagick 6.7.7-10 2013-09-10 Q16 http://www.imagemagick.org

spumux XML

The plugin also created an XML file to be used with spumux as shown here:

<?xml version="1.0" ?>
  <subpictures>
    <stream>
      <spu force="yes" highlight="menu_highlight_bl.png" image="menu_image_bl.png" select="menu_select_bl.png" start="00:00:00.00">
        <button name="b5" up="b4" x0="40" x1="160" y0="420" y1="460"/>
        <button down="b5" name="b4" up="b3" x0="40" x1="180" y0="340" y1="380"/>
        <button down="b4" name="b3" up="b2" x0="40" x1="160" y0="260" y1="300"/>
        <button down="b3" name="b2" up="b1" x0="40" x1="220" y0="180" y1="220"/>
        <button down="b2" name="b1" up="b0" x0="40" x1="180" y0="100" y1="140"/>
        <button down="b1" name="b0" x0="40" x1="220" y0="20" y1="60"/>
      </spu>
    </stream>
  </subpictures>

I used this with spumux and followed it with conversion to VOB as shown below.

spumux menu_spu.xml < bkg.mp4 > menu.mp4
ffmpeg -y -i menu.mp4 -target pal-dvd menu.vob

DVD

At this point, I have the videos (ini.vob, menu.vob) and the images (menu_image_bl.png, menu_select_bl.png, menu_highlight_bl.png) ready for work with dvdauthor.

dvdauthor

The control XML for dvdauthor (as described in the GIMP plugin) is as follows:

<dvdauthor>
 <vmgm>
  <menus>
   <pgc>
    <vob file="ini.vob"/>
    <post>g0=0;jump titleset 1 menu;</post>
   </pgc>
  </menus>
 </vmgm> 
<titleset>
 <menus>
  <pgc>
    <vob file="menu.vob"/>
     <button name="b0"> jump title 1; </button>
     <button name="b1"> jump title 1; </button>
     <button name="b2"> jump title 1; </button>
     <button name="b3"> jump title 1; </button>
     <button name="b4"> jump title 1; </button>
     <button name="b5"> jump title 1; </button>
    <pre>
      button=g0;
    </pre>
    <post>
      g0=button;jump menu 1;
    </post>
   </pgc>
 </menus>
 <titles>
  <pgc>
   <vob file="movie.vob"/>
  </pgc>
 </titles>
</titleset>
</dvdauthor>

NOTE: I couldn't get dvdauthor to work with files other than VOB format.

After dvdauthor, I converted the contents of the dvd output folder to an ISO image with mkisofs. Then, I ran it with ffplay. Here is what happens:

  1. The ini.vob plays for 5 seconds duration.
  2. The menu.vob appears - without menu or buttons - and disappears within couple of seconds.
  3. The movie.vob starts.

What am I missing ?

share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.