Generating Ogg Theora video files from MP4s
Because of the need to support Firefox when doing HTML5 video, we have to provide Ogg Theora versions of videos which other browsers can handle as MP4/H.264. Our test case was the City Talks site first video, which is a 47-minute 400x224 MP4 file created with iMovie. I initially converted this using (IIRC) VLC, but the results were no good; the audio and video were out of sync, with the video ending up over 51 minutes long. Since then, I've been trying various approaches with ffmpeg and ffmpeg2theora. Both complained about the frame rate of the original video being wrong (180fps, if I read the error message correctly), and the results were still out of sync. I'm now trying a new approach, which involves first dumping to MPEG1, then re-encoding the MPG file to Theora:
ffmpeg -i DrLS.mp4 -target vcd -s 400x224 DrLS.mpg
ffmpeg2theora DrLS.mpg --output DrLS_3.ogv --videoquality 8 --videobitrate 200 --optimize --sync
The first operation produced a working, decent-quality video about 7.5 times the size of the original. The second operation gave good synchronized results, at about 1.5 times the size of the MP4 file -- perfectly acceptable.