FFmpeg

Материал из Мои заметки
Перейти к: навигация, поиск

FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио и видео записи в различных форматах. Он включает libavcodec — библиотеку кодирования и декодирования аудио и видео и libavformat — библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и FF, означающего fast forward.

Установка[править]

Установка из PPA[править]

Подключаем репозиторий на launchpad.net
Находим пакет ffmpeg в Центре Приложений Ubuntu или в Менеджере Пакетов Synaptic.
Или устанавливаем с помощью консоли:

sudo apt-get install ffmpeg

Всё сделать можно только из командной строки:

sudo apt-add-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg 

или одной строкой:

sudo apt-add-repository ppa:jon-severinsson/ffmpeg && sudo apt-get install ffmpeg && sudo apt-get update && sudo apt-get install ffmpeg

Установка из git[править]

git clone git://git.videolan.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
make -j 2
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(./version.sh)" --backup=no --deldoc=yes --fstrans=no --default
cd ..
rm -rf ffmpeg
sudo apt-get autoremove libfaac-dev libjack-jackd2-dev libmp3lame-dev libtheora-dev libvdpau-dev libvorbis-dev libvpx-dev libxvidcore-dev libogg-dev libavfilter1 libva-tpi1

Основные ключи[править]

Ключ Пример Описание
-i <filename> -i movie.avi Путь/имя входного файла
-f <format> -f mkv Формат входного/выходного файла
-r <fps> -r 23.976 Количество кадров в секунду
-ss <position> -ss 00:10:50 Начальная позиция кодирования
-t <position> -t 00:15:10 Конечная позиция кодирования
-vframes <n> -vframes 1000 Задаем количество кадров кодирования
-y -y Разрешить перезапись выходного файла
-vcodec codec -vcodec libx264 Кодек кодирования видео
-acodec codec -acodec libmp3lame Кодек кодирования аудио
-vn -vn Не кодировать видео
-an -an Не кодировать аудио
-sn -sn Не использовать субтитры
-vlang code -vlang eng Выбираем язык видео
-alang code -alang jpn Выбираем язык аудио
-slang code -slang rus Выбираем язык субтитров
-sameq -sameq Сохранить видео в том же качестве
-s <size> -s 720x400 Размер видео кадра
-deinterlace -deinterlace Включаем деинтерляцию

Использование[править]

FFmpeg и x264[править]

One-pass CRF (Constant Rate Factor) Однопроходное slow (медленное) перекодирование файла с постоянным коэфициентом сжатия, задаваемое параметром -crf. Меньшее значение повышает качество выходного видео файла, но увеличивает его физический размер. Нормальный диапазон от 18 до 28.

ffmpeg -i input.avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 0 output.mp4

Two-Pass encode. Кодирование с опцией fast (быстрое) происходит в два этапа и используется для получения фиксированных размеров битрейта или выходного файла:

ffmpeg -i input.avi -pass 1 -vcodec libx264 -vpre fast_firstpass -b 512k -bt 512k -threads 0 -f rawvideo -an -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre fast -b 512k -bt 512k -threads 0 output.mp4

OGV[править]

ffmpeg -i test.avi -acodec libvorbis -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 test.cvt.ogv

OGV в mp4[править]

ffmpeg -i test.ogv -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 -level 21 -refs 2 -bt 1500k test.cvt.mp4

WebM[править]

ffmpeg -i test.avi -acodec libvorbis -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 test.cvt.webm

Mp4[править]

ffmpeg -i test.avi -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 -level 21 -refs 2 -bt 1500k test.cvt.mp4

Ссылки[править]