This is complete geekitude, so feel free to disregard…
I want to take a DVD, stick it in the drive and at some point have the smallest file possible that contains as much of the original structure as possible.
There are a few problems with most of how this is done most of the time. When you download a video off the internet there are several parts that go into that file. There’s the sound and the video streams and then a container that joins them all together. The container syncs the streams and says, this second of audio goes with this second of video.
The most common container format in use currently is AVI from Microsoft. AVI is a fairly old format and it has several limitations. One of the most important for my purposes is it pairs one video with one audio track. That’s fine when you’re encoding your home movies, but it can’t handle dubbing and director’s commentaries for DVDs.
Inside the container there are even more standards at work. The raw data for audio waveforms and video images is huge. Different compressions schemes, called codecs, are used to compress the data and make it take up less space. They operate in a variety of ways, but ultimately the goal is a tradeoff between the degradation of the image or sound quality and the size of the output file.
Audio compression has seen a bit of improvement over the old workhorse MP3, but the real improvements in technology in recent years has been in the realm of video compression. H.264 is able to produce a file that is nearly visually identical to the MPEG-2 used on DVDs in fraction of the space.
There are some programs, notably HandBrake, that do a pretty good job of doing what I want. Before HandBrake was released however, I started on a ripping program of my own. I’ve been playing with it for a bit and this morning I had a bit of a breakthrough.
When I list the contents of the DVD, it tells me in general that the video is in NTSC. That makes sense, since NTSC is what we use here in America. The encoder was complaining though about dropping frames which shouldn’t happen if I was encoding at the right rate.
It turns out that though NTSC is 60000/1001 frames per second and interlaced every other frame NTSC is 30000/1001, movies are filmed at 24000/1001 and that is how they’re stored on progressive DVDs. In running my encoding previously at 29.97 and ending up with a file around 1500mb. I switched to 23.976 and the file size dropped by 500mb.