I've recently restructured my video collection and wanted to make sure that everything is streamable across the home network. I run PS3 Media Server on my Arch Linux1 workstation. I know that several files aren't natively streamable, such as the DVD I made for my Dad's retirement party with iMovie and iDVD when I had a Macbook Pro for work. So I needed to re-encode the video using audio and video codecs that the PS3 can understand. A great encoding tool is ffmpeg. The command to run at a bash prompt (all on one line) is:
ffmpeg -i input.file -q:v 0 -vcodec libx264 -ab 128k -acodec ac3 -r 23.98 output.mp4
This command is relatively straight forward with a note that
-q:v 0 tells ffmpeg to preserve the original file's video quality. "That's great, but why a frame rate of 23.98?" you ask. Well, it seems to be the standard for NTSC formatted video.
1. Q: How do you know someone is running Arch?
A: They will tell you.