PDA

View Full Version : A better and easier way to convert DVDs


StephenChow
10th January 2008, 16:12
Hello everyone,

This topic is related to Xvid, Divx and H264 encoding.

Recently, I found a better and easier way to convert DVDs to XviD or H264 movies. However, a commercial MPEG2 decoder is required and not free.

First, download and install NVIDIA PureVideo Decoder from http://www.nvidia.com/object/dvd_decoder_1.02-223-trial.html

Second, use PgcDemux to split a DVD to elements (M2V, AC3...), each of elements will be encoded later.

Third, create an avs script which contains
DirectShowSource("VideoFile.M2V")
Crop...

Finally, encode that avs script. I noticed that the encoded movies by this way are higher quality than movies encoded by other ways. They are always deinterlaced properly without any mistakes whether the quality of DVDs are and you don't have to learn how to deinterlace DVDs!

Thank you

mahsah
10th January 2008, 21:58
Wouldn't videos encoded that way have other problems though?

StephenChow
11th January 2008, 01:49
Wouldn't videos encoded that way have other problems though?

No problems at all, moreover, the encoded videos is a lots better in quality than other ways.

On the other hand, most methods of deinterlacing in avisynth aren't perfect and really hard to deal with them, they relies on different types of MPEG2 material if you apply other ways

Luckily, the movies are always deinterlaced correctly without any need of knowledge of deinterlacing by this way.

ilovejedd
11th January 2008, 04:50
Don't you need NVIDIA video cards (GeForce 7+) for that? If that's the case, what video card do you have? It might very well be that you've got a high end graphics card and that's why you're getting great results but someone with a GeForce 7 card might not fare as well.

Also, why not just use DirectShowSource("Movie.vob")? Does the NVIDIA codec not work if you use VOB files? Or were you just planning to mux the AC3 later to the AVI so you split the vob into elementary streams?

StephenChow
11th January 2008, 10:22
Don't you need NVIDIA video cards (GeForce 7+) for that? If that's the case, what video card do you have? It might very well be that you've got a high end graphics card and that's why you're getting great results but someone with a GeForce 7 card might not fare as well.

Also, why not just use DirectShowSource("Movie.vob")? Does the NVIDIA codec not work if you use VOB files? Or were you just planning to mux the AC3 later to the AVI so you split the vob into elementary streams?

No, we don't need nVidia GPU, I tested on Intel 945G Intergrated Graphic Card and the result is still really better than other ways.

DirectShowSource("movie.vob") shouldn't be used because they are split to 1GB each (limit) so if you want to encode the whole movie, you should use PGCDemux to make 1 large movie ~4GB .m2v video.

CruNcher
11th January 2008, 13:33
Yes Nvidias Decoder is one of the most advanced Mpeg-2 Decoder on the Hardware side (Software im not sure,Elecard/Mainconcepts Decoder is also something to look for and the same for Cyberlinks Decoder) the most important for this to work error free isn't easy at all to establish, because there are differences in how Nvidias Decoder will react to different source useing a different non Nvidia parser.
Many people will certainly get problems this way, because Dshow is a very complex framework and the way you tell people here won't work for all 100% correct because of that complexity and the millions of different configured machines with say more then 300 Dshow filters registered it will end in Chaos (Cadeance could be wrong detected, even Deinterlacing based on Bitstream Flag recognition could fail) for alot of people, belive me.

For this to work for as many people as possible you have to force a Graph that can't automaticly change (inteligent connection) even with hundreds of Dshow filter installed.

You might know the Term that was used back in the 90s (and still is nowdays) for Windows called "DLL HELL" the same applies for Directshow it can get a "Directshow HELL" very fast and debuging this problems becomes a painfull job :D

Look for example @ the way how Nero does it in Nero Recode or Nero Vision and Showtime they try to force everything based on their filters and pretend that any other filter get's into their Framework chain (a closed Directshow chain is much much more stable and resistant to problems and easier to debug).