Как установить ffmpeg на Windows?

FFmpeg — это популярное программное обеспечение для обработки, конвертации или обработки видео и аудио файлов. Программа используется для бесконечных вещей, таких как вращение видео, масштабирование видео, извлечение информации о видео и многое другое. Это программа с открытым исходным кодом, которая просто великолепна для масштабирования видео, транскодирования форматов, декодирования, кодирования, демультиплексирования, потоковой передачи, фильтрации, преобразования аудиофайлов, записи живого аудио/видео, обработки видео и других мультимедийных файлов. Этот мультимедийный каркас предназначен для обработки мультимедийных файлов на основе командной строки, и вы можете вносить базовые изменения с помощью однострочных команд.
Хотя программа проста в использовании, доступ к FFmpeg для выполнения команд немного сбивает с толку. Установка и использование FFmpeg может занять много времени, так как вам нужно вручную открыть папку FFmpeg в командной строке или в терминале Power Shell для доступа к исполнительному файлу FFmpeg для выполнения соответствующих команд для базового редактирования. Если вы застряли с установкой и использованием FFmpeg на вашем компьютере, вы находитесь в правильном месте.
Чтобы упростить задачу, все, что вам нужно сделать, это установить FFmpeg и добавить программу FFmpeg в путь Windows 10 с помощью переменных среды. Таким образом, вы можете получить прямой доступ к FFmpeg из командной строки или Power Shell в любом каталоге. В этой статье мы расскажем, как установить FFmpeg в Windows 10, чтобы получить доступ к FFmpeg напрямую из командной строки или PowerShell.
Получить последнюю сборку FFmpeg можно с официального сайта. Вы можете скачать 32-битную или 64-битную версию, подходящую для вашей системы. Нажмите кнопку Download Build , чтобы начать загрузку.
Программа не работает напрямую в Windows 10. Вам необходимо добавить программу в системный путь, используя переменные среды.
Перейдите в загруженную папку, где находится файл FFmpeg.zip. Щелкните правой кнопкой мыши папку Zip и в раскрывающемся меню выберите извлечь.

Выберите папку или диск, куда вы хотите извлечь.
Далее переименуйте извлеченную папку. Чтобы переименовать папку, щелкните правой кнопкой мыши папку и выберите «Переименовать» в раскрывающемся меню с заголовком FFmpeg-20180424-d9706f7-win64-static в FFmpeg.
Скопируйте папку FFmpeg и перейдите на диск C. Вставьте папку в корень диска C.

После этого следующим шагом будет включение FFmpeg с помощью командной строки.
Добавьте FFmpeg в path Windows, используя переменные среды
Чтобы использовать FFmpeg в командной строке, сначала необходимо добавить папку bin, содержащую исполняемый файл FFmpeg, в path Windows.
В меню поиска Windows введите Изменить системные переменные среды и нажмите Enter. Откроется окно свойств системы.
Перейдите к кнопке «Дополнительно» и нажмите «Переменные среды» в нижней части окна.
В окне Переменные среды выберите переменную Path и нажмите «Изменить», чтобы изменить переменную Path.
Нажмите Новый и введите путь к папке FFmpeg «C:\ffmpeg\bin\» и нажмите OK.
Введите каталог пути в соответствии с диском или папкой, в которую вы поместили папку FFmpeg.

После этого путь добавляется к переменным окружения. Нажмите кнопку ОК, чтобы применить изменения.
Проверьте доступность FFmpeg в командной строке
Запустите командную строку, введите команду ffmpeg в терминале командной строки и нажмите Enter.
Если FFmpeg правильно добавлен в путь к Windows, в командной строке отобразятся сведения о FFmpeg, такие как номер версии, конфигурация и т.д.

Если вы не добились успеха, это означает, что ваша командная строка не распознала команду. Перепроверьте, правильно ли вы добавили папку FFmpeg в системный путь.
Инструкция по установке и работе с программой FFMPEG на Windows
Программа FFMPEG предназначена для конвертирования видео и аудио файлов через специальные команды в командной строке Вашего компьютера/ноутбука, благодаря которым возможно самостоятельно:
1. Изменить формат и качество записи;
2. Изменить разрешение и битрейт для видео и аудио;
3. Нарезать фрагменты записи на отдельные записи;
4. Замедлить и ускорить воспроизведение видео и аудио;
5. Склеить видео и аудио в единый файл;
6. Удалить аудио из видео, а также извлечь аудио из видео.
(Более подробную информацию см. в шаге №5).
С ЧЕГО НАЧАТЬ?
Шаг №1. Скачиваем программу на Windows
Для начала Вам необходимо перейти на официальный сайт разработчиков и скачать файл программы. Ссылка на скачивание программы: https://yadi.sk/d/_ybZxA8VN2pBmQ
Шаг №2. Установка программы
Этот шаг требует особого внимания, так как работа с FFMPEG происходит через командную строку, поэтому разберём по пунктам алгоритм установки FFMPEG:
1. Вы скачали архивный файл и Вам необходимо его открыть;
2. Открываем скачанный архивный файл и находим папку «bin», внутри которой располагается файл-приложение «ffmpeg.exe»;
Примечание! Если у Вас нет архиватора для открытия файла, то можно скачать архиватор WinRar на официальном сайте разработчиков.
Ссылка на скачивание: https://winrar-pro-download.com


3. Извлекаем файл «ffmpeg.exe» в заранее созданную папку «ffmpeg» на корневом диске (как правило, это диск «C»);


4. Далее заходим в проводник (иконка «лупа») и находим «Мой компьютер». Нажимаем на него правой кнопкой мыши и выбираем «свойства», после чего появится следующее окно:


5. Нажимаем на «Дополнительные параметры системы» и заходим в «переменные среды»;

6. Находим в окошке «системные примененные» пункт «Path», нажимаем «изменить»;

7. В появившемся окне нажимаем на кнопку «создать» и указываем путь к файлу ffmpeg. Для этого переходим в папку с ffmpeg и кликаем на строчку, выделенную красным (см. на картинке), после чего нажмите сочетание клавиш Ctrl+C;


8. После того, как нажали клавишу «Создать» (1), вставляем скопированное в строку (2) и нажимаем на «Ок» (3).

Шаг №3. Запускаем программу
1) Если вы используете ОС Windows10, то вам достаточно нажать на значок «поиск»(лупа) и ввести английскими буквами «cmd»:

(Прим. Если же Вы используете более ранние версии Windows (7,8), то Вам нужно зайти в меню «пуск» и строка «поиск» будет в самом низу).
2) Далее, заходим в командную строку и проверяем – работает ли программа. Для этого вводим: ffmpeg, после чего нажимаем кнопку Enter. Если Вы всё сделали правильно, у Вас будет примерно следующий отклик в командной строке:

(Прим. Если же у Вас появляются строки красного цвета, то вероятно – Вы сделали что-то не так. Попробуйте повторить алгоритм по новой).
Шаг №4. Используемые файлы
Для начала работы с видео-файлом необходимо, чтобы файл находился в директории доступных дисков. Например: имеется видео-файл «Testovii File.mp4». Я расположил его прямо на диск D.

Таким же образом разместите остальные файлы, с которыми вы собираетесь работать в ffmpeg.
Либо, если не хотите перетаскивать файл, вам нужно будет скопировать путь к файлу(об этом позже).
(Прим. Рекомендуется использовать английские буквы в названии файлов, с которыми собираетесь работать)
Теперь с файлами можно работать.
Запускаем командную строку. Как правило, по умолчанию в командной строке указан путь к корневой папке, например:

Чтобы начать обрабатывать файл, необходимо указать тот диск, где расположен нужный файл. В нашем случае, это Диск D. Для смены диска, в строке прописываем команду: D:
После чего нажимаем Enter и видим, что теперь у нас отображается Диск D:


Теперь мы можем начать работать с файлами. Любая команда начинается со слова ffmpeg в строке:

Далее будет представлен ряд простых команд, где input.mp4 – название исходного видео-файла; input.mp3 – название исходного аудио-файла; output.format – название полученного файла; а ключ «–i» -это то, что необходимо прописывать перед обрабатываемым файлом (input.mp4/input.mp3).
Шаг №5. Основные команды
1) Для того, чтобы перевести видео в другой видеоформат:
ffmpeg –i Z\input.avi output.mp4
(Прим. – Z\ — путь к файлу input.avi, пример: выбираем нужный файл в папке (1), кликаем на него, затем кликаем на строку с его расположение (2), и копируем правой кнопкой мышки; также следует помнить, что при попытке форматирования из более легкого файла(Mp4) в более тяжелый(avi) – полученный файл будет в более плохом качестве)
2) Для того, чтобы перевести видео в аудио:
ffmpeg –i Z\input.mp4 output.mp3
(Прим. – Если появляется красная строка при нажатии ENTER, то попробуйте поместить input.mp4 в Кавычки – «input.mp4»)
3) Для того, чтобы вырезать фрагмент из видео:
Способ : 1 – обрезать концовку.
ffmpeg -i input.mp4 –t 00:00:00 output.mp4
(Прим. -t 00:00:00 – указывается время продолжительности видео от начала)
Способ : 2 – вырезать кусок из любой точки.
ffmpeg -ss 00:00:00 -i input.mp4 -t 00:00:00 output.mp4
(Прим. –ss 00:00:00 – указывается время начала желаемого куска; -t 00:00:00 – указывается время продолжительности желаемого куска;
Если появляется красная строка, то попробуйте поместить input.mp4 в Кавычки – «input.mp4»)
P.S Применимо как к видео, так и к аудио файлам!
4) Команда для склеивания пустого видео файла и аудио файла:
ffmpeg -i input.mp3 -i input.mp4 output.mp4
(Прим. Если вы используете разные по длительности файлы, то у них вседа будет совпадать начало, а длительность конечного файла будет равна самому длинному исходному файлу, пример:
Аудиофайл.mp3 – длительность 00:05:00 + Видеофайл.mp4 – длительность 00:03:00 = финальный файл.mp4 – длительность 00:05:00)
5) Команда для удаления аудио из видео:
ffmpeg -i input.avi -vcodec copy –an output.avi
6) Команда для ускорения/замедления видео:
ffmpeg –i input.avi -vf setpts=X*PTS output.avi
(Прим. X больше 1 – замедление; X меньше 1 — ускорение)
7) Команда для ускорения/замедления аудио:
Ffmpeg –I input.mp3 -filter:a «atempo=X» –vn output.mp3
(Прим. X значение больше нуля – ускорение; X значение меньше нуля (0.5;0.8) – замедление)
8) Команда для ускорения/замедления файла с аудио и видео:
ffmpeg -i input.mp4 -filter_complex «[0:v]setpts=X*PTS[v];[0:a]atempo=Y[a]» -map «[v]» -map «[a]» output.mp4
(Прим. X больше 1 – замедление; X меньше 1 – ускорение;
Y значение больше нуля – ускорение; Y значение меньше нуля (0.5;0.8) – замедление)
9) Для того, чтобы изменить параметр «качество»:
ffmpeg -i input.avi -q X output.avi
(Прим. X от 23 до 50, где 50 – минимальное качество; данная опция помогает уменьшить размер файла)
ffmpeg -i input.mp4 -crf X output.mp4
10) Для того, чтобы изменить Битрейт:
Для аудио: ffmpeg -i input.mp4 -b:a 128k output.mp4
(Прим. Где 128k– цифра, обозначающая размер битрейта)
Для видео: ffmpeg -i input.mp4″ -b:v 1000k output.mp4
11) Для того, чтобы изменить разрешение видео:
ffmpeg -i input.mp4 -s X output.mp4
(Прим. X – разрешение, например: «-s 800×600»)
Для общего сжатия видео:
13) ffmpeg -i input.mp4 -codec:a copy -vcodec libx264 -preset fast -crf 32 output.mp4
В этой статье были рассмотрены:
— Способ установки ffmpeg для Windows
— Была представлена выжимка из самых распространённых команд, которая позволит использовать программу «ffmpeg» для решения, пусть не самых сложных, но всё-же возникающих задач.
Команды в программе ffmpeg не ограничиваются тем списком, что был представлен в данной статье. Как было сказано выше, в интернете существует более 200 страниц со всевозможными командами, призванными проводить манипуляции с видео\аудио-файлами, которыми, как правило, пользуются продвинутые пользователи.
Мы же предоставили краткий мануал по основным возможностям, и надеемся, что этот материал окажется полезным для наших пользователей!
FFmpeg libav с нуля. Часть 1: знакомство и начало работы

Всем привет! Сегодня я хочу открыть
серию статей по изучению FFmpeg libav с нуля.
Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.
Отмечу то, что я не являюсь
профессионалом в данной теме и моей целью является просто облегчить жизнь тем, кто, как и я, делает первые шаги в данном направлении.
Знакомство (небольшая предыстория)
Несколько месяцев назад у меня появилась необходимость познакомиться с основами работы с аудио и видео файлами посредством языка С++ и библиотек libav*. Под libav* я подразумеваю libavformat, libavcodec, libavutil и другие.
За время, посвящённое изучению, я понял, что в интернете довольно мало актуальной информации на данную тему. Мне удалось найти лишь несколько статей, которые более менее раскрывают природу библиотек, но и они уже успели устареть, поэтому я хочу делиться собственным опытом со всеми, кто только ступает на эту тернистую тропу.
Перед началом чтения моих статей, настоятельно прошу ознакомиться с основами, которые освещаются здесь.
Введение в FFmpeg
FFmpeg — это набор библиотек и утилит командной строки, которые используются повсеместно для обработки мультимедийных материалов. Функционал FFmpeg посредством командной строки позволяет выполнять самые разнообразные операции с медиа, например, декодирование и транскодирование, мультиплексирование и демультиплексирование, применение фильтров, обрезка по времени, склеивание медиа файлов и многое другое.
Основные преимущества FFmpeg:
Открытый исходный код, удобный для ознакомления и модификации;
В большинстве случаев редактирование медиа файлов выполняется без потери качества;
Поддержка огромного количества кодеков для различных форматов медиа файлов.
Мы же будем использовать библиотеки FFmpeg (libav*) для разработки на С++, подробнее обо всём можно почитать на официальном сайте (промотайте в самый низ, если вас интересует список библиотек и их предназначение).
Подготовка рабочего окружения (по желанию)
Данный раздел предназначен для каждого, кого интересует простая настройка рабочего окружения на Windows. Я пользуюсь редактором кода Visual Studio Code, менеджером пакетов MSYS2 и компилятором GCC из группы компиляторов mingw-w64.
Скачиваем и устанавливаем менеджер пакетов с официального сайта.
Запускаем MSYS2 и обновляем основные системные пакеты: $ pacman -Syu
Перезапускаем MSYS2 и обновляем остальные пакеты: $ pacman -Su
Устанавливаем mingw-w64 и некоторые вспомогательные пакеты (make, pkgconf):
$ pacman -S —needed base-devel mingw-w64-x86_64-toolchain
Устанавливаем пакет FFmpeg:
$ pacman -S mingw-w64-x86_64-ffmpeg
Настраиваем Visual Studio Code. По его настройке довольно много информации на официальном сайте, поэтому покажу лишь основное:
1. Добавить путь к заголовочным файлам (FFmpeg libav*) в «includePath» .
2. Добавить путь к компилятору (mingw-w64 gcc) в «compilerPath» .
Начало работы с libav*
В качестве ознакомительного примера мы напишем простую программу для отображения информации о медиафайле.
Полный код программы можно найти здесь.
Первым делом необходимо открыть входной файл, путь к которому мы укажем аргументом в командной строке.
Далее прочитаем файловый заголовок и сохраним информацию о найденных форматах в структуру AVFormatContext . Для удобства все манипуляции будут производиться в отдельной функции.
Подробнее ознакомиться с AVFormatContext и его полями можно на официальном сайте.
Итак, для начала выделим память для нашего format_context , сделать это можно с помощью функции avformat_alloc_context() . Далее посредством функции avformat_open_input() прочитаем заголовок и заполним наш компонент минимальной информацией о формате. Следующим шагом получим информацию обо всех потоках в файле, это делает функция avformat_find_stream_info() .
Для вывода информации можно воспользоваться стандартной функцией av_dump_format() , которая принимает структуру AVFormatContext в качестве первого входного параметра.
Подробнее ознакомиться с av_dump_format() и её параметрами можно на официальном сайте.
Осталось инициализировать структуру AVFormatContext и добавить вызов ранее созданной функции open_input_media_file() в main() .
Ну и, конечно же, не стоит забывать про очистку памяти. Для этого мы напишем отдельную функцию clean_memory() и также добавим её вызов в main() .
Сборку и запуск программы можно осуществить как с помощью командной строки:
g++ 1.cpp -o out -lavformat -lavutil , так и с использованием Makefile (об этом довольно много информации в интернете).
После запуска программы мы увидим информацию, полученную из нашего медиафайла, обо всех его потоках.

av_dump_format
Заключение
В рамках данной статьи мы немного познакомились с libav* и написали вводный пример. Далее будем переходить к более реальным вещам, например, декодированию, транскодированию, использованию фильтров и многому другому.