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
add comment

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.