Конвертация видео и не только на Linux (Ubuntu 9.10, 10.04) с помощью ffmpeg
Сегодня я научу вас конвертировать любое видео в любой формат. Итак приступим.
1. Установим программу subversion из Synaptic'а или командой (если конечно она у вас ещё не стоит):
sudo apt-get install subversion
Она необходима для получения программы ffmpeg через svn.
2. Далее заходим в любой каталог вашей домашней папки, например:
cd /home/user/Documents
3. Получаем программу в эту директорию:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
4. Далее было бы неплохо скачать программу checkinstall (если конечно у вас её тоже нету):
sudo apt-get install checkinstall
5. Следующий шаг - установка кодеков (вы должны обязательно подключить репозитории "universe" и "multiverse", это можно сделать в "Источниках Приложений"):
sudo apt-get install libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libvorbis-dev libogg-dev libdirac-dev libopenjpeg-dev libschroedinger-dev libspeex-dev libgsm1-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libdc1394-22-dev
! Для 10.04 вместо пакета libxvidcore4-dev надо вписать libxvidcore-dev
Отдельный разговор на счёт кодека "x264", его придётся собрать вручную, так как при установке его из пакета - "ffmpeg" начинает ругаться на несовместимость, сделаем это так:
sudo apt-get install git git-core
Перейдите в любую директорию, например ту же "~/Documents" и далее введите:
git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --default
6. Наконец-то соберем программу ffmpeg (не забудьте только перейти в каталог с "ffmpeg"):
sudo ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libdirac --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libgsm --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-version3
Если по какой-либо причине ffmpeg не хочет компилироваться с определённой опцией - просто стерите эту опцию, например: "--enable-libfaad".
7. Выполняем команду:
sudo make
8. Если на предыдущих этапах команда ./configure и make не выдавали ошибок, значит можно перейти к сборке программы:
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "3:0.svn`date +%Y%m%d` -12ubuntu3" --default
С главной частью разобрались. Можно перейти непосредственно к конвертированию.
Конвертация видео для Ipod:
ffmpeg -i input_video.avi -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -cmp 2 -subcmp 2 -s 320x180 final_video.mp4
Источник: input_video.avi
Аудио-кодек: aac
Аудио-битрейт: 128kb/s
Видео-кодек: mpeg4
Видео-битрейт: 1200kb/s
Разрешение видео: 320x180
Получаемое видео: final_video.mp4
Конвертация видео для PSP, плеера Sony Walkman:
ffmpeg -i input_video.avi -b 300 -s 320x240 -vcodec mpeg4 -ab 128kb -ar 44100 -acodec acc final_video.mp4
Конвертация видео в mp3 файл:
ffmpeg -i input_video.avi -vn -ar 44100 -ac 2 -ab 192kb -f mp3 mp3file.mp3
Источник: input_video.avi
Частота: 44100кГц
Каналы: 2 (стерео)
Аудио-битрейт: 192
Получаемый файл: mp3file.mp3
Конвертация ape в mp3:
ffmpeg -i input_file.ape -ar 44100 -ac 2 -ab 320kb output_file.mp3
Сжатие avi в divx:
ffmpeg -i input_video.avi -vcodec msmpeg4v2 final_video.avi
Конвертация видео в flv:
ffmpeg -i input_video.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv final_video.flv
Конвертация avi в dv (используется видеокамерами mini-dv):
ffmpeg -i input_video.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 final_video.dv
Телевизионный стандарт: PAL
Соотношение сторон: 4:3
Конвертация avi в mpeg для dvd-плееров:
ffmpeg -i input_video.avi -target pal-dvd -ps 4000000000 -aspect 16:9 final_video.mpeg
Максимальный размер файла: 4Gb
Конвертация avi в SVCD:
ffmpeg -i input_video.avi -target pal-svcd final_video.mpg
Конвертация DVD в AVI:
ffmpeg -i input_video.vob -f avi -vcodec mpeg4 -b 800kb -bf 2 -acodec libmp3lame -ab 128kb final_video.avi
Конвертация avi в VCD:
ffmpeg -i input_video.avi -target pal-vcd final_video.mpg
Добавлю очень важное замечание - !Не используйте в конвертируемых файлах и в выходящих файлах нестандартные символы, так как в противном случае ffmpeg откажется воспринимать такие файлы!
Если вам понравилась статья, пожалуйста нажмите на баннер. Спасибо
Ну это просто - ffmpeg -i input_video.flv output_video.avi или ffmpeg -i input_video.flv output_video.mpg
Качество конечно будет заметно хуже, поэтому добавляйте опции исходя из параметров видео - битрейта, соотношение сторон и т.д.
Спасибо!
есть диск DVD с видео. подскажите как его "ужать" в более компактный размер, чтоб смотреть потом через компьютер.
dvd rip ами увлекаемся?)))
В процессе сборки ffmpeg пишет так
/home/kawaikunee/src/ffmpeg/libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_94'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Ошибка 1
Вы x264 собирали из исходников?
Да, действовал строго по плану этого поста, но на последнем этапе вот такое вылезло. Если отключить
--enable-libx264
то все собирается, но ради него-то все это и затевалось же.
Возможно у вас раньше стоял(и)пакеты x264, libx264-dev. Попробуйте их удалить: sudo apt-get purge x264 libx264-dev. Также перейдите в папку с исходниками x264 и выполните команду make distclean.
ОГРОМНОЕ спасибо! Я уж решил что не судьба. А оно оказалось - судьба!
Просто очень рад.
Спасибо за инструкцию.
Но при попытке перегнать vob в avi выдаёт ошибку.
Unknown encoder 'libmp3lame'
Хотя libmp3lame0 и libmp3lame-dev стоят.
Пробую под Ubuntu 10.04
Возможно libmp3lame не подключен при конфигурировании?
ffmpeg -v показывает.
configuration: --extra-version=4:0.5.1-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
Скачал, отконфигурировал с libmp3lame, make & make install, но после этого пишёт, что ffmeg не найден.
Если снова ставлю через synaptic, то он без libmp3lame.
А я делаю проще - через Avidemux. Через командную строку уж очень жестоко мучительно!
Респект автору огромное спасибо за статью
Очень пригодилась информация по сборке x264, т.к. именно этот формат использует камера, и именно с ним больше всего проблем
вместо kb надобно писать KiB
(Ubuntu Maverick)



Подскажите, как сконвертировать flv в avi (или mpg) ?
____________________________________
Linux разрабатывали для так сказать людей ©