Почти каждый, кто имеет дело с видео, возможно, слышал о 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

instagram viewer

Если во время установки все пойдет хорошо, вы сможете увидеть версию 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.