Знакомьтесь, FFMPEG — король видео

Порой даже общаясь с профессионалами, связанными с компьютерной графикой я с удивлением узнаю, что они не знакомы с супер-утилитой FFMPEG.
FFMPEG — мой основной инструмент, абсолютно бесплатный, быстрый, эффективный, просто невероятный!

FFMPEG позволяет выполнять преобразования видеоформатов. В буквальном смысле из всего во всё: AVI в MP4 или MKV, вытащить саундтрек, разбить видео в последовательность кадров, сделать GIF из видеофрагмента. Недаром на этой утилите построены практически все современные видеохостинги. FFMPEG всеяден до неприличия, надо очень постараться чтобы озадачить его.

Но думаю пора уже переходить к практике. Строго говоря, этот цикл заметок я начал писать для тех, кто будет проходить мои курсы анимации. Для сдачи заданий им обязательно понадобится сконвертировать свои видео в компактный вид.

Поиск FFMPEG

Сначала вам понадобится скачать саму утилиту скомпилированную под вашу операционную систему. Очевидно, что сайт самого FFMPEG самое лучшее место для того, чтобы найти последнюю версию www.ffmpeg.org. Идёте в раздел Download и дальше страдаете выбором версии под свою операционную систему. У пользователей Linux систем проблем меньше, ffmpeg входит, пожалуй, во все современные дистрибутивы (правда, у них есть особенности с проприетарными кодеками, они обычно устанавливаются отдельным пакетом, а порой и из отдельного репозитория).

Пользователи Windows могут просто скачать исполняемый файл на этой странице в архиве ниже. И хоть он будет «дремучей» версии, это никак не помешает вам в выполнении конвертаций.

Задача: разбить видео в последовательность изображений

Итак, зададимся простой задачей: нужно разбить произвольный видеофайл в последовательность кадров (image sequence) — картинок в формате .JPEG или .PNG (лично я предпочитаю именно этот вариант). Такая задача часто возникает у аниматоров при работе по видео-референсу, когда за основу будущей анимации берётся видеофайл.

Работа с командной строкой

FFMPEG — утилита командной строки, это значит, что для выполнения преобразований нужно либо ввести в консоли соответствующую команду, либо воспользоваться готовыми сценариями. Для операционной системы Windows вы можете скачать готовые сценарии в архиве ниже. Там же есть простая инструкция по применению. Но мне приятно думать, что читатель — человек интересующийся и хотел бы понимать, что там вообще происходит. Строго говоря, для использования скриптов из архива вы можете вообще не открывать консоль.

Чтобы войти в консоль нужно в Windows нажать на клавиатуре комбинацию Win+R (Win — это кнопка с логотипом Windows где-то рядом с пробелом), ввести CMD и нажать Enter на клавиатуре. Откроется окно, в котором вы увидите что-то вроде:

Теперь вам предстоит переместиться в папку, в которую вы распаковали FFMPEG.

Для перемещения по компьютеру в командной строке используется две команды:
DIR — команда просмотра содержимого текущей директории (папки)
CD — команда перехода в указанную папку (от англ. Change Directory — сменить директорию)
CD .. выходит на один уровень вверх из текущей папки


cd /usr/local/etc
cp php.ini php.ini.bak
vi php.ini
pwd /usr/home/chris/bin
ls -la
md frames
cd frames
ffmpeg.exe -i %1 frames/frame_%%04d.jpg
pause

Александр Миловский, 3D Master

образец сертификата Autodesk студии 3D Master
Сертификат Autodesk выдается
по окончании авторизованных
курсов Autodesk. Подробнее…