Convert DVDs to PlayStation Portable (PSP) format in Linux

Q My son has a PlayStation Portable. I'd like to convert some DVDs and other video files to MPEG4 so he can watch them on long journeys. I'm sure Transcode or Mencoder should be able to do this, but their man pages are full of jargon. Is there an easy way to convert videos for the PSP?

A Yes there is! When converting from DVD, the easiest program is normally dvd::rip, a graphical front-end to Transcode, MPlayer and the like. However, it can't handle the variant of MPEG4 that the PSP uses, so you need FFmpeg, another command line program but one with less confusing options than Transcode or Mencoder. A GUI for FFmpeg, called Vive, can be found at http://vive.sourceforge.net. It only comes as source code but is very easy to install so long as you have the compiler toolkit installed. Download the latest tarball from the site, currently 2.0.0-beta1, and install it with

tar xf vive-2.0.0-beta1.tar.gz
cd vive-2.0.0-beta1
./configure
make
su -c "make install"

Give the root password when asked. Ubuntu users should replace the last command with the following and use their own password

sudo make install

Vive should now be in your KDE or Gnome menu, or you can run it from the command line with vive. Vive uses presets to collect settings for types of output. There's a sample settings file that's not installed by default; install it with

mkdir ~/.vive
cp /usr/share/doc/vive/examples/preferences ~/.vive

This file contains a preset for iPod/PSP videos, but doesn't generate PSP- specific files, nor does it handle widescreen videos. Add this to the preferences file

[PSP]
format=psp
vcodec=mpeg4
maxrate=768000
bitrate=700000
bufsize=4096
aspect=4:3
width=320
height=240
acodec=aac
ab=64
ar=24000
comment=Encoded by Vive

For widescreen videos, copy the block, alter the name to, say, PSPwide, and make the aspect, width and height values 16:9, 368 and 208. When you run Vive, you can select either a DVD title or a file to encode - press Load to have Vive read the list of titles from the DVD. Then choose the output file and a preset to use. You can also alter the values for video and audio encoding from the defaults of the chosen presets. Video files must be saved in the /MP_ROOT/100MNV01 directory on the memory stick and be named M4V00001.MP4, M4V00002.MP4 and so on. The Vive GUI can only convert one file at a time, but the program can be run from the command line for batch processing. To convert all the AVI files in a directory, try

for FILE in *.avi
do
vive -p PSP -i $FILE -o ${FILE/.avi/.mp4}
done

Back to the list