FFmpeg - очень мощный инструмент с открытым исходным кодом (читай - бесплатный), который позволяет конвертировать и незначительно редактировать аудио и видео файлы. Мне он нравится за кроссплатформенность и возможность работы из командной строки, что помогает автоматизировать процесс.
Хотелось бы сразу предупредить, что "из коробки" данный продукт не имеет графического интерфейса. Если Вам нужен GUI, можете установить его от сторонних разработчиков самостоятельно.
Установка FFmpeg. Linux
На Linux всё очень просто: открываем терминал, вводим команду ниже и наслаждаемся автоматической установкой =)
sudo apt install ffmpeg
Установка FFmpeg. OS Windows
Тут всё иначе. Исполняемые файлы FFmpeg для Windows не требуют установки, а значит ни на одном этапе вам не потребуются права администратора. Так называемая установка может производиться несколькими способами:
Способ №1. Длительный, но привычный
Способ предназначен для начинающих пользователей, которым гораздо удобнее выполнять действия, сверяясь со скриншотами, чем использовать команды PowerShell или готовый скрипт.
Данный способ сводится к нескольким простым шагам:
- Выбираем одну из предоставленных сборок:
3. В разделе release builds выбираем ffmpeg-release-essentials
4. Распаковываем содержимое архива.
Рекомендую делать распаковку в папку текущего пользователя, особенно, если за ПК работают несколько человек или у вас нет прав Администратора.
Дальнейшие действия являются необязательными, но упростят процесс использования 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. Если Вы знаете как обойти данный недостаток, напишите об этом в комментариях.