BizUser
1st January 2003, 01:22
I'd like to thank everyone in this forum and on this site for the amazing array of software, guides, tips, help, etc. And I'd like to say I fully endorse and appreciate the concept of the 5 day waiting period before posting - great idea! I've now burned a good number of successful VCDs and S-VCDs from DVDs and I'm hooked.
My main goal is to create a VCD or SVCD (either is fine for now) from an original PAL DVD, but convert to NTSC along the way. I've searched and read, and basically got it to work. In the official Q&A, I found the tip (Q67), quick and dirty method 1, to add two lines to the avisynth script - "bilinearresize (480,480)", and "convertfps(29.97)". And since my source was interlaced (the PAL DVD is of a TV show), I also selected the "de-interlace: smartdeinterlace" setting elsewhere in the prog. This worked surprisingly well, right off the bat (hooray, and thanks for all the guides that got me there!). I also tried the second 'quick and dirty' solution which was "bilinearresize(480,480)", "convertfps(29.97*2)", "assumeframebased()", "separatefields()", "selectevery(4,0,3)", "weave()" - since my source was interlaced, but this did not work for some reason.
So to my question(s) on this topic -
The first line recommended above is "bilinearresize(480,480)". But the last line in the program-generated avisynth script file is already "bicubicresize(480,576,...)" (for a PAL SVCD) - so could I not simply edit this existing bicubicresize statement and change the '576' to '480' - that is, simply do a "bicubicresize(480,480,...)" once and skip the second resize? Sounds logical, but this is a pretty complicated process so I'd like to get some input.
Ideally, I would like to try the 'elegant' method given in the same Q&A, but don't know how to "Stop DVD2SVCD .. <correct audio> ... restart DVD2SVCD from muxing and cutting". I'm familiar with the restart capability from a crash, but I have not found a way to stop/start the process manually. Do I simply 'close' DVD2SVCD (since the launched, background programs are independent and wont be killed mid-stream anyway) and then rerun it after fixing audio, using recover mode? This is what I infer from several posts so just confirming.
Along the same lines, I've pored through the logs of the DVD2SVCD process, and figured out pretty much what is being done behind the scenes, and pretty much managed to run each phase manually (largely to gain insight!). I have not quite figured out yet what program is extracting the AC3 audio stream from the VOB files. Is this DVD2AVI? The log shows the DVD2AVI command line for the video extraction, but in the log for the audio extraction, I see only that "audio extraction finished", with no corresponding logged command line (I wanted to try doing this step manually).
Also, I can't figure out what program is generating the XML for the VCD Image build. I am currently manually editing the XML and re-generating the cue/bin files after DVD2SVCD completes to fix/add chapter links when merging two DVDs together (a la Q41 in the main Q&A). It would be great to use a program to do this. VCDXGEN seems to be a program for this but I don't see DVD2SVCD launching it.
As an experiment, I bypassed the whole DVD2SVCD process (except VOB rip), created a DVD2AVI project, used DVD2AVI to extract the audio as a .wav file (very large!), then loaded the (PAL, 25fps) project in TMPEGenc along with the audio just extracted, and simply had TMPEGEnc create a VCD-compatible output using a setting of NTSC, 29.97 fps - and got a decent result! I was expecting audio synch problems but didn't get any (several posters complain of synch problems with PAL->NTSC) ... So my question is - if TMPEGEnc can convert a 25fps source to 29.97, and resize it to 480x480, what's the reason for having avisynth do this in the frameserver stage? (as suggested in Q67 of the Q&A guide, mentioned above)? Is it just that DVD2SVCD does not have that setting in it's GUI for TMPEGEnc (I realize that DVD2SVCD supports CCE as well as TMPEGEnc, so if you can 'do it once'/'describe it once' in the process (Avisynth), why bother to do it later when you'd have to describe two methods - CCE and TMPEGEnc), or is there something inherently better about doing it in avisynth?
I note also that in the 'elegant' solution mentioned above, we are told to 'correct the time length of the audio file using WLA'. I found and downloaded WLA (Wave Length Adjuster), but ... I'm not clear on what adjustments to make. Is there a FAQ on how to figure this? In my searches on the web, I found a tool AC3Machine, which is just a GUI for BeSweet (used by DVD2SVCD). One of the options it has is to "Change frame rate from ... to ..." - this sounds like a good way to adjust the AC3 stream if any, does it not?
Overall, I have immersed myself in the process, and had good results. What I'm hungry for, and can't seem to find, is a conceptual overview of what the various steps are, and an explanation of 'why' certain steps are performed. For example, I understand how DVD2SVCD uses avisynth, which in turn uses DVD2AVI, to 'frame serve' the VOB data to TMPEGEnc. The avisynth script is performing the resize to SVCD (to 480x480). But TMPEGEnc can do that same resize; why do it in avisynth (I'm sure there's good reason and don't question it - just curious!). Also, DVD2SVCD splits out the audio stream as an AC3 file, processes it using BeSweet, which then gets multiplexed back to the video stream by bbMPEG (my understanding to date!). Presumably done for higher quality, and/or to work around/prevent problems? I guess what I'm looking for is the 'why' of what is done. Is there a place to find that? Obviously, as I experiment more and more, I lean more and more and gain that insight. Searching and Reading through forums is helping and maybe that's the only way. My impression so far is that there are hundreds of programs/tools/plugins, and each typically does several steps of the process, but none does it perfectly, so you've glued together a whole process using only the best features of each component tool. Running each sub-tool independently (using the dvd2svcd log as a guide) is my best source of knowledge so far. I've read both the newbie and advanced guides, but they simply explain settings, not 'why' you may want to use them, or why one tool vs. another.
I've decided now that I need to buy a DVD burner since I've 'proven the concept' with SVCDs. I'm hoping to make use of the concepts I've learned (and will continue to learn) with SVCDs. That's why, even though I got everything to work, I don't want to stop 'understanding' what is going on.
Thanks everyone for your time and support! Sorry for the long post!
My main goal is to create a VCD or SVCD (either is fine for now) from an original PAL DVD, but convert to NTSC along the way. I've searched and read, and basically got it to work. In the official Q&A, I found the tip (Q67), quick and dirty method 1, to add two lines to the avisynth script - "bilinearresize (480,480)", and "convertfps(29.97)". And since my source was interlaced (the PAL DVD is of a TV show), I also selected the "de-interlace: smartdeinterlace" setting elsewhere in the prog. This worked surprisingly well, right off the bat (hooray, and thanks for all the guides that got me there!). I also tried the second 'quick and dirty' solution which was "bilinearresize(480,480)", "convertfps(29.97*2)", "assumeframebased()", "separatefields()", "selectevery(4,0,3)", "weave()" - since my source was interlaced, but this did not work for some reason.
So to my question(s) on this topic -
The first line recommended above is "bilinearresize(480,480)". But the last line in the program-generated avisynth script file is already "bicubicresize(480,576,...)" (for a PAL SVCD) - so could I not simply edit this existing bicubicresize statement and change the '576' to '480' - that is, simply do a "bicubicresize(480,480,...)" once and skip the second resize? Sounds logical, but this is a pretty complicated process so I'd like to get some input.
Ideally, I would like to try the 'elegant' method given in the same Q&A, but don't know how to "Stop DVD2SVCD .. <correct audio> ... restart DVD2SVCD from muxing and cutting". I'm familiar with the restart capability from a crash, but I have not found a way to stop/start the process manually. Do I simply 'close' DVD2SVCD (since the launched, background programs are independent and wont be killed mid-stream anyway) and then rerun it after fixing audio, using recover mode? This is what I infer from several posts so just confirming.
Along the same lines, I've pored through the logs of the DVD2SVCD process, and figured out pretty much what is being done behind the scenes, and pretty much managed to run each phase manually (largely to gain insight!). I have not quite figured out yet what program is extracting the AC3 audio stream from the VOB files. Is this DVD2AVI? The log shows the DVD2AVI command line for the video extraction, but in the log for the audio extraction, I see only that "audio extraction finished", with no corresponding logged command line (I wanted to try doing this step manually).
Also, I can't figure out what program is generating the XML for the VCD Image build. I am currently manually editing the XML and re-generating the cue/bin files after DVD2SVCD completes to fix/add chapter links when merging two DVDs together (a la Q41 in the main Q&A). It would be great to use a program to do this. VCDXGEN seems to be a program for this but I don't see DVD2SVCD launching it.
As an experiment, I bypassed the whole DVD2SVCD process (except VOB rip), created a DVD2AVI project, used DVD2AVI to extract the audio as a .wav file (very large!), then loaded the (PAL, 25fps) project in TMPEGenc along with the audio just extracted, and simply had TMPEGEnc create a VCD-compatible output using a setting of NTSC, 29.97 fps - and got a decent result! I was expecting audio synch problems but didn't get any (several posters complain of synch problems with PAL->NTSC) ... So my question is - if TMPEGEnc can convert a 25fps source to 29.97, and resize it to 480x480, what's the reason for having avisynth do this in the frameserver stage? (as suggested in Q67 of the Q&A guide, mentioned above)? Is it just that DVD2SVCD does not have that setting in it's GUI for TMPEGEnc (I realize that DVD2SVCD supports CCE as well as TMPEGEnc, so if you can 'do it once'/'describe it once' in the process (Avisynth), why bother to do it later when you'd have to describe two methods - CCE and TMPEGEnc), or is there something inherently better about doing it in avisynth?
I note also that in the 'elegant' solution mentioned above, we are told to 'correct the time length of the audio file using WLA'. I found and downloaded WLA (Wave Length Adjuster), but ... I'm not clear on what adjustments to make. Is there a FAQ on how to figure this? In my searches on the web, I found a tool AC3Machine, which is just a GUI for BeSweet (used by DVD2SVCD). One of the options it has is to "Change frame rate from ... to ..." - this sounds like a good way to adjust the AC3 stream if any, does it not?
Overall, I have immersed myself in the process, and had good results. What I'm hungry for, and can't seem to find, is a conceptual overview of what the various steps are, and an explanation of 'why' certain steps are performed. For example, I understand how DVD2SVCD uses avisynth, which in turn uses DVD2AVI, to 'frame serve' the VOB data to TMPEGEnc. The avisynth script is performing the resize to SVCD (to 480x480). But TMPEGEnc can do that same resize; why do it in avisynth (I'm sure there's good reason and don't question it - just curious!). Also, DVD2SVCD splits out the audio stream as an AC3 file, processes it using BeSweet, which then gets multiplexed back to the video stream by bbMPEG (my understanding to date!). Presumably done for higher quality, and/or to work around/prevent problems? I guess what I'm looking for is the 'why' of what is done. Is there a place to find that? Obviously, as I experiment more and more, I lean more and more and gain that insight. Searching and Reading through forums is helping and maybe that's the only way. My impression so far is that there are hundreds of programs/tools/plugins, and each typically does several steps of the process, but none does it perfectly, so you've glued together a whole process using only the best features of each component tool. Running each sub-tool independently (using the dvd2svcd log as a guide) is my best source of knowledge so far. I've read both the newbie and advanced guides, but they simply explain settings, not 'why' you may want to use them, or why one tool vs. another.
I've decided now that I need to buy a DVD burner since I've 'proven the concept' with SVCDs. I'm hoping to make use of the concepts I've learned (and will continue to learn) with SVCDs. That's why, even though I got everything to work, I don't want to stop 'understanding' what is going on.
Thanks everyone for your time and support! Sorry for the long post!