url image

Установка FFmpeg

Иногда нужно преобразовать формат файла, например, из jpeg в webp. Для этого существует множество способов. В данной статье рассмотрим способ установки инструмента для преобразования форматов мультимедийных файлов прямо на сервере с ОС Linux.

FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио и видеозаписи в различных форматах. Он включает libavcodec — библиотеку кодирования и декодирования аудио и видео и libavformat — библиотеку мультиплексирования и демультиплексирования в медиаконтейнер.

Установка в Debian/Ubuntu

Рассмотрим установку FFmpeg в ОС Debian и Ubuntu. Данный способ подойдет для Debian 10, Debian 11, Ubuntu 20.04 и Ubuntu 22.04.

Для начала возможно потребуется обновить информацию о пакетах в вашей системе:

# apt update

Далее устанавливаем FFmpeg.

# apt install ffmpeg apt-get install ffmpeg

Видим, что система предлагает установить пакет и зависимости, нажимаем Y (или Д).

Дожидаемся окончания установки. Если ошибок нет, проверяем, что FFmpeg установлен:

# ffmpeg --version
ffmpeg version 4.3.5-0+deb11u1 Copyright (c) 2000-2022 the FFmpeg developers
…

Установка в CentOS/AlmaLinux/RockyLinux

CentOS 7

Для установки FFmpeg на CentOS 7 потребуются сторонние репозитории. Для начала включим репозиторий EPEL:

# yum install epel-release

Далее необходимо включить репозиторий Fusion:

# yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

И установим FFmpeg со всеми необходимыми пакетами:

# yum install ffmpeg ffmpeg-devel

Подтверждаем установку пакета и всех зависимостей, а также импорта GPG ключей кнопкой Y.

Дожидаемся окончания установки и проверяем:

# ffmpeg --version
ffmpeg version 3.4.12 Copyright (c) 2000-2022 the FFmpeg developers
…

AlmaLinux 8/RockyLinux 8/AlmaLinux 9/RockyLinux 9

В современных rpm-based ОС используем пакетный менеджер dnf. Для начала, также, как и в CentOS 7, подключаем репозиторий EPEL и необходимый для дальнейшей работы пакет dnf-utils:

# dnf -y install epel-release dnf-utils

Включаем репозиторий PowerTools:

# dnf config-manager --set-enabled powertools

И устанавливаем FFmpeg:

# dnf install ffmpeg

Проверяем:

# fmpeg --version
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
…

В AlmaLinux 9 и RockyLinux 9 могут возникнуть проблемы с вышеуказанными репозиториями, поэтому есть альтернативный способ:

# dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
# dnf update -y
# dnf install ffmpeg ffmpeg-devel

Проверяем:

# fmpeg --version

Использование FFmpeg

Посмотреть поддерживаемые форматы можно командой:

# ffmpeg -formats

Чтобы посмотреть кодировщики, используйте команду:

# ffmpeg -encoders

Чтобы посмотреть список декодеров, используйте команду:

# ffmpeg -decoders

Используйте man, чтобы более подробно ознакомится с документацией:

# man ffmpeg

Рассмотрим несколько примеров использования FFmpeg. Предварительно перейдите в директорию с файлом с помощью cd /путь_до_файла/, чтобы не писать в командах полный путь до файла.

Используйте флаг i, чтобы получить информацию о медиа файле:

# ffmpeg -i file.mp4

Конвертирование файла из mp4 в современный легковесный формат webm (old_file.mp4 — текущий файл, new_file.webm — новый файл):

# ffmpeg -i old_file.mp4 new_file.webm

 

Этот материал был полезен?