У многих пользователей Windows и без того полно приложений, чтобы скачивать, устанавливать, активировать ещё одно для работы с видео. Обойдёмся без этих трудностей!
FFmpeg – функциональный видео- и аудио- конвертер. У него нет графического интерфейса, поэтому выполнять операции необходимо из консоли. При этом функционал программы и качество работы её превосходит тот, что показывают привычные конвертеры.
Базовые возможности FFmpeg:
конвертация файлов;
изменение разрешения;
кадрирование;
обрезка и склейка файлов;
замена, добавление, извлечение аудиодорожек и субтитров;
наложение водяного знака;
кодирование или стриминг потокового видео.
FFmpeg на самом деле прост в использовании и будет полезен как профессионалам, работающим с видео, так и любителям, решившим обработать домашний видеоархив.
Установка FFmpeg.
Разархивируйте содержимое скачанного архива, например в Program Files или Windows или Windows\System32 (или в другую папку, где у вас могут храниться портативные программы).
Чтобы каждый раз не прописывать длинный путь к программе, например: C:\Program Files\ffmpeg\bin\ffmpeg.exe рекомендую добавить её в системную переменную Path, для этого перейдите:
Пуск → Параметры → Система → О программе → Дополнительные параметры системы → Переменные среды
или
Запустите “Выполнить” нажатием win+R и выполните sysdm.cpl, затем перейдите во вкладку “Дополнительно”, а там уже “Переменные среды”.
В окне “Переменные среды пользователя” дважды кликните по строке Path, где создайте новую с указанием пути к папке с FFmpeg\bin содержащую ffmpeg.exe.
Теперь для того, чтобы вызвать FFmpeg используйте в консоли (PowerShell или CMD) следующую команду:
ffmpeg.exe -version
Если в консоли появилось сообщение о версии FFmpeg, значит программа работает! Если появляется сообщение: “ffmpeg.exe” не является внутренней или внешней командой, исполняемой программой или пакетным файлом, то стоит перезагрузить компьютер.
FFmpeg: конвертация видео.
После установки FFmpeg можно заниматься работой с медиа файлами, например, конвертируем видео в консоли.
ffmpeg -i input.avi output.mp4
Эта команда сконвертирует видео из файла input.avi в output.mp4. По умолчанию для файлов mov и mp4 используется кодек H.264. Размер кадра и fps будут взяты из исходного файла.
В примере выше параметры по умолчанию могут отличаться от желаемых вами настроек, поэтому параметры можно задавать явно.
Дополнительные параметры
-i имя исходного файла, который предстоит сконвертировать, если файлов несколько перед каждым из них нужно указать -i;
-y ответит Да (yes) на все вопросы от FFmpeg, если они возникнут в процессе кодирования, например при для перезаписи файла, если тот уже существует;
-vcodec или кратко c:v – параметры видеокодека, либо copy (если перекодирование не требуется), либо пустой параметр (по умолчанию);
-f – формат контейнера;
-b:v (-vb, -b) – битрейт видео в килобитах или мегабитах в секунду задаётся буквой K или M;
-aspect – соотношение сторон картинки (4:3, 16:9, 1.3333, 1.7777);
-r – частота кадров;
-s — разрешение, поддерживаются как числовые значения (640×480) и буквенные обозначения (например, qcif, qvga);
-vf (или -filter:v) — опция со списком фильтров, которые будут применены к видео;
-c:a (или -acodec) – параметры аудиокодека, либо copy (если аудио дорожку нужно оставить как есть), либо пустой параметр (по умолчанию);
-f – формат аудио;
-af (или -filter:a) — опция со списком фильтров, которые будут применены к аудио;
Данная команда перекодирует файл input.avi в output.mp4. В случае если в конечной папке будет содержаться файл output.mp4, он будет перезаписан (опция -y). В качестве кодека будет использован libx264 со среднем соотношением скорость/качество (-preset medium). Конечный битрейт 17000 kbps, соотношение сторон картинки 16:9, частота 25 кадров в секунду. В качестве аудиокодека будет использован AAC с битрейтом 128kbps.
FFmpeg: Полезные команды.
Чтобы получить информацию о видеофайле выполните: ffmpeg -i video.mp4
Чтобы получить информацию о ключах и параметрах: ffmpeg -help
Исходные и конечные файлы могут быть любого формата, FFmpeg работает почти со всеми из существующих. Список поддерживаемых форматов ffmpeg -formats
FFmpeg позволяет обрезать или нарезать видео на фрагменты. Опция -ss задаёт начало обрезки, а опция -t продолжительность фрагмента. Время задаётся в формате “часы:минуты:секунды”.
Для склейки используется оператор concat. После двоеточия ему передаются входные файлы, разделённые вертикальной чертой. Соединяемые файлы обязательно должны быть одного формата (видео и аудио), их параметры должны совпадать.
Аудио файлы можно конвертировать независимо от видео.
Изменение разрешения и кадрирование
ffmpeg -i input.mp4 -s 1280x720 output.mp4
Чтобы изменить разрешение конечного видео можно воспользоваться опцией -s.
Изменение разрешения и кадрирование
ffmpeg -i input.mp4 -s 1280x720 output.mp4
Чтобы изменить разрешение конечного видео можно воспользоваться опцией -s. Однако использование фильтра scale даст более качественный результат.
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
Для кадрирования изображения предназначен фильтр crop. Его параметры имеют следующий вид crop=w:h:x:y, где w — ширина прямоугольника, который нужно вырезать из исходного видео, h — высота прямоугольника, x и y — x координаты точки начала обрезки.
Опция -ar указывает частоту дискретизации, -ac — количество каналов, -ab — битрейт. Опция -vn означает, что видео информация будет отброшена, а опция -f указывает формат полученного файла (в примере — это mp3).
Если звуковых дорожек несколько, чтобы сохранить отдельную звуковую дорожку из видеофайла (демультиплексация) воспользуйтесь опцией -map и укажите её идентификатор потока.
ffmpeg -i input.avi -map 0:2 audio.wav
В примере ниже показано, как добавить несколько звуковых дорожек в видеофайл (мультиплексация).