У многих пользователей Windows и без того полно приложений, чтобы скачивать, устанавливать, активировать ещё одно для работы с видео. Обойдёмся без этих трудностей!
FFmpeg – функциональный видео- и аудио- конвертер. У него нет графического интерфейса, поэтому выполнять операции необходимо из консоли. При этом функционал программы и качество работы её превосходит тот, что показывают привычные конвертеры.
Базовые возможности FFmpeg:
- конвертация файлов;
- изменение разрешения;
- кадрирование;
- обрезка и склейка файлов;
- замена, добавление, извлечение аудиодорожек и субтитров;
- наложение водяного знака;
- кодирование или стриминг потокового видео.
FFmpeg на самом деле прост в использовании и будет полезен как профессионалам, работающим с видео, так и любителям, решившим обработать домашний видеоархив.
Установка FFmpeg.
Разархивируйте содержимое скачанного архива, например в Program Files или Windows или Windows\System32 (или в другую папку, где у вас могут храниться портативные программы).
- Имя файла: ffmpeg.zip (прямая ссылка)
- Версия: 4.3.2
- Размер файла: 39,3 МБайт
- Требование: OS Windows
- MD5: 5183ac5b1886fe4df4f32d5939ce0df9
Чтобы каждый раз не прописывать длинный путь к программе, например: 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 будут взяты из исходного файла.
В примере выше параметры по умолчанию могут отличаться от желаемых вами настроек, поэтому параметры можно задавать явно.
Для примера рассмотрим следующую команду:
ffmpeg -y -i input.avi -c:v libx264 -preset medium -b:v 17000K -aspect 16:9 -r 25 -c:a aac -b:a 128K output.mp4
Данная команда перекодирует файл 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 -codecs
Обрезка видео.
ffmpeg -i input.mp4 -ss 00:00:05 -t 00:05:15 -c copy output.mp4
FFmpeg позволяет обрезать или нарезать видео на фрагменты. Опция -ss задаёт начало обрезки, а опция -t продолжительность фрагмента. Время задаётся в формате «часы:минуты:секунды».
Склейка видео.
ffmpeg -i "concat:file1.avi|file2.avi" -vcodec copy -acodec copy output.avi
Для склейки используется оператор concat. После двоеточия ему передаются входные файлы, разделённые вертикальной чертой. Соединяемые файлы обязательно должны быть одного формата (видео и аудио), их параметры должны совпадать.
Конвертация аудио.
ffmpeg -i input.wav -ar 44100 -ac 2 -ab 192K -f mp3 output.mp3
Аудио файлы можно конвертировать независимо от видео.
Изменение разрешения и кадрирование.
ffmpeg -i input.mp4 -s 1280x720 output.mp4
Чтобы изменить разрешение конечного видео можно воспользоваться опцией -s.
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
Однако использование фильтра scale даст более качественный результат.
Для кадрирования изображения предназначен фильтр crop. Его параметры имеют следующий вид crop=w:h:x:y, где w — ширина прямоугольника, который нужно вырезать из исходного видео, h — высота прямоугольника, x и y — x координаты точки начала обрезки.
ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4
Команда выше вырежет из кадра прямоугольник шириной 640 и высотой 480 пикселей, начиная с позиции (200,150).
Соотношение сторон.
Соотношение сторон устанавливаются опцией -aspect.
ffmpeg -i input.mp4 -aspect 16:9 output.mp4
Ещё пример: ffmpeg -i input.mp4 -aspect 16:9 -vf scale=1280:720 output.mp4
Самые популярные соотношения сторон: 16:9 | 4:3 | 16:10 | 5:4 | 2:21:1 | 2:35:1 | 2:39:1.
Добавление, извлечение и удаление и аудио.
Чтобы добавить звуковую дорожку в видеофайл используйте опцию -i, в которой укажите путь к аудиофайлу.
ffmpeg -i noaudio.mpg -i audio.acc -vcodec copy -acodec copy output.mpg
Удалить из видеофайла звуковую дорожку можно с помощью опции -an (audio not).
ffmpeg -i input.mpg -vcodec copy -an noaudio.mpg
Сохранить аудиодорожку из видеофайла.
ffmpeg -i input.mpg audio.wav
Если требуется сохранить дорожку в определённый формат, укажите параметры явно:
ffmpeg -i input.avi -vn -ar 44100 -ac 2 -ab 192K -f mp3 audio.mp3
Опция -ar указывает частоту дискретизации, -ac — количество каналов, -ab — битрейт. Опция -vn означает, что видео информация будет отброшена, а опция -f указывает формат полученного файла (в примере — это mp3).
Если звуковых дорожек несколько, чтобы сохранить отдельную звуковую дорожку из видеофайла (демультиплексация) воспользуйтесь опцией -map и укажите её идентификатор потока.
ffmpeg -i input.avi -map 0:2 audio.wav
В примере ниже показано, как добавить несколько звуковых дорожек в видеофайл (мультиплексация).
ffmpeg -i video.avi -i audio1.mp3 -i audio2.mp3 -map 0:0 -map 0:1 -map 0:2 output.mkv
Так как в примере выше только один выходной файл, 0 перед двоеточием можно опустить.
Изменение громкости.
Для изменения громкости в FFmpeg существует аудиофильтр volume.
Следующая команда в половину уменьшит громкость:
ffmpeg -i input.mp3 -af 'volume=0.5' output.mp3
Аналогично, громкость можно увеличить (в примере ниже в полтора раза):
ffmpeg -i input.mp4 -c:v copy -af 'volume=1.5' output.mp4
Возможности FFmpeg на этом не ограничиваются, поэтому подробнее можно ознакомиться с командами и фильтрами на официальном сайте.
Комментарии