В итоге я использовал ffmpeg и ffmpeg2theora.
Я решил выбрать предустановку ipod640, потому что это означает, что видео можно хорошо просматривать на iPhone или iPod touch. Конечно, вы можете немного изменить настройки, избавиться от '-vpre ipod640', изменить разрешение или качество. В любом случае команда такова:
ffmpeg -i video_source_file.ext -vcodec libx264 -vpre ipod640 -b 250k -bt 50k -acodec libfaac -ab 56k -ac 2 -s 480x320 video_out_file. mp4
переместите некоторую информацию в начало файла, чтобы видео могло играть до загрузки
qt-faststart video_out_file.mp4 video_out_file_quickstart.mp4
Это зависит от того, установлен ли у вас ffmpeg2theora. Кроме того, я тестировал его только с входным файлом, который является выходным файлом предыдущего преобразования ffmpeg. Команда:
ffmpeg2theora -o video_out_file.ogv video_out_file.mp4