Конвертация видео и не только на 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 откажется воспринимать такие файлы!

Если вам понравилась статья, пожалуйста нажмите на баннер. Спасибо

9.75
в среднем: 9.8 (12 votes)
Skala аватар
User offline. Last seen 5 дней 15 часов ago. Offline
Зарегистрирован: 05/13/2008
Подскажите, как
10

Подскажите, как сконвертировать flv в avi (или mpg) ?

____________________________________
Linux разрабатывали для так сказать людей ©

User offline. Last seen 3 недели 3 часа ago. Offline
Зарегистрирован: 12/17/2009
Ну это просто - ffmpeg -i
10

Ну это просто - ffmpeg -i input_video.flv output_video.avi или ffmpeg -i input_video.flv output_video.mpg
Качество конечно будет заметно хуже, поэтому добавляйте опции исходя из параметров видео - битрейта, соотношение сторон и т.д.

Skala аватар
User offline. Last seen 5 дней 15 часов ago. Offline
Зарегистрирован: 05/13/2008
Спасибо!
10

Спасибо!

____________________________________
Linux разрабатывали для так сказать людей ©

Гость
Подскажите, как ужать DVD
9

есть диск DVD с видео. подскажите как его "ужать" в более компактный размер, чтоб смотреть потом через компьютер.

faul аватар
User offline. Last seen 1 год 16 недель ago. Offline
Зарегистрирован: 12/06/2009
ага!!!
10

dvd rip ами увлекаемся?)))

Гость
Спасибо, но
10

В процессе сборки 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

User offline. Last seen 3 недели 3 часа ago. Offline
Зарегистрирован: 12/17/2009
Вы x264 собирали из

Вы x264 собирали из исходников?

Гость
Да
10

Да, действовал строго по плану этого поста, но на последнем этапе вот такое вылезло. Если отключить
--enable-libx264
то все собирается, но ради него-то все это и затевалось же.

User offline. Last seen 3 недели 3 часа ago. Offline
Зарегистрирован: 12/17/2009
Возможно у вас раньше
10

Возможно у вас раньше стоял(и)пакеты x264, libx264-dev. Попробуйте их удалить: sudo apt-get purge x264 libx264-dev. Также перейдите в папку с исходниками x264 и выполните команду make distclean.

Гость
ДА!
10

ОГРОМНОЕ спасибо! Я уж решил что не судьба. А оно оказалось - судьба!
Просто очень рад.

Гость
Ошибка с libmp3lame
10

Спасибо за инструкцию.

Но при попытке перегнать vob в avi выдаёт ошибку.

Unknown encoder 'libmp3lame'

Хотя libmp3lame0 и libmp3lame-dev стоят.

Пробую под Ubuntu 10.04

Гость
Пролемы в конфигурации?
10

Возможно 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
10

А я делаю проще - через Avidemux. Через командную строку уж очень жестоко мучительно!

Гость
Респект автору
10

Респект автору огромное спасибо за статью

Гость
Большое спасибо за статью!
10

Очень пригодилась информация по сборке x264, т.к. именно этот формат использует камера, и именно с ним больше всего проблем

Гость
kb - KiB
8

вместо kb надобно писать KiB
(Ubuntu Maverick)