Почти каждый, кто имеет дело с видео, возможно, слышал о FFmpeg раньше. Для тех, кто не знаком, FFmpeg — это бесплатная программа с открытым исходным кодом, которая может конвертировать любой формат видео в другой и изменять его кодеки.
FFmpeg поддерживает практически все аудио/видеокодеки (H.264, H.265, VP8, VP9, AAC, OPUS и другие), файлы форматы (MP4, FLV, MKV, TS, WEBM, MP3 и т. д.) и даже потоковые протоколы (HTTP, RTMP, RTSP, HLS, так далее.).
Вот как вы можете установить и использовать FFmpeg для обработки аудио- и видеофайлов в Linux.
Установка FFmpeg в Linux
FFmpeg — это бесплатный инструмент с открытым исходным кодом, доступный в стандартных репозиториях почти всех основных дистрибутивов Linux. Вы также можете получить его исходный код бесплатно, если вы хотите скомпилировать его самостоятельно.
# Дебиан
Судо подходит установить ffmpeg# Федора
судо днф установить https://download1.rpmfusion.org/free/fedora/rpmfusion-free-выпускать-$(об/мин -E%fedora).noarch.rpm
судо днф -у установить ffmpeg# RHEL/CentOS
ням установить ffmpeg ffmpeg-разработка
# Арх Линукс
pacman -S ffmpeg
Если во время установки все пойдет хорошо, вы сможете увидеть версию FFmpeg при использовании -версия аргумент.
ffmpeg -версия
Получение информации о видео с помощью FFmpeg
Можно просмотреть информацию о видео, которое вы хотите отредактировать с помощью FFmpeg, используя -я флаг:
ffmpeg-япример-видео.mp4-hide_banner
Здесь -hide_banner задача параметра — скрыть ненужную информацию. Вы можете удалить этот параметр и увидеть разницу в выводе.
Как видите, можно получить много информации например, тип видеокодека, дата создания, метаданные и структура кодировщика образца видео.
Преобразование видео или аудио файлов в другой формат
Одной из самых полезных функций FFmpeg является то, что он может конвертировать видео или аудио в другой формат. Вы можете сделать это с помощью простых однострочников.
MOV в MP4 с помощью FFmpeg
Вы можете преобразовать видеофайл формата MOV в MP4 с помощью FFmpeg, используя следующую команду:
ffmpeg-явход-мов-видео.моввыход-видео.mp4
Во-первых, используйте -я параметр, обозначающий входное видео. Затем введите файл, который вы хотите преобразовать. Наконец, введите формат, в который вы хотите преобразовать его. Вы можете дать выходу любое имя.
Пока FFmpeg работает, он покажет вам сделанные изменения на экране команд. Ваш выходной файл будет сохранен в вашем текущем рабочем каталоге.
WAV в MP3 с помощью FFmpeg
Подобно видео, вы можете выполнять те же преобразования для аудиофайлов. Например, вы можете преобразовать аудиофайл WAV в MP3 следующим образом:
ffmpeg-япример-wav.wav-вн-ар 48000 -ac 2 -б:а 256 выход.mp3
Эта команда имеет больше параметров, чем метод преобразования видео, но разобраться в них несложно. Чтобы объяснить это:
- -вн: Иногда аудиофайлы, которые вы слушаете, содержат изображения. Эти изображения обычно происходят из видео. Если вы не хотите, чтобы такие изображения выводились, вы можете использовать этот параметр.
- -ар: этот параметр позволяет вам установить звуковую частоту аудиофайла, который вы хотите преобразовать. Вы можете настроить качество звука и частоту с такими значениями, как 8 кГц, 44,1 кГц или 48 кГц.
- -ac: Возможно, вы уже слышали термины «моно» и «стерео». Этот параметр может помочь вам установить количество аудиоканалов.
- -б: а: Этот параметр позволяет установить битрейт аудио в секунду. Чем выше килобит, тем выше качество звука.
Аудио операции с FFmpeg
FFmpeg также может отделять аудио от видео. Для этого достаточно использовать -вн параметр:
ffmpeg-япример-видео.mp4-внвыход.mp3
Если вам удалось отделить звук от видео, теперь вы можете попробовать удалить звук из видео. Разница здесь в том, -ан параметр. Вам следует помнить об этом параметре, если вы хотите отключить любой звук в видео:
ffmpeg-япример-видео.mp4-анвыход-немой.mp4
Обработка размера видео с помощью FFmpeg
Размер видео иногда может быть довольно раздражающим, особенно когда вы хотите загрузить его куда-нибудь. Вам больше не нужно скачивать программы для их обрезки, так как FFmpeg может сделать это за вас. Однако для этого нужно знать некоторые параметры:
- -SS: Используйте этот параметр, чтобы установить время начала клипа.
- -к: позволяет указать время окончания клипа.
- -с: Установите кодек вашего клипа, используя этот параметр.
- -т: Используйте этот параметр, чтобы установить продолжительность клипа.
Вы можете вывести много примеров, используя эти параметры. Например, если вы хотите обрезать видео, вы можете использовать что-то вроде:
ffmpeg-япример-видео.mp4-SS 00:02:25-к 00:03:50-скопироватьвыходная обрезка.mp4
Также можно обрезать только изображение внутри видео, а не все видео. Для этого вы можете прибегнуть к чему-то вроде:
ffmpeg -i пример-video.mp4 -фильтр: v "кадрирование=ш: ч: х: у" выход-crop.mp4
Вот параметры, используемые в вышеупомянутой команде:
- -фильтр: v: этот параметр определяет процесс фильтрации, который вы будете применять к видео.
- обрезать: Этот параметр указывает, что будет выполняться операция отсечения.
- ш: ч: х: у: как вы уже догадались, переменные w, h, x и y обозначают ширину, высоту и положение рамки кадрирования соответственно.
Редактирование видео в Linux с помощью FFmpeg
Редактирование видео не заканчивается простой обрезкой и обрезкой. Иногда вам также нужно изменить масштаб видео. Следующая команда изменит размер видео до нужного размера:
ffmpeg -i пример-видео.mp4 -vf масштаб=1920:1080 выходной масштаб.mp4
- -vf: этот параметр работает так же, как -фильтр: v аргумент, показанный выше
- шкала: с помощью этого параметра вы можете указать размеры масштаба, которые вы хотите на выходе.
FFmpeg также позволяет объединять несколько видео. Представьте, что у вас есть несколько клипов, закодированных одним и тем же кодеком. Введите список видео, которые вы хотите объединить в .текст файл. Затем выполните следующую команду:
ffmpeg-fконкат-ямой-видео-список.текст-скопироватьсумма-выход.mp4
конкат Параметр здесь объединяет ваши файлы. Также можно вращать видео с помощью FFmpeg:
ffmpeg -i пример-video.mp4 -vf "транспонировать=2" выходной поворот.mp4
- транспонировать=0: Отразить по вертикали (по умолчанию)
- транспонировать=1: Повернуть на 90 градусов по часовой стрелке
- транспонировать=2: Повернуть на 90 градусов против часовой стрелки
- транспонировать=3: Отразить по вертикали
Чтобы повернуть видео на 180 градусов по часовой стрелке, нужно дважды указать параметр транспонирования:
ffmpeg -i пример-video.mp4 -vf "транспонировать = 2, транспонировать = 2" выходной поворот.mp4
Операции FPS и GOP
Как известно, FPS означает кадров в секунду. GOP (группа изображений) — это расстояние между двумя ключевыми кадрами. FFmpeg также полезен для изменения некоторых параметров, включая FPS и GOP. Если вы используете приведенную ниже команду, FFmpeg изменит исходный FPS на установленное вами значение:
ffmpeg -i пример-video.mp4 -vf "кадр/с=60" выход-fps.mp4
Для GOP вы можете использовать -грамм параметр и установите его значение на то, что вы хотите. Обратите внимание, что принудительное использование слишком большого количества ключевых кадров может повредить алгоритмам прямого кодирования некоторых кодировщиков.
ffmpeg-япример-видео.mp4-грамм 200 вывод-гоп.mp4
Создавайте анимированные GIF-файлы с помощью FFmpeg
FFmpeg также идеально подходит для преобразование видео в анимированные GIF-файлы. Для этого вы можете использовать простую команду convert:
ffmpeg-япример-видео.mp4вывод-gif.gif
Но иногда вам может понадобиться настроить GIF. Для этого можно использовать различные параметры, описанные выше:
ffmpeg -ss 00:01:15 -i пример-video.mp4 -to 10 -r 10 -vf масштаб=250:-1 output-gif.gif
-р параметр здесь означает частоту кадров. Как видите, в одной строке команды возможно множество различных настроек.
Извлечение кадров из видео с помощью FFmpeg
Помимо преобразования одного или нескольких изображений в видео, вы также можете извлекать кадры из видео. Следующая команда будет извлекать один кадр каждую секунду из вашего входного видео. Кроме того, эти извлеченные изображения будут иметь двузначные имена, такие как 01.jpeg, 02.jpeg, так далее. При желании вы также можете добавить другие изученные вами параметры.
ffmpeg-япример-видео.mp4-р 1 изображение-%02д.jpeg
Вы также можете использовать другие форматы, такие как PNG и BMP, для извлеченных изображений.
Почему вы должны использовать FFmpeg в Linux?
Как видите, FFmpeg очень выгоден во многих отношениях. Для этого вам не нужно обладать какими-либо техническими знаниями или профессиональным опытом работы с Linux. Вы можете выполнять различные функции обработки мультимедиа, используя всего несколько параметров. Если вы собираетесь вносить не очень длинные правки, вам не нужны дорогие компьютерные программы и онлайн-премиум-членство. Более того, FFmpeg очень хорошо работает даже на бюджетных устройствах.
Также возможности FFmpeg не ограничиваются вышеперечисленным. Когда вы читаете документацию и руководство пользователя, вы можете увидеть, насколько мощным на самом деле является программное обеспечение. Даже используя --помощь параметр и человек можно получить более подробную информацию об использовании FFmpeg. Есть и другие отличные конвертеры для Linux, которые могут конкурировать с FFmpeg.