Schumache
2nd June 2004, 06:29
Like all things, even the wrong ones must be done the right way...
This guide covers the methods I use to author SVCD and VCD mpegs to DVD-Video WITHOUT resampling the audio to 48kHz. Why? Because I'm more concerned with keeping the original data intact than with sticking to the DVD specs. There is no such thing as transcoding with no quality degration. My standalone plays the resulting DVDs perfectly well and I think that's the case for the majority of players in the market (by the way mine cost me €59).
So "wrong thing" in our case means the use of 44.1kHz MP2 audio and its exactly what we want to do. Now as for the "right way" I'll briefly describe what I found in other online guides regadring this task and it's major flaws. Infact I only found one other method hosted in just a couple of sites - probably because it's suckiness was too apparent: The "idea" is to use IfoEdit's DVD-Author function and mux a m2v and a (normally inapropriate) mp2 to a vob (ifos get created along the way too). The resulting files couldn't even play in my software player. After some processing with DVD-lab I managed to author a DVD that could play... barely. Navigation was really screwed up (the 41min SVCD appeared as 33min, so you'd have to be a calculator to know where to scan to, in order to reach a desired point - it was playing however in the correct framerate, for those who did the math :-P) and also there was audio desync ranging from 0 to 5 frames wide (meaning the player was getting close to sync and was losing it all over again - and this is hard to spot since it's not an additive desync). PTS data was illogical - I guess that explains the navigation problems and the fact my standalone's timer display was going nuts. And that was with a SVCD source, I couldn't do anything about the VCDs. After comparing the vob IfoEdit created and the one DVD-lab did (from the previous) I concluded that it was IfoEdit's mess. To avoid any missunderstanding though I must say I'm not critisizing IfoEdit, infact I'll use it later on. I think it's a very helpful tool, it's just that the DVD-Author function is not apropriate for the specific task.
So here's what REALLY works:
The SVCD case
=============
You'll need:
DVD-lab (version 1.3 at the time, www.mediachance.com, downloadable trial version exists).
Optionally a demuxer (if your files are a little messed up), I was using TMPGEnc's tools. If you will indeed need the demuxer then you'll also need a muxer, I suggest bbMpeg (comes with it's frontend called AVI2MPG2).
Step 1: Set up your project
----------------------------
Go to the Project... Proterties menu. My SVCDs were NTSC. DVD-lab advises to use Full D1 resolution for your project even if the movies will infact be of lower resolution. That doesn't mean your movies will get re-encoded.
http://users.ntua.gr/mc97066/pic1.jpg
Also in the Options tab make sure Quick MPEG remux is allowed.
http://users.ntua.gr/mc97066/pic2.jpg
Step 2: Create your menu (optional), empty movies and arrange the connections
-----------------------------------------------------------------------------
No need to explain this, read the documentation. Just one thing, if you don't want a menu you can link First Play and Title Button to your first movie, and link the rest of the movies one after the other. You will be able to navigate using the next button on your remote. I always make a menu, it's up to you and your taste.
Step 3: Prepare your assets
---------------------------
If you play around a bit you'll discover DVD-lab wont let you drag a 44.1kHz mp2 in the Video & Audio Assets window. Thats why we'll drop a MPEG-2 system stream in there. Thankfully DVD-lab doesn't check the sampling rate in that case. Actually you can drop a SVCD MPEG-2 stream as well (probably what your downloaded mpgs are) or even a burned to disc stream directly from the CD (the resulting vob was about 3kB larger in this case but behaved exactly the same). If later on you discover DVD-lab stops its muxing prematurely (compare mpg and resulting vob sizes or watch the end of the movie) then your mpg was not muxed very well. If so, demux your mpg and remux it with bbMpeg as a plain MPEG2 system stream. Anyway, once you drop the mpg in DVD-lab's asset window choose "Quick mode without demultiplexing".
http://users.ntua.gr/mc97066/pic3.jpg
You'll then get a warning about using a SVCD resolution movie. That's OK - we know. But you didn't get a, error about the audio - that's cool :-). Now you can drag each asset to it's appropriate empty movie box.
Step 4: Compile the DVD
-----------------------
Go to Project... Compile DVD and this dialog will appear:
http://users.ntua.gr/mc97066/pic4.jpg
The key feature that will allow a proper compilation when using 44.1kHz audio is the alternative multiplexer engine. When selecting it you'll notice that more temporary space is needed - well, can't have it all. Click Start and sit back 'cause it'll take a while. Once it's done you're ready to burn the DVD.
The VCD case
============
You'll need:
DVD-lab (version 1.3 at the time, www.mediachance.com, downloadable trial version exists).
A demuxer, I was using TMPGEnc's tools.
bbMPEG 1.24b18 with its frontend called AVI2MPG2.
DVDPatcher 1.06
IfoEdit 0.96
Prepare yourselves for a very long procedure. It seems that even though VCD resolution is natively supported by the DVD specs, the fact we'll be dealing with a MPEG1 makes the SVCD method inapopriate. I admit the following method is far from being scientific, it's the result of long trial and error tests I've done, but it's working 100%. Rest assured that in other areas I'm smart and resourceful, but DVD authoring and video formats isn't my field ;-).
Step 1+2:
---------
See the SVCD case.
Step 3: Prepare your assets
---------------------------
We'll do something like this for each VCD: mpg -> pseudo vob -> crappy vob -> good vob
The good vobs will be our assets and with those we will make the actual authoring using DVD-lab one last time. However we will use it many times for transforming pseudo vob -> crappy vob. This will all get clearer in a bit.
Step 3a: mpg -> pseudo vob
--------------------------
Demux your VCD mpg to elementary streams (m1v and mp2) using TMPGEnc's tools for instance. Then run AVI2MPG2 (bbMpeg), click "Start Encoding" (don't worry, nothing will get encoded) and click "Settings". In the input and output files tab insert the demuxed streams and choose a filename and type of VOB as output. In the Program Stream Settings tab make these selections.
http://users.ntua.gr/mc97066/pic5.jpg
Click OK and then Start. You created the pseudo vob.
Step 3b: pseudo vob -> crappy vob
--------------------------------
The decorative "crappy" is there because the vob we'll now produce will play perfectly well, but you won't be able to navigate in it (when played in disc mode). We will fix that later.
Run DVDPatcher and load the pseudo vob. Select everything exactly as you see it in the stats of YOUR file, except the aspect ratio were you will choose one of the two options (probably 4:3). Make sure you patch the entire file (as we don't know how standalones will react when suddenly in the second GOP they see an unknown aspect ratio value). Click Patch and confirm.
http://users.ntua.gr/mc97066/pic6.jpg
Create a new project in DVD-lab with no menu, just an empty movie linked with the First Play and Title Button. Drag and drop the pseudo vob inside the assets window (as always select "Quick mode without demultiplexing"). Now drag the asset into the empty movie and go to Project... Compile DVD. Unlike the SVCD method, here select "Main (Fast, DVD compliant)" as the multiplexer engine to use.
http://users.ntua.gr/mc97066/pic7.jpg
Click Start. In the output folder's VIDEO_TS you'll find some files. VTS_01_1.VOB is the crappy vob. Don't delete or move anything from this folder yet.
Steb 3c: crappy vob -> good vob
-------------------------------
Run IfoEdit and open VTS_01_0.IFO. Click "VOB Extras" and make the following selections:
http://users.ntua.gr/mc97066/pic8.jpg
Click OK. Crappy vob just turned into good vob. Move this to a safe place (just the big VOB, we dont need the other files anymore). Don't ask me about the "Rebuild PTS (needed for CCE/TMpgEnc etc)" thing. My vcds always needed it, so either everyone is using those encoders or this option is more general purpose than it says.
When you have made all good vobs for all the vcds you want to author, start a new project and drag them into the assets window. We're getting there...
Step 4: Compile the DVD
-----------------------
Make menu, arrange connections, drag the good vobs to the appropriate empty movie boxes etc. Go to Project... Compile DVD. Just like during the pseudo vob -> crappy vob conversion, we'll use the "Main (Fast, DVD compliant)" multiplexer engine. The alternative will work too in this final pass but the main one is faster and requires less disk space. We were only using the alternative in the SVCD case (which somehow encapsulated the above demuxing-remuxing-etcxing but can't work correctly with our 44.1kHz MPEG1).
Click Start, wait... congratulations, that was it.
I hope these methods will be useful to some of you. If by any chance there is already a known good solution for authoring with 44.1kHz audio I apologize - but really I couldn't find any guide that described anything that actually works (especially for VCDs). It also gave me some insight on what is going wrong during an untweaked authoring process, so maybe some coding-happy guy will make us a tool that does the above steps automatically and with no processing-overlapping.
Bye bye for now :-)
PS1: Quite amazingly, the same techniques can work with MP3 CBR/VBR 44.1/48kHz and this could be quite handy if your SVCDs were infact encoded by you from xvids - you get to keep the original audio and just re-encode the video. All you need to do is prepare the apropriate system streams. If anyone needs help with this preperation feel free to post, I didn't include it here because it was of no particular interrest to me. I did a test with MP3 128 kbps VBR and my software player played it perfectly. Too bad my standalone was "muted".
PS2: Mediachance says they will eventually drop the alternative multiplexer engine in the future. On the other hand a brand new multiplexer will be used in the Pro version (beta is out). Anyway, to be on the safe side I'll keep version 1.3.
This guide covers the methods I use to author SVCD and VCD mpegs to DVD-Video WITHOUT resampling the audio to 48kHz. Why? Because I'm more concerned with keeping the original data intact than with sticking to the DVD specs. There is no such thing as transcoding with no quality degration. My standalone plays the resulting DVDs perfectly well and I think that's the case for the majority of players in the market (by the way mine cost me €59).
So "wrong thing" in our case means the use of 44.1kHz MP2 audio and its exactly what we want to do. Now as for the "right way" I'll briefly describe what I found in other online guides regadring this task and it's major flaws. Infact I only found one other method hosted in just a couple of sites - probably because it's suckiness was too apparent: The "idea" is to use IfoEdit's DVD-Author function and mux a m2v and a (normally inapropriate) mp2 to a vob (ifos get created along the way too). The resulting files couldn't even play in my software player. After some processing with DVD-lab I managed to author a DVD that could play... barely. Navigation was really screwed up (the 41min SVCD appeared as 33min, so you'd have to be a calculator to know where to scan to, in order to reach a desired point - it was playing however in the correct framerate, for those who did the math :-P) and also there was audio desync ranging from 0 to 5 frames wide (meaning the player was getting close to sync and was losing it all over again - and this is hard to spot since it's not an additive desync). PTS data was illogical - I guess that explains the navigation problems and the fact my standalone's timer display was going nuts. And that was with a SVCD source, I couldn't do anything about the VCDs. After comparing the vob IfoEdit created and the one DVD-lab did (from the previous) I concluded that it was IfoEdit's mess. To avoid any missunderstanding though I must say I'm not critisizing IfoEdit, infact I'll use it later on. I think it's a very helpful tool, it's just that the DVD-Author function is not apropriate for the specific task.
So here's what REALLY works:
The SVCD case
=============
You'll need:
DVD-lab (version 1.3 at the time, www.mediachance.com, downloadable trial version exists).
Optionally a demuxer (if your files are a little messed up), I was using TMPGEnc's tools. If you will indeed need the demuxer then you'll also need a muxer, I suggest bbMpeg (comes with it's frontend called AVI2MPG2).
Step 1: Set up your project
----------------------------
Go to the Project... Proterties menu. My SVCDs were NTSC. DVD-lab advises to use Full D1 resolution for your project even if the movies will infact be of lower resolution. That doesn't mean your movies will get re-encoded.
http://users.ntua.gr/mc97066/pic1.jpg
Also in the Options tab make sure Quick MPEG remux is allowed.
http://users.ntua.gr/mc97066/pic2.jpg
Step 2: Create your menu (optional), empty movies and arrange the connections
-----------------------------------------------------------------------------
No need to explain this, read the documentation. Just one thing, if you don't want a menu you can link First Play and Title Button to your first movie, and link the rest of the movies one after the other. You will be able to navigate using the next button on your remote. I always make a menu, it's up to you and your taste.
Step 3: Prepare your assets
---------------------------
If you play around a bit you'll discover DVD-lab wont let you drag a 44.1kHz mp2 in the Video & Audio Assets window. Thats why we'll drop a MPEG-2 system stream in there. Thankfully DVD-lab doesn't check the sampling rate in that case. Actually you can drop a SVCD MPEG-2 stream as well (probably what your downloaded mpgs are) or even a burned to disc stream directly from the CD (the resulting vob was about 3kB larger in this case but behaved exactly the same). If later on you discover DVD-lab stops its muxing prematurely (compare mpg and resulting vob sizes or watch the end of the movie) then your mpg was not muxed very well. If so, demux your mpg and remux it with bbMpeg as a plain MPEG2 system stream. Anyway, once you drop the mpg in DVD-lab's asset window choose "Quick mode without demultiplexing".
http://users.ntua.gr/mc97066/pic3.jpg
You'll then get a warning about using a SVCD resolution movie. That's OK - we know. But you didn't get a, error about the audio - that's cool :-). Now you can drag each asset to it's appropriate empty movie box.
Step 4: Compile the DVD
-----------------------
Go to Project... Compile DVD and this dialog will appear:
http://users.ntua.gr/mc97066/pic4.jpg
The key feature that will allow a proper compilation when using 44.1kHz audio is the alternative multiplexer engine. When selecting it you'll notice that more temporary space is needed - well, can't have it all. Click Start and sit back 'cause it'll take a while. Once it's done you're ready to burn the DVD.
The VCD case
============
You'll need:
DVD-lab (version 1.3 at the time, www.mediachance.com, downloadable trial version exists).
A demuxer, I was using TMPGEnc's tools.
bbMPEG 1.24b18 with its frontend called AVI2MPG2.
DVDPatcher 1.06
IfoEdit 0.96
Prepare yourselves for a very long procedure. It seems that even though VCD resolution is natively supported by the DVD specs, the fact we'll be dealing with a MPEG1 makes the SVCD method inapopriate. I admit the following method is far from being scientific, it's the result of long trial and error tests I've done, but it's working 100%. Rest assured that in other areas I'm smart and resourceful, but DVD authoring and video formats isn't my field ;-).
Step 1+2:
---------
See the SVCD case.
Step 3: Prepare your assets
---------------------------
We'll do something like this for each VCD: mpg -> pseudo vob -> crappy vob -> good vob
The good vobs will be our assets and with those we will make the actual authoring using DVD-lab one last time. However we will use it many times for transforming pseudo vob -> crappy vob. This will all get clearer in a bit.
Step 3a: mpg -> pseudo vob
--------------------------
Demux your VCD mpg to elementary streams (m1v and mp2) using TMPGEnc's tools for instance. Then run AVI2MPG2 (bbMpeg), click "Start Encoding" (don't worry, nothing will get encoded) and click "Settings". In the input and output files tab insert the demuxed streams and choose a filename and type of VOB as output. In the Program Stream Settings tab make these selections.
http://users.ntua.gr/mc97066/pic5.jpg
Click OK and then Start. You created the pseudo vob.
Step 3b: pseudo vob -> crappy vob
--------------------------------
The decorative "crappy" is there because the vob we'll now produce will play perfectly well, but you won't be able to navigate in it (when played in disc mode). We will fix that later.
Run DVDPatcher and load the pseudo vob. Select everything exactly as you see it in the stats of YOUR file, except the aspect ratio were you will choose one of the two options (probably 4:3). Make sure you patch the entire file (as we don't know how standalones will react when suddenly in the second GOP they see an unknown aspect ratio value). Click Patch and confirm.
http://users.ntua.gr/mc97066/pic6.jpg
Create a new project in DVD-lab with no menu, just an empty movie linked with the First Play and Title Button. Drag and drop the pseudo vob inside the assets window (as always select "Quick mode without demultiplexing"). Now drag the asset into the empty movie and go to Project... Compile DVD. Unlike the SVCD method, here select "Main (Fast, DVD compliant)" as the multiplexer engine to use.
http://users.ntua.gr/mc97066/pic7.jpg
Click Start. In the output folder's VIDEO_TS you'll find some files. VTS_01_1.VOB is the crappy vob. Don't delete or move anything from this folder yet.
Steb 3c: crappy vob -> good vob
-------------------------------
Run IfoEdit and open VTS_01_0.IFO. Click "VOB Extras" and make the following selections:
http://users.ntua.gr/mc97066/pic8.jpg
Click OK. Crappy vob just turned into good vob. Move this to a safe place (just the big VOB, we dont need the other files anymore). Don't ask me about the "Rebuild PTS (needed for CCE/TMpgEnc etc)" thing. My vcds always needed it, so either everyone is using those encoders or this option is more general purpose than it says.
When you have made all good vobs for all the vcds you want to author, start a new project and drag them into the assets window. We're getting there...
Step 4: Compile the DVD
-----------------------
Make menu, arrange connections, drag the good vobs to the appropriate empty movie boxes etc. Go to Project... Compile DVD. Just like during the pseudo vob -> crappy vob conversion, we'll use the "Main (Fast, DVD compliant)" multiplexer engine. The alternative will work too in this final pass but the main one is faster and requires less disk space. We were only using the alternative in the SVCD case (which somehow encapsulated the above demuxing-remuxing-etcxing but can't work correctly with our 44.1kHz MPEG1).
Click Start, wait... congratulations, that was it.
I hope these methods will be useful to some of you. If by any chance there is already a known good solution for authoring with 44.1kHz audio I apologize - but really I couldn't find any guide that described anything that actually works (especially for VCDs). It also gave me some insight on what is going wrong during an untweaked authoring process, so maybe some coding-happy guy will make us a tool that does the above steps automatically and with no processing-overlapping.
Bye bye for now :-)
PS1: Quite amazingly, the same techniques can work with MP3 CBR/VBR 44.1/48kHz and this could be quite handy if your SVCDs were infact encoded by you from xvids - you get to keep the original audio and just re-encode the video. All you need to do is prepare the apropriate system streams. If anyone needs help with this preperation feel free to post, I didn't include it here because it was of no particular interrest to me. I did a test with MP3 128 kbps VBR and my software player played it perfectly. Too bad my standalone was "muted".
PS2: Mediachance says they will eventually drop the alternative multiplexer engine in the future. On the other hand a brand new multiplexer will be used in the Pro version (beta is out). Anyway, to be on the safe side I'll keep version 1.3.