Since writing the entry below, I have discovered a much simpler way of ripping and transcoding DVDs – k9copy. I really should have noticed this earlier because I investigated k9copy when I was playing with dvd::rip and winFF as GUI tools for ripping. I had (stupidly) assumed that k9copy could only copy a DVD to either another DVD or to an ISO file for later burning (admittedly useful if shrinking a DVD from around 9 Gig to under 5 Gig as is commonly required). My only excuse here is that the drop down menu options offered for “ouput device” only give the names of your optical drives or “ISO image”.
However, I went back to k9copy a few days ago when I was trying to rip a particularly difficult DVD which seemed to be faulty. The disk in question would sometimes read, and at other times fail. So my thinking went along the lines of “I’ll try copying to an ISO so that I can loop mount it and then transcode”. When I opened k9copy to do so I noticed that there was an option to create an MPEG 4 file – moreover there were a bunch of preset options for MPEG 4 encoding in the “settings” menu. I tested ripping and transcoding to MPEG 4 (DIVX 4/5) in an avi container and sure enough, it worked fine and played back perfectly using Totem/Xine/VLC/Mplayer. There is no preset for PSP format, but k9copy allows you to add video and audio codec options to pass to mencode. Result!
I created new video and audio entries called “PSP” and “PSP audio” respectively and I now have a simple, all-in-one GUI for selecting, previewing, ripping and encoding to a format usable on my PSP.
I have documented this (with some screenshots) at
ripping and encoding a dvd to psp format using k9copy
I considered editing the earlier post to reflect this new discovery, but decided to leave it as is because the bash script might still be useful to someone. Certainly I use it when batch ripping several tracks (such as is common on TV series compilation disks) from a single disk. The script can be called from another script which just loops through the titles – e.g for a disk with 4 episodes of a programme called Dr Who, something like:
for i in 1 2 3 4
./psp-encode.sh $i dr-who-$i
would do fine.