вторник, 15 июня 2010 г.

Кодируем видео для psp..

Собираемся на море солидно, везем с собой запас фильмов/книг и аудиокниг, чтобы скучно не было в дороге и в часы сиесты, когда очень уж жарко; кины для тв будут жить в нетбуке, а в дороге малый просит записать ему в psp “Доктора Кто” и прочего

Но psp (и iPod, да и мой андроид) – штука привиредливая, mkv там разные не кушает, ему подавай mp4 с определенными настройками – зато “правильные” фильмы смотреть на psp/iPod – одно удовольствие

Одно “но” – конвертить видео, даже с нынешними мощностями и кучей ядер у процессора – все равно длинное и скучное занятие; но у меня же в кладовке круглые сутки пыхтит компьютер, не фонтан по нынешним меркам, но круглые сутки ведь! Вот он и займется этим неблагодарным делом, видео кодировать..

В кладовке, если кто не в курсе – старый комп с одноядерным атлоном на 1 гиг с небольшим + ubuntu 8.1 + удаленный доступ по ssh и никакого гуя
Да кому он нужен, тот гуй; куча всяких-разных конверторов все-во-все все равно использует ffmpeg, помогая правильно подбирать параметры командной строки, так что без них вполне можно и обойтись; но придется понажимать клавиши

Итак, сначала надо почистить систему от старья (у меня к примеру ffmpeg оказался уже установленным, но в h264 кодировать не мог), потом обновим список репозиториев (или как это там называется), и поставим все нужное:

   1: sudo apt-get remove ffmpeg x264 libx264-dev 
   2: sudo apt-get update 
   3: sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev 

Теперь надо установить x264 (идем в домашний каталог, качаем исходники и ставим):

   1: cd ~ git clone git://git.videolan.org/x264.git
   2: cd x264 
   3: ./configure 
   4: make 
   5: sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --backup=no -default 

Куча "Ок" в конце как-бы намекает, что все нормально (а если что-то ненормально – я не знаю, почему: у меня все работает :) ). Потом (или параллельно с компиляцией) надо скачать исходники ffmpeg и собрать его:

   1: cd ~
   2: svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg 
   3: cd ffmpeg 
   4: ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --disable-swscale-alpha 
   5: make 
   6: sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "3:0.svn`date +%Y%m%d`-12ubuntu3" --backup=no –default 

Что странно - ffmpeg даже на этой дохлой машинке собирается быстрее, чем на работе на х2 атлоне с кучей гигагерц и памяти, но в msys.. Но неважно, как он там собирается, главное, чтобы собрался; можно было поотключать ненужные кодеры/декодеры (в configure добавляются строчки типа --disable-encoders --enable-encoder=vp6 - отключить все энкодеры, а потом перечислить только нужные), а можно и не заморачиваться

Ну и когда ffmpeg собран и установлен – можно конвертить:

   1: cd /mnt/media/Videos/Serials/Doctor\ Who\ \(2005\)/Doctor\ Who\,\ Season\ 4/ 
   2: ffmpeg –i Doctor.Who.s04.Special.episode.Music.Of.The.Spheres.TVRip.Rus.Eng.\[1001cinema.ru\].avi -ar 48000 -acodec libfaac -ab 128k -s 480x320 -vcodec libx264 -vpre main -vpre slower -level 21 -b 768k -threads 0 -f psp output.mp4

Ну поставил кодироваться небольшой файл, посмотреть теперь надо на результат, перед тем как 4 сезона кодировать..

p.s. тестовый файлик откодировался нормально; но доооолго :( придется все же кодировать на компе помощнее

1 комментарий:

  1. здорово, спасибо, очень помогла ваша статья!

    ОтветитьУдалить