Найти тему
Эникей на передержке

Установка FFmpeg Windows/Linux (+ скрипт автоустановки)

Оглавление

FFmpeg - очень мощный инструмент с открытым исходным кодом (читай - бесплатный), который позволяет конвертировать и незначительно редактировать аудио и видео файлы. Мне он нравится за кроссплатформенность и возможность работы из командной строки, что помогает автоматизировать процесс.

FFmpeg. PowerShell
FFmpeg. PowerShell

Хотелось бы сразу предупредить, что "из коробки" данный продукт не имеет графического интерфейса. Если Вам нужен GUI, можете установить его от сторонних разработчиков самостоятельно.

Установка FFmpeg. Linux

На Linux всё очень просто: открываем терминал, вводим команду ниже и наслаждаемся автоматической установкой =)

sudo apt install ffmpeg

Установка FFmpeg. OS Windows

Тут всё иначе. Исполняемые файлы FFmpeg для Windows не требуют установки, а значит ни на одном этапе вам не потребуются права администратора. Так называемая установка может производиться несколькими способами:

Способ №1. Длительный, но привычный

Способ предназначен для начинающих пользователей, которым гораздо удобнее выполнять действия, сверяясь со скриншотами, чем использовать команды PowerShell или готовый скрипт.

Данный способ сводится к нескольким простым шагам:

  1. Выбираем одну из предоставленных сборок:
Мой выбор пал на билд от gyan.dev
Мой выбор пал на билд от gyan.dev

3. В разделе release builds выбираем ffmpeg-release-essentials

Содержимое .7z и .zip одинаково. Если у Вас нет архиватора, выбирайте второй вариант
Содержимое .7z и .zip одинаково. Если у Вас нет архиватора, выбирайте второй вариант

4. Распаковываем содержимое архива.

Рекомендую делать распаковку в папку текущего пользователя, особенно, если за ПК работают несколько человек или у вас нет прав Администратора.
Исполняемый файл ffmpeg.exe находится в подпапке bin
Исполняемый файл ffmpeg.exe находится в подпапке bin

Дальнейшие действия являются необязательными, но упростят процесс использования FFmpeg из командной строки.

1. Открываем переменные среды (Win+R → SystemPropertiesAdvanced или ПКМ по "Этот компьютер" в проводнике → "Свойства" → "Дополнительные параметры системы" → На вкладке "Дополнительно" внизу кликаем на "Переменные среды...")

2. В "Переменные среды пользователя..." находим "Path" → "Изменить..." → "Создать" → Вводим путь к ffmpeg.exe (у меня это %USERPROFILE%\AppData\Roaming\ffmpeg\bin) → Ок

Данный процесс наглядно показан на скринах ниже:

Теперь ffmpeg можно запускать в PowerShell или cmd без указания полного пути к исполняемому файлу.

Способ №2. PowerShell (скрипт)

Для скачивания и распаковки не требуются права Администратора. PowerShell должен быть запущен от имени обычного пользователя.

1. Скачиваем ffmpeg во временную папку:

wget https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip -outfile $Env:TEMP\ffmpeg.zip

Распаковка в "\AppData\Roaming\ffmpeg-5.0-essentials_build":

Expand-Archive -Path $Env:TEMP\ffmpeg.zip -DestinationPath $Env:USERPROFILE\AppData\Roaming\

Переименование папки "ffmpeg-5.0-essentials_build" в "ffmpeg":

Rename-Item -Path (Get-ChildItem -Path $Env:USERPROFILE\AppData\Roaming\ -Filter "ffmpeg-*").FullName -NewName "ffmpeg"

Удаляем скачанный архив:

Remove-Item -Path $Env:TEMP\ffmpeg.zip

Создание переменной среды для пользователя:

Вариант №1. Реестр

$oldpath = Get-ItemProperty -Path HKCU:\Environment -Name Path; $newpath = $oldpath.Path += ";%USERPROFILE%\AppData\Roaming\ffmpeg\bin"; Set-ItemProperty -Path HKCU:\Environment -Name Path -Value $newpath

Вариант №2. '.NET'

$oldpath = [Environment]::GetEnvironmentVariables('user').Path; $newpath = $oldpath + ";%USERPROFILE%\AppData\Roaming\ffmpeg\bin\"; [Environment]::SetEnvironmentVariable("PATH", $newpath, [System.EnvironmentVariableTarget]::User)

Ссылка на скрипт, который установит и пропишет путь в переменную path автоматически

Внимание! Если после перезапуска PowerShell Вы введёте команду 'ffmpeg' и вместо информации об установленной версии увидите ошибку, необходимо открыть переменные среды (SystemPropertiesAdvanced), выбрать и открыть окно со значениями переменной PATH для текущего пользователя, а затем позакрывать эти окна, нажимая "ОК". Только после этого можно запускать ffmpeg, не прописывая полный путь к исполняемому файлу. Такая проблема наблюдается в Windows 11. Если Вы знаете как обойти данный недостаток, напишите об этом в комментариях.

Если путь в path прописался верно, вы увидите вывод команды как на скрине выше
Если путь в path прописался верно, вы увидите вывод команды как на скрине выше