I’m working on bend right now, and while I’m poking through the source code and fixing bugs, I’m finding small notes about stuff. I figured some of it might be worth repeating. Besides, I’m waiting for Super Friends to rip.
mkvmerge, dumpstream, multiple chapters and audio tracks
I use Matroska as the final wrapper format for my ripped movies. The reason for this is that I like the features that come with mkvmerge (the binary to create .mkv files), and the fact that MPlayer supports reading chapters in the format.
Now, one thing I have happen a lot with DVDs is that there are audio commentaries on some tracks. I’m not interested in those, but I still have to tell Matroska to ignore them when creating the final movie file. That part is easy enough. You just add -a to the command if there is more than one, and Matroska will ignore the others, thus saving you space in your final file if your ripped file still has multiple audio tracks (which mine do, since I copy them straight to MPEG-2 with full AC3 audio).
Another small thing that crops up sometimes, and this can be specific to certain tracks or an entire series, is there is an introduction chapter to the track that I don’t want to watch. An example of the first (certain tracks) is that on Super Friends, some episodes have a short “intro summary” that is about 30 seconds long. Actually, it’s the same thing for the second scenario as well (entire series). Universal does it on all the old TV shows that I have so far on DVD (Murder, She Wrote, Knight Rider, The Incredible Hulk). Again, its content that I don’t want as part of the final file, so for bend’s frontend, I can specify (either on a per-series or per-track, or even per-episode basis) which chapter to start ripping at.
Now, that would be all fine and good, but I use mplayer -dumpstream -dumpfile to rip my movies from the DVD. If I’m also starting from a chapter, it will break mkvmerge’s ability to see all the audio tracks, because the AC3 headers are incomplete. And they are incomplete because I started dumping in the middle of the audio/video.
The workaround is easy though, just use mencoder to copy the stream, and rewrite the file as an AVI (mencoder dvd://2 -chapter 2 -ovc copy -oac copy -o copy.avi).
If you haven’t figured out by now, this is a really fringe bump that someone with only very specific ripping settings would run into.  So if you’re not ripping specific chapters, with no encoding, and using matroska to cherry pick your audio tracks, you’ve got nothing to worry about. 🙂
buggy ide and starting chapter with dumpstream
Here’s another comment I found in my source code. On some DVD tracks, for some odd reason I never figured out, my disc drive would flip out and freeze on the ripping. I’ve since changed out my hardware to another motherboard completely, and I can’t remember if I ever tracked down the problem to another cause anyway, but I do remember, and I have this hardcoded now, is that if you added a starting chapter of 1 to your dumpstream command, then it would oddly enough workaround the issue and my drive always worked.
So, if you’re having funky issues with a DVD drive on an IDE cable (not serial ATA, that is), and you are using “mplayer dvd:// -dumpstream -dumpfile movie.vob”, then try adding “-chapter 1” to the arguments. Works for me.
getting chapters with a starting chapter
One last thing. I use mkvmerge to include my chapter information, but to get those, I use dvdxchap, which is part of ogmtools.
Well, dvdxchap can also start at a certain chapter, and reset the chapter count from there. Just add -c and the chapter number, and you’re done. Very nice.
Here’s an example command of starting from chapter 2:
dvdxchap /dev/dvd -c 2 > chapters.txt
Okay thats enough for me, back to fixing more bugs. For the record, the subversion / trac repository is horribly out of date, since bend is still under lots of development, and in some cases doesn’t even work. I’ll fix them as soon as I get the code working properly.