PDA

View Full Version : Creating Menus with Sub Menus ...


CoZZm0
15th November 2002, 07:55
This has perhaps been answered before. I did a serach or 2 but couldn't really find exactly what i was after .. so here it goes..

I'm doing an SVCD with some rips of "extras" from selected DVD's. I'd like to create a menu for the SVCD. It will be one single SVCD, i will have extras from 2 possibly 3 movies and each movie would have say 4 items... I would ultimately like to create a title menu with a selection to goto the selction of Movie1 or Movie2 from that moves into a sub menu with the thumbnails of each avialable movie. Is this possible wihtout going to great expense ? I have time up my sleeve for fiddling, just looking for a push in the right direction regarding software to use for creation of the menus etc.

wmansir
15th November 2002, 08:56
Try this free program. http://www.tscv.org/

I haven't used it myself, it looks fairly complicated, but the site has a number of guides. The program uses the same backend as VCDEasy, VCDImager. Another option is to use VCDImager directly by learning how to write the xml files that it uses to generate the SVCD image.

CoZZm0
15th November 2002, 09:52
Thanks for that. Will give it a go!

matrix
15th November 2002, 16:38
Have a look at this (http://forum.doom9.org/showthread.php?s=&threadid=33906) thread... and many others.
Avisynth is so much more flexible. Mabe a little harder to understand, but... worth trying.
As for the title menu, it's easy. Encode a picture on wich you can write what you want,
1. Movie1
2. Movie2
3. Movie3
4. Scene Selection
I think VCDEasy needs the menu to last at least 4 seconds. Otherwise it won't take it. For the audio if you don't have or want any audio, you can encode the pic. with an avs script looking like this:
BlankClip(length=150, width=480, height=480, fps=29.97, color=$000000)
this would last about 5 sec. at this framerate. The resolution doesn't really matter since you load the script as audio.
And of course, you author it using vcdeasy.
You can give tscv a try. It does most of this, all by itself, but the problem is sometimes it just doesn't work.

Well... just an opinion.

CoZZm0
16th November 2002, 01:43
I think i'm in way over my head with all this. fark. Thanks for your time.

RadicalEd
16th November 2002, 05:21
dont worry! we were all over our heads at some point. I know your aim is to create your own original menus but my guide (in my sig) may give you some kind of insights (its for copying the menus off the dvd instead of making them yourself.. I know, I'm such a lazy moocher :p )
I also HIGHLY reccomend reading the guides on http://www.vcdimager.org/guides/ about VCD menu structures, they'll give you a clearer picture on the whole deal.
Good luck, and don't get discouraged.

CoZZm0
16th November 2002, 06:08
Thanks RadicalEd .. while i've been debating on both sides to say give up and just burn the dammed thing without menus ... or to keep persisting .. i did a few hours in photoshop on the menus ... at the moment i've been reading thru this guide

http://www.geocities.com/diarav2002/vcd/vcd_m_menu.html

Which i feel seems to be good. Using animated icons is a good idea, probably starting off with the really hard stuff.. the part i'm confused about is in Step 6, making the tumbnail videos .. i have a lot of small MPEG's that are to be executed by each menu. These are full SVCD resolution ... The way i understand it is that seeing as my videos are all separate i don't need to have the videos chopped up, however, i highly doubt that the DVD player will resize the thumbnail videos on the fly, so i assume that i have to re-encode my "thumbnails" to a smaller size ... is this right ??

I would rip the selections off the DVD's, but they are each from difference sections on the DVD and don't really ahve a very good icon to rip (in this case..) anyways .. so i'll skip using the DVD menu's for now (thanks for the link tho, into the bookmarks it goes..)

matrix
16th November 2002, 07:06
If you're going to go by that guide, btw I started with that too, you have to extract your thumbnails with virtualdub. It doesn't matter the size, you will resize all of them in your script, when you encode your menu.
They don't really need to be avi, but AviSource works better than DirectShowSource. For me anyway.
That is the hard part. Extracting your thumbnails as avi. Because vdub doesn't take mpeg2. So you have to do a project file with dvd2avi. And then open that d2v file in vdub to extract them.
Once you have your thumbnails extracted, it's very easy to do your menu.
The scripts in that guide are good, but kind of complicated.
For a six thumbnails menu, a script like the one below, does exactly the same thing as one of those scripts in the guide.

clip0=AVISource("C:\Movie\menu.avi")
clip1=AVISource("C:\Movie\t1.avi")
clip2=AVISource("C:\Movie\t2.avi")
clip3=AVISource("C:\Movie\t3.avi")
clip4=AVISource("C:\Movie\t4.avi")
clip5=AVISource("C:\Movie\t5.avi")
clip6=AVISource("C:\Movie\t6.avi")

clip0.BicubicResize(480,480)

Layer(clip1.BicubicResize(100,100),"add",255, 50,40)
Layer(clip2.BicubicResize(100,100),"add",255,190,40)
Layer(clip3.BicubicResize(100,100),"add",255,330,40)
Layer(clip4.BicubicResize(100,100),"add",255,50,170)
Layer(clip5.BicubicResize(100,100),"add",255,190,170)
Layer(clip6.BicubicResize(100,100),"add",255,330,170)
return last

You can control the position of the thumbnails with the last 2 numbers in each Layer. First one is horiz. position, second is the vertical.
Where clip0 is the background, in this case a motion one.
It can be a picture encoded as described in my previous post. And you don't have to cut the spaces for the thumbnails, as the guide states.
The other clips, are the thumbnails.
I belive you can use DirectShowSource instead of AviSource for your menu if it's an mpeg file.
And don't do all that work in paintshop. It's useless.
Give it a try, you'll be amazed.

CoZZm0
16th November 2002, 07:23
OK .. well i've done the 3 menus (1 main 2 sub menus) but haven't cut the spaces yet .. so i'm glad i didn't get that far !! I'm still a little confused on half the stuff which will i think take way too much time to bother explaining.

The Actual application of the script is one of the things that i've got no idea about ... like what the hell am i suppsed to do with it?

You mentioned that your example has a moving background and stills in the foreground correct? I am looking to do the reverse, so i assume that i convert the background to an MPG? using say, TMPGenc, do i have to mux the 15 seconds of audio that i want to use on that menu with the background file ?
For hte thumbnails, obviously they are going to be 15 seconds long too, when i rip them out of the MPG's that they are in at the moment, should i resize the video (somehow) or is that done by the script...

sorry for all the questions, i highly appreciate the help, everyone's situation is different so its hard reading a heap of guides on this stuff and have them all saying conflicting things and using different proggie to seemingly do the same thing.

matrix
16th November 2002, 08:10
your example has a moving background and stills in the foreground correct?
No. My menu has a motion background and motion (animated) thumbnails.
And yes, if you do your background in tmpg as an mpeg file, then the first line of the script should look like this:
clip0=DirectShowSource("C:\Movie\menu.mpg")
Of course you change the path and name.
So it doesn't matter if you use still or motion mpeg as background. Can be eather.

Ok, about the script.
I suppose you have avisynth installed on your machine. If not, install it. You can find it on the download page at doom9.
If you have DVD2SVCD installed, then avisynth is installed too.
You save that script as an avs file, same like the guide says.
And then, you load the script in your encoder, could be tmpgenc, as video, load your audio file as audio, and let it go.
Ok, one more thing, if by any chance you are going to do it with CCE, you have to write this line: ResampleAudio(44100), at the end of the script.
This is all there is to it.
Goodluck.

Edit.

I hope it works for you, it should.
I'm going to bed now. It's after 2 am here.

CoZZm0
16th November 2002, 08:23
Thanks for you time, but i'm just wasting mine trying to piece this all together. bah. another project and 40 hours of encode time scrapped.

matrix
16th November 2002, 17:45
Well, I don't know what you mean, what went wrong, but if you don't want to put any effort into this, then it's not gonna work. Without any info on what happened, nobody can help you.
If you're just looking for an easy way of doing this, mabe you're better off with tscv. But with avisynth, belive me, it's not a question of what you can do, but rather of what you can't do. Coz you can do pretty much anything you imagine.
Don't worry about my time, I offered to help. But you have to want to do this, otherwise you're never gonna do it.
Anyway, good luck in doing whatever you're doing.

CoZZm0
17th November 2002, 00:15
I got an error both times on both scripts. Using yours and the other one that i posted the link to.
Using both TMPGenc and CCE 2.50.

TMPGenc gave:
Unregonized exception in line 1 ... so i dunno what i did ... below are the changes i made. I changed nothing except the path and the "DirectShowSource" section.
------------
clip0=DirectShowSource("D:\MPEGs\For The Birds.mpg")
clip1=DirectShowSource("D:\MPEGs\Company Play.mpg")
clip2=DirectShowSource("D:\MPEGs\Mikes New Car.mpg")
clip3=DirectShowSource("D:\MPEGs\bloopers.mpg")
clip4=DirectShowSource("D:\MPEGs\Gone Nutty.mpg")

clip0.BicubicResize(480,480)

Layer(clip1.BicubicResize(100,100),"add",255, 50,40)
Layer(clip2.BicubicResize(100,100),"add",255,190,40)
Layer(clip3.BicubicResize(100,100),"add",255,330,40)
Layer(clip4.BicubicResize(100,100),"add",255,50,170)

return last
---------

CCE came up each time with

"Frame Size 736x56 is not supported. Supported Frame size is up to 720x576"

the only reason i can think for that is that my menus were made @768x576 to ensure proper aspect ratio when encoded. I also added the ResampleAudio(44100) to the CCE version of the script as you suggested.

I edited the other script that i posted a link to and got the exact same error in CCE and a similar error, except on a different line.


SW

matrix
17th November 2002, 03:15
I tryied too, and doesn't work. I don't think you can use directshowsource so many times. I thought you extracted your thumbnails as avi. It would work with avisource. You can have your menu as mpg. but I think you have to extract the thumbnails with vdub as avis, like the guide says.
If you are willing to do that(it's not a big deal), I can be of assistance if needed.
I allways use the d2v file created by dvd2avi to get my thumbnails. After that, it's very easy to do this.
Well, I don't think there's another way. Except using tscv.
It's up to you what you want to do next.

CoZZm0
17th November 2002, 04:08
well i went into DVD2AVI, loaded a file, saved the project to get a d2v, tried to open it in vdub and it didn't work... Should i just renecode the videos to avi using the "save as avi" option in DVD2AVI? i'm using virtuadub 1.4.9 and DVD2AVI 1.77.3 if that's any help.
vdub says "cannot dermine file type of blah\blah.d2v"..

matrix
17th November 2002, 04:58
To open a d2v file you need to write a script like this:
LoadPlugin("C:\Movie\av_plugins\MPEG2DEC.dll")
Mpeg2source("C:\Movie\ID4.d2v")
You probably have mpeg2dec.dll in dvd2svcd folder. Open the new created script in vdub. You should check the framerate.(video>framerate) If it's not what you want, you can add to your script(this script) convertFPS(29.97) or whatever framerate you have there. You could change it in vdub, but I don't think it does it right, and when you encode your menu, the video might play too fast or too slow.
And now you are all set. In video choose direct stream copy, then select range, and use the frame where you want your thumbnail to begin, then the number of frames, ok and you choose save as avi. Right at the bottom of the save window there's a check box Add operation to job list..., check that and save. And then do the same for every thumbnail, and when finished go file>job control>start.
It's easy. The avis are gonna be big, so make sure you have enough room.
Well, that's all.
Let me know how it goes.

CoZZm0
17th November 2002, 06:32
OK tried that ... i get an error saying "unrecognised exception in line 2".

----------
LoadPlugin("C:\PROGRA~1\DVD2SVCD\MPEG2Dec\mpeg2dec.dll")
Mpeg2source("D:\MPEGs\nutty.d2v")
---------

I have tried using the long file names as well, doesn't make a difference, line 2 is where the error lies. I've tried even using an AVS file created by DVD2SVCD for a rip that i did recently and it still gave the same error in regards to the mpeg2source line.. any thoughts?

matrix
17th November 2002, 07:05
I've seen some complaints about this in the avisynth forum, no one seem to have posted anything about a sollution.
They tryied different versions of mpeg2dec(there are a couple more), but without results.
I am using an older version of avisynth, 2.03, because with the latest one I'm getting lots of errors when doing my menues. It works fine just with a script like yours, but when doing the menues, it acts weird.
I don't know if it'll solve the problem, but if you want to try another version, here's where you find it.
http://sourceforge.net/project/showfiles.php?group_id=57023

You just have to copy the new dll to your system32 directory.

I really hope it's going to be of help.

Edit

I see different letters for your HD. You have 2?
Can you try opening a file from the same HD with your dll?
And you know, you still need the vobs for the d2v file to work.

CoZZm0
17th November 2002, 07:26
OK i had 2.06, i have reverted to 2.03, replaced the file in both my DVD2SVCD dir and the system32 dir, same problem. Copied the folder to C drive adjusted the AVS, same problem. Same physical hdd, just 2 partitions ... I have created the AVS from the MPEG-2 rip (SVCD compliant) file so i'm not using the VOB's for extracting the thumbnails. I can try using the vob's if that would would better?
and the rip that i tested the AVS on from a known working encode i have set DVD2SVCD to not delete any files from the rip creation so all the VOB's were still present.
I might run the uninstall reg patch, reboot and run the install reg patch and check the version of all files that i find by doing a search to ensure that i don't have any of the new "problematic" versions.

Edit :

I'm going to re-rip the VOB's from the DVD to see if that works better. Just wish i hadn't loaded out one of hte DVD's that i'm trying to use for this project.

matrix
17th November 2002, 07:40
I don't know if any of that will solve your problem. With 2.06 you don't have to use the first line, since it loads the plugins automaticly. But I don't think it's gonna work.
I just wonder how the hell did it do it in the first place.

I wish people post with a sollution when they find one.

CoZZm0
17th November 2002, 07:54
No go still. I have re-ripped the VOB's incl IFO (even tho there is only 1 vob for this "extra"), put them on C drive, created the DVD2AVI project, made a new AVS file put the mpeg2dec.dll file in the same folder, so all the files are together ... and still get the error for line 2. Its gotta be something i'm doing wrong here.

------
LoadPlugin("mpeg2dec.dll")
mpeg2source("C:\new\newcar.d2v")
-----

2 lines of script there isn't much that can go wrong ... really.
The only thing it can be is that i'm screwing up something when i do the DVD2AVI part of it.

Load the VOB in DVD2AVI, hit F5 to preview it make sure it works. Video menu:
iDCT: 32bit
Field op: none
colour space: YUV
YUV>RGB: PC Scale
no changes any where else on that menu
Audio menu:
Track number: Track 1
Output method: Disable (also tried demux)
Dobly digital decode: didn't touch anything
48>44K: off

then i just save the project and that is that... not sure why its screwing up. the VOB plays fine in PowerDVD. Not sure what else could be causing the "issue". I even tried Nandub but same error.

"AVISynth Open Failure:
Unrecognized Exception!
(C:\new\newcar.avs, line 2)

Anyways as i wrote all that you posted again and yeh, it seems like a lost cause. lol.

CoZZm0
17th November 2002, 09:24
Well i kinda found a way around it ... If i use DVD2SVCD to rip and convert it and use the AVS and d2v created by DVD2SVCD, i can load it up in vdub ... friggen weird stuff ?? oh well.

CoZZm0
17th November 2002, 11:07
OK i think i'm getting somwhere with this ... i've re-done each of the videos into a 16 second AVI file which is like 315MB ish, uncompressed frames etc. I have converted the background from BMP (still image) to AVI with vdub. All of that is OK. I can open each in WMP and they play/display fine. Using your script, slightly modified for PAL rather than NTSC i have this ...

---------
clip0=AVISource("D:\SVCD Thumbnails\monstersincmenu.avi")
clip1=AVISource("D:\SVCD Thumbnails\bloopersthumb.avi")
clip2=AVISource("D:\SVCD Thumbnails\birdsthumb.avi")
clip3=AVISource("D:\SVCD Thumbnails\paperthumb.avi")
clip4=AVISource("D:\SVCD Thumbnails\playthumb.avi")
clip5=AVISource("D:\SVCD Thumbnails\newcarthumb.avi")
clip6=AVISource("D:\SVCD Thumbnails\bloopersthumb.avi")

clip0.BicubicResize(480,576)

Layer(clip1.BicubicResize(112,98),"add",255,38,40)
Layer(clip2.BicubicResize(112,98),"add",255,184,40)
Layer(clip3.BicubicResize(112,98),"add",255,336,40)
Layer(clip4.BicubicResize(112,98),"add",255,38,170)
Layer(clip5.BicubicResize(112,98),"add",255,184,170)
Layer(clip6.BicubicResize(112,98),"add",255,336,170)

return last
----------

I have put bloopersthumb.avi in 2x just to make up the 6 videos. When i load the script into vdub i get an error:

Avisynth open failure:
Layer: image formats don't match

Any ideas? have my changes to the co-ords of the thumbs screwed around with the syntax too much? making small progress with lots of re-encoding, and of course your help has been excellent!
One thing that i thought of is that the background pic "clip0" doesn't have any audio or anything to make it last 16 seconds ... perhaps i should somehow get it to be 16 seconds long of just showing that still ... hmmm??

matrix
17th November 2002, 16:39
The only thing I can think of is your background indeed. I tried the script even with that pal resolution, and it works here.
Try encoding that pic. with some silent audio. As I wrote earlyer in this thread, you can use another script as audio. Something like:

BlankClip(length=480, width=480, height=480, fps=29.97, color=$000000).ConvertToYUY2

Change the lenght to whatever number of frames you have your thumbnails, and the framerate, to make up for that lenght. Encode it with Tmpg, and use DirectShowSource in the script.
Try that.

Or you can still save it as avi, make the resolution of the blankclip same as your picture, open it in vdub, and use the logo filter to put the pic on top of the blank screen. It works here both ways, whether it's mpeg and use DSsource or it's avi and use avisource.

It might still not work for you. Since a simple script like the one you tried to open the d2v file with, doesn't work.
BTW, does the script created last by DVD2SVCD look the same as the one you created?

This is really frustrating. Even for me. I started all this, and can't come up with an useful advice.
And you've come a long way now, to back up.

Edit

And CoZZm0 let me just remind you that you're not limited at using 6 thumbnails. You can have 4 or 5, or as many as you want. Just have to change the layout to look good. Just in case you make it work.

Edit.

Just remembered one other thing. Before doing anything else, try adding ConvertToRGB32 after each line that opens your files,
clip0=AVISource("D:\SVCD Thumbnails\monstersincmenu.avi").ConvertToRGB32
and at the end, return last.ConvertToYUY2 . When working with mask, I get same error as you if I forget converting to rgb. I'm not sure Layer works only in rgb, coz as I said, I tried your script and works here even without the color conversion.
Just something else to try.

CoZZm0
18th November 2002, 07:26
OK the script works fine if i use just videos as the source. as soon as i put the still there, or the still with video or anything like that it screws up... but i did get it working to overlay the thumbnails onto a video ... but not onto a still background ...

I'll keep working on it to see if i can get it onto a still background which is what i really wanted to begin with.
To create a still background in vdub i opened the single frame AVI and just went to "file > append AVI segment" until i had 2 second worth of video (25 frames) then just saved that and appended that file 16 times to get 16 seconds of video using the still image .. but it didn't work ...

so frustrating that it doesn't give more info about what the problem is.

matrix
19th November 2002, 00:00
I just tried with a still image and a blankclip as audio as described earlier in this thread, encoded with tmpg, and it works fine here. I open that with directshowsource.
It doesn't take long, in tmpg the still pic. and a 600 frames "blank audio", took only a few seconds. I never tried with an avi still, but I don't see why wouldn't work.
Something is still wrong down there.

CoZZm0
19th November 2002, 09:36
Agrh. I still can get it going. its rooted some how. quite obviously something i'm doing ain't right, perhaps something i don't have installed on my system even? i don't know. i've pretty much given up. i've spent too much time on it already and no matter how many guides, tech documetns and stuff that i read about AVS to make sure i'm getting the paramaters right it just doesnt' work as soon as i use either a directshowsource or an AVI file that is in some way that i can't understand different. The only difference between the AVI files i have is the movies are all identical sizes and the one that i "hand made" despsite the resolution that i make it, it is bigger. dunno what the go is. anyways. thanks for you assistance.

Wilbert
20th November 2002, 13:38
and still get the error for line 2. Its gotta be something i'm doing wrong here.
------
LoadPlugin("mpeg2dec.dll")
mpeg2source("C:\new\newcar.d2v")

Use dvd2avi 1.76 instead of 1.77.3.

OK the script works fine if i use just videos as the source. as soon as i put the still there, or the still with video or anything like that it screws up... but i did get it working to overlay the thumbnails onto a video ... but not onto a still background ...

Can you describe your problem a little better? Does it give an error message or don't use see the thumbnails?

In the latter case try the following:

clip0=AVISource("D:\SVCD Thumbnails\monstersincmenu.avi").ConvertToRGB24.ConvertToRGB32
clip1=AVISource("D:\SVCD Thumbnails\bloopersthumb.avi").ConvertToRGB32
...

CoZZm0
20th November 2002, 21:31
Hey Wilbert.

Thanks for you ideas. I gave it a go, (didn't need to use DVD2AVI anymore as i'd done all the video conversions, but i'll keep it in mind to use the slightly older version). However, my menus with the still frame background now combine perfectly with the image format conversion information on the end of each line. Totally amazing how such a small command can make it work.

Now to add text labels under each video and i'll be almost done......

Thanks to all who contributed to the thread, all your efforts have helped immensely.