Для решения задачи конвертации под Linux
видео для просмотра на Sony PSP
существует замечательная программа - PSPVC.
Процесс установки
Качаем архив (на данный момент последний релиз за номером 0.3 и все опыты проводились именно на нём) с программой с официального сайта.
Устанавливаем необходимые для сборки пакеты (и их -devel соответствия если нужно):
- nasm
- libfaac
- liba52
- libxvidcore
- gtk+2.0
Распаковываем архив и от рута даем команду установки:
./install.sh <путь для установки> (/usr/local по умолчанию)
После запуска pspvc вы увидите удобный gtk-интерфейс, где можно выставить параметры видео, запустить конвертацию и сгенерировать preview.
Описывать его подробно смысла нет.
Подводные камни
Возможно на вашем дистрибутиве программа соберётся без проблем (на Ubuntu 7.04 собирается без проблем), однако у меня (на ALTLinux) без них не обошлось.
Опишу подробней:
1) Проблема:
программа просто не собирается с ошибкой вида:
ffmpeg/libswscale/swscale_template.c
gcc is unable to create an executable file.
If gcc is a cross-compiler, use the --cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-devel@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.
ERROR during configure FFMPEG
Решение:
В строке #56 файла install.sh убрать флаг "-lX11"
2) Проблема:
не компилируется ffmpeg с ошибкой (возможно из-за старой версии libxvidcore):
ERROR during configure FFMPEG
Если запустить компиляцию ffmpeg вручную видна суть ошибки:
vid_rc.o xvid_rc.c
xvid_rc.c: In function `ff_xvid_rate_control_init':
xvid_rc.c:70: error: structure has no member named `vbv_size'
xvid_rc.c:71: error: structure has no member named `vbv_maxrate'
xvid_rc.c:72: error: structure has no member named `vbv_initial'
make[1]: *** [xvid_rc.o] Ошибка 1
make[1]: Leaving directory `...'
make: *** [lib] Ошибка 2
ERROR during compilation or installation of FFMPEG
Решение:
Не самое элегантное и безопасное, но рабочее решение - закомментировать строки 70-72 в файле /pspvc-install-0.3/work/ffmpeg/libavcodec/xvid_rc (лучше перепаковать его в архив с ffmpeg, что идёт с программой, и удалить старую рабочую директорию work перед новой попыткой компиляции) :
//xvid_2pass2.vbv_size= s->avctx->rc_buffer_size;
//xvid_2pass2.vbv_maxrate= s->avctx->rc_max_rate;
//xvid_2pass2.vbv_initial= s->avctx->rc_initial_buffer_occupancy;