LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Creating DVD menus with Spumux + Dvdauthor (https://www.linuxquestions.org/questions/linux-software-2/creating-dvd-menus-with-spumux-dvdauthor-227230/)

Inexactitude 09-06-2004 04:54 AM

Creating DVD menus with Spumux + Dvdauthor
 
Recently, I've been trying to make a menu for one of my dvds using dvdauthor and spumux. I am trying to make a vmgm menu that has six buttons that each point to six different titles. Pretty simple, or so I thought. It turns out that there is only one button, which is working correctly (it points to title 1). My 5 other buttons just aren't there. I'm pretty knew to making dvd menus and have almost no prior experience with xml, so I'm probably making an obvious mistake here. I'd really appreciate if somebody looks at my xml and can figure out why I'm not getting as many buttons as I want. Here is my spumux xml:

Code:

<subpictures>
          <stream>
            <spu start="00:00:00.00" image="menubasic.png"
                  highlight="menubasic2.png" select="menubasic3.png"
                  transparent="color-code" force="yes"
                  autooutline="infer" outlinewidth="1"
                    autoorder="columns">
              </spu>
          </stream>
      </subpictures>

And here is my dvdauthor xml:

Code:

<dvdauthor>
<vmgm>
<menus>
<video/>
<audio/>
<pgc entry="title" pause="inf">
<vob file="menu.mpg"/>
<button>jump title 1;</button>
<button>jump title 2;</button>
<button>jump title 3;</button>
<button>jump title 4;</button>
<button>jump title 5;</button>
<button>jump title 6;</button>
</pgc>
</menus>
</vmgm>
<titleset>
<titles>
<pgc>
<vob file="/home/loco/disk/episode1"/>
<vob file="/home/loco/disk/episode2.mpg"/>
<vob file="/home/loco/disk/episode3.mpg"/>
<vob file="/home/loco/disk/episode4.mpg"/>
<vob file="/home/loco/disk/episode5.mpg"/>
<vob file="/home/loco/disk/episode6.mpg"/>
<post>call vmgm menu;</post>
</pgc>
</titles>
</titleset>
</dvdauthor>

Thanks a lot to anybody who can help out. It's really appreciated.

wapcaplet 09-06-2004 01:03 PM

In your subpictures XML file, I'd suggest specifically declaring each button, something like this:

Code:

<subpictures>
<stream>
<spu
  force="yes"
  start="00:00:00.00"
  highlight="menu_highlight.png">
  <button name="b1" x0="0" y0="90" x1="710" y1="127"
    up="b5" down="b2" />
  <button name="b2" x0="0" y0="127" x1="710" y1="167"
    up="b1" down="b3" />
  <button name="b3" x0="0" y0="167" x1="710" y1="205"
    up="b2" down="b4" />
</spu>
</stream>
</subpictures>

The x0, y0, x1, y1 coordinates are, respectively, the left, top, right, and bottom sides of the box containing the button. You can find these out by opening your menu graphic in the GIMP, or any other software that will tell you image coordinates. Most of my menus are a single column, so I just simplify things and use "0" for the left coordinate and "710" for the right side; then the y0 and y1 are just the top and bottom of each button. Make sure your image is 720x480 (for NTSC) or 720x576 (for PAL), or the coordinates will come out wrong.

I've also tried what you've done, telling it to "infer" the button locations, but didn't have much luck with it. Explicitly specifying buttons is more of a pain, but it seems to give better results, especially if your buttons are in a weird non-columnar configuration.

Also, your dvdauthor file looks OK, but I'd suggest using a separate pgc for each title, and including a "post" command with each, so it will jump back to your menu after the title finishes playing:

Code:

<pgc>
  <vob file="/home/loco/disk/episode1"/>
  <post>jump vmgm menu;</post>
</pgc>
<pgc>
  ...
</pgc>

There are some other commands you can stick in there also, for handling other button-presses while the title is playing. Check out the dvdauthor manual for details.

All in all, I wish you luck! I have been thinking about making an open-source dvd-authoring GUI, since it's something we could sorely use. After seeing your post and others like it, I'm thinking more seriously about doing it.

p.s. - a quick, simpler solution is to try using "rows" instead of "columns" in your "autoorder" statement in the spumux file. Not sure if that will work, but it might!

Inexactitude 09-06-2004 03:23 PM

First, I tried doing the autoinfer with rows, but that produced the same effect of only having one button. So I tried to specify my own coordinates, but now spumux is just spitting out an error. This is the error:

"INFO: PNG had 2 colors
INFO: PNG had 2 colors
INFO: PNG had 2 colors
INFO: Pickbuttongroups, success with 2 groups, useimg=0
spumux: src/subgen-image.c:718: imgfix: Assertion `useimg' failed.
Aborted"

Pretty vague, don't you think? Well, Now I'm pretty confused. Here's my new xml:

Code:

<subpictures>
          <stream>
            <spu start="00:00:00.00" image="menubasic.png"
                  highlight="menubasic2.png" select="menubasic3.png"
                  force="yes"
                  >
                  <button name="b1" x0="0" y0="90" x1="710" y1="127" up="b6" down="b2" />
                  <button name="b2" x0="0" y0="127" x1="710" y1="167" up="b1" down="b3" />
                  <button name="b3" x0="0" y0="150" x1="710" y1="200" up="b2" down="b4" />
                  <button name="b4" x0="0" y0="201" x1="710" y1="235" up="b3" down="b5" />
                  <button name="b5" x0="0" y0="240" x1="710" y1="270" up="b4" down="b6" />
                  <button name="b6" x0="0" y0="275" x1="710" y1="305" up="b5" down="b1" />
              </spu>
          </stream>
      </subpictures>

Thanks to any who can help.

wapcaplet 09-06-2004 08:54 PM

Not sure about that one. The PNGs I've used for button overlays were reduced to an indexed palette with 4 colors (one of which is transparent). Try that, if they aren't already.

Inexactitude 09-06-2004 09:34 PM

My pngs are okay, but I think I may have figured it out (possibly). When I did the xml, I basically put in random coordinates because I was just testing, not doing the actual menu. I have feeling the maybe my images are a little big and are overlapping, which may be causing spumux to choke on it. I'm not sure, but I think it's a possibility. I'm going to actually map out the coordinates this time and see if that helps a little. Hopefully, that'll do the trick for me.

Thanks for all the help.

ivanova 01-16-2005 05:53 AM

Probably too late by now, but...
If the pixels used in the highlight and select images are not the same, you will get the

'spumux: src/subgen-image.c:718: imgfix: Assertion `useimg' failed.'

error.

dhempy 02-21-2005 08:01 PM

Quote:

Originally posted by ivanova
Probably too late by now, but...
If the pixels used in the highlight and select images are not the same, you will get the

'spumux: src/subgen-image.c:718: imgfix: Assertion `useimg' failed.'

error.

Can you explain what "If the pixels...are not the same..." means?

Does that mean the palettes need to be the same? Or the shape of the buttons on the three button images?

The reason I ask is that I'm getting the same error. I had things working a few days ago, but I've changed something and have been unable to figure out exactly what so far. I've searched all over the web, and this thread is the only mention of this error that I've found.

This is what I am getting:

Code:

\dvd\bin\spumux.exe /dvd/job/199906/spumux.xml < \dvd\job\199906\menu.background.mpg > \dvd\job\199906\menu.mpg

DVDAuthor::spumux, version 0.6.10 SvG12.
Build options: gnugetopt magick iconv freetype fribidi
Send bugs to <dvdauthor-users@lists.sourceforge.net>

INFO: Locale=C
INFO: Converting filenames to US-ASCII
INFO: Picture had 4 colors
INFO: Picture had 3 colors
INFO: Picture had 4 colors
INFO: Autodetect 0 = 78x189-640x238
INFO: Autodetect 1 = 78x245-640x294
INFO: Autodetect 2 = 78x301-640x350
INFO: Pickbuttongroups, success with 1 groups, useimg=0
assertion "useimg" failed: file "src/subgen-image.c", line 718


ABORTING D:\dvd\template\telecourse\gen_menu.pl:
(1536) returned from command:
\dvd\bin\spumux.exe /dvd/job/199906/spumux.xml < \dvd\job\199906\menu.background.mpg > \dvd\job\199906\menu.mpg




Here is my spumux.xml file:

Code:

<subpictures>
 <stream>
  <spu
      force="yes"
      start="00:00:00.0"
      image="/dvd/job/199906/menu.plain.png"
      select="/dvd/job/199906/menu.select.png"
      highlight="/dvd/job/199906/menu.highlight.png"
      autooutline="infer" outlinewidth="7"
      autoorder="rows">
 </spu>
 </stream>
</subpictures>

You can see the button graphics here:
http://www.ket.org/temp/spumux/menu.plain.png
http://www.ket.org/temp/spumux/menu.highlight.png
http://www.ket.org/temp/spumux/menu.select.png

Here is the background mpg:
http://www.ket.org/temp/spumux/menu.background.mpg

...which was generated from the background jpg:
http://www.ket.org/temp/spumux/menu.background.jpg



Any ideas?

-dave


All times are GMT -5. The time now is 10:24 AM.