DVD Ripping

xrayspx's picture
Music: 

The Wipeouters - Ravin' Surf

Another note for myself for later, and boy this is dumb.

I’ve been chasing DVD rip quality issues going back forever. Rips of interlaced DVDs look like shit, mencoder is voodoo witchcraft and it’s all too confusing and poorly documented. So the other day I finally decided to make these look better. Being voodoo witchcraft, there are like 10 different ways to deinterlace a stream in mencoder, many of which change in different versions. I just picked the first one (pp=lb) that worked on all my platforms, looks fine even though they say others work better. As an example of the documentation thing, "pp=lb" only shows up once in the man page for mencoder/mplayer, as an example of what not to do.

But ripping with it corrupted the resulting file such that the timestamps were all messed up. Most things could /play/ them, but not seek in the file. For instance Kodi has step functions to jump 10 minutes ahead and back, but it couldn’t do that because it always saw the length of the file as 1 second.

Order of operations was the key. I was running:
mencoder dvd://$title -alang en -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate="1200" -vf pp=lb scale -zoom -xy 720 -oac mp3lame -lameopts br=128 -o /Volumes/Filestore/dvdrip-output/$dir/$title.avi >/dev/null 2>&1

When clearly I needed to be running:
mencoder dvd://$title -alang en -vf pp=lb scale -zoom -xy 720 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate="1200" -oac mp3lame -lameopts br=128 -o /Volumes/Filestore/dvdrip-output/$dir/$title.avi >/dev/null 2>&1

I don't know what even prompted me to test order of operations, because I figured if it shouldn't work as written, it should just fail. Guess not. Neat.

I did figure out how to go back and post-process all the old videos so I don't have to sit and feed DVD trays for weeks re-ripping old content.