Информация для тех, кто хотел бы научиться на своём компьютере/ноутбуке редактировать записи вебинаров через специальную программу!
Программа 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) – замедление)
Команда для ускорения/замедления файла с аудио и видео:
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) Для того, чтобы изменить параметр «качество»:
Для AVI:
ffmpeg -i input.avi -q X output.avi
(Прим. X от 23 до 50, где 50 – минимальное качество; данная опция помогает уменьшить размер файла)
Для Mp4:
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 — это свободная и открытая платформа для записи, преобразования и потоковой передачи видео и аудио. Она позволяет выполнять различные операции с мультимедийными файлами, включая конвертацию, обрезку, редактирование и многое другое.
Установка FFmpeg на Windows может показаться сложной задачей для начинающих пользователей, но на самом деле это довольно просто. В этой простой инструкции мы расскажем вам о нескольких шагах, которые помогут вам установить FFmpeg на Windows и начать использовать его для работы с мультимедийными файлами.
Шаг 1: Скачайте FFmpeg
Первым шагом является скачивание FFmpeg. Вы можете найти официальные бинарные файлы FFmpeg на их веб-сайте. Просто перейдите на сайт FFmpeg и найдите страницу загрузки. Скачайте бинарные файлы для Windows в соответствии с вашей системой (32-бит или 64-бит) и сохраните их на вашем компьютере.
Шаг 2: Разархивируйте файлы
После того, как вы скачали бинарные файлы, разархивируйте их из скачанного архива. Вам понадобится программа для разархивации, такая как 7-Zip или WinRAR. Просто откройте архив и извлеките файлы в удобное для вас место на компьютере.
Шаг 3: Добавьте FFmpeg в переменную среды
Чтобы использовать FFmpeg из командной строки, вы должны добавить путь к файлам FFmpeg в переменную среды вашей системы. Для этого откройте «Системные свойства» и перейдите на вкладку «Дополнительные параметры системы». В окне «Переменные среды» найдите переменную «Path» и нажмите кнопку «Изменить». Добавьте путь к файлам FFmpeg в список переменных, и сохраните изменения.
Теперь FFmpeg установлен и настроен на вашем компьютере! Вы можете начать использовать его для работы с мультимедийными файлами, выполнять конвертацию форматов, редактирование и многое другое.
Содержание
- Как установить ffmpeg на Windows?
- Загрузка установочного файла
- Запуск установки
- Установка ffmpeg
- Проверка установки
- Добавление ffmpeg в системную переменную PATH
- Готово! Вы готовы использовать ffmpeg на Windows
Как установить ffmpeg на Windows?
Если вы хотите установить FFmpeg на Windows, вам потребуется следовать нескольким простым шагам:
- Перейдите на официальный сайт FFmpeg по адресу https://www.ffmpeg.org/download.html.
- Прокрутите страницу вниз и найдите раздел «Get the packages» (Получите пакеты).
- В разделе «Windows» выберите одну из предложенных опций — «Static» или «Shared». Рекомендуется выбрать «Static», если вы не знаете, какую опцию выбрать.
- Скачайте архив с выбранным пакетом FFmpeg. Обычно он предоставляется в виде ZIP-файла.
- Извлеките содержимое архива в папку на вашем компьютере. Рекомендуется использовать корневой каталог диска C: для удобства.
- Добавьте путь до исполняемого файла FFmpeg в переменную среды PATH.
После выполнения этих шагов вы сможете использовать FFmpeg на своем компьютере. Вы можете проверить его работу, открыв командную строку и вводя команду ffmpeg -version
. Если в консоли отображается информация о версии FFmpeg, значит, установка прошла успешно.
Теперь вы готовы использовать все возможности FFmpeg на Windows и наслаждаться его функциональностью при обработке и конвертации мультимедийных файлов.
Загрузка установочного файла
Для установки ffmpeg на Windows необходимо сначала загрузить установочный файл с официального сайта. Для этого выполните следующие шаги:
-
Откройте браузер и перейдите на официальный сайт ffmpeg по ссылке: https://ffmpeg.org/download.html.
-
Скройтесь в раздел «Get the latest build» и найдите ссылку на скачивание подходящей версии ffmpeg для вашей операционной системы. В данном случае выберите ссылку «Windows builds».
-
На открывшейся странице выберите «Static» в строке «Linking». Далее выберите архитектуру вашей операционной системы (32-bit или 64-bit, в зависимости от того, какая операционная система у вас установлена).
-
После выбора архитектуры загрузится файл с расширением .zip. Сохраните этот файл на вашем компьютере в удобное для вас место.
После загрузки установочного файла вы готовы перейти к следующему шагу — установке ffmpeg на Windows.
Запуск установки
Чтобы установить ffmpeg на Windows, следуйте этим простым инструкциям:
- Скачайте установочный файл: Перейдите на официальный сайт ffmpeg (https://ffmpeg.org) и нажмите на кнопку «Download», чтобы перейти на страницу загрузки. Затем выберите версию ffmpeg для Windows и скачайте установочный файл (обычно это .exe файл).
- Запустите установку: Откройте скачанный установочный файл и следуйте инструкциям мастера установки. Если вам будет предложено выбрать компоненты для установки, убедитесь, что выбрано все необходимое для работы ffmpeg.
- Выберите папку установки: Если вам будет предложено выбрать папку установки ffmpeg, выберите желаемую папку или оставьте значение по умолчанию.
- Дождитесь завершения установки: Подождите, пока установка ffmpeg завершится. Обычно это занимает несколько минут.
- Проверьте установку: После завершения установки проверьте, что ffmpeg установлен корректно. Откройте командную строку (нажмите Win + R, введите «cmd» и нажмите Enter), а затем введите команду «ffmpeg -version». Если в ответ вы увидите версию ffmpeg, значит, установка прошла успешно.
Теперь у вас установлена самая свежая версия ffmpeg на Windows! Вы готовы использовать его для обработки и конвертации видео, аудио и других мультимедийных файлов.
Установка ffmpeg
Для начала нам понадобится скачать установочный файл ffmpeg для Windows. Вы можете найти его на официальном сайте проекта.
1. Перейдите на страницу загрузки ffmpeg на официальном сайте (https://ffmpeg.org/download.html) и найдите раздел «Windows», а затем выберите требуемую архитектуру (32-битную или 64-битную).
2. Нажмите на ссылку для загрузки файла. Обычно это архив с расширением .zip.
3. После загрузки файла, распакуйте его в удобное для вас место на компьютере.
4. Найдите распакованную папку с ffmpeg и откройте ее.
5. Внутри вы найдете несколько файлов и папок. Нам нужен файл с названием ffmpeg.exe.
6. Скопируйте файл ffmpeg.exe в папку, которая содержит системные переменные PATH вашей операционной системы. Это позволит вам запускать ffmpeg из любого места в командной строке.
7. После того, как файл скопирован, ffmpeg будет установлен на ваш компьютер.
Теперь вы можете использовать ffmpeg для обработки аудио и видео файлов на вашем компьютере.
Проверка установки
После завершения установки ffmpeg на ваш компьютер, вы можете проверить правильность установки с помощью командной строки.
- Откройте командную строку, нажав клавишу Win + R и введя «cmd».
- Введите команду «
ffmpeg -version
» и нажмите Enter. - Если установка прошла успешно, в командной строке отобразится информация о версии ffmpeg и используемых компонентах.
Вот пример вывода информации о версии ffmpeg:
ffmpeg version 4.4-2ubuntu2~20.04.1 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04) ...
Если вместо информации о версии ffmpeg появляется сообщение об ошибке, попробуйте перезагрузить компьютер и повторить шаги установки снова.
Добавление ffmpeg в системную переменную PATH
Чтобы иметь возможность использовать ffmpeg командной строке из любого места, необходимо добавить его путь в системную переменную PATH.
Следуйте этим шагам для добавления ffmpeg в системную переменную PATH:
|
Готово! Вы готовы использовать ffmpeg на Windows
Теперь, когда вы успешно установили ffmpeg на ваш компьютер с операционной системой Windows, вы готовы начать использовать его для обработки видео. Вот несколько полезных команд, которые вы можете использовать, чтобы начать:
- Чтобы сконвертировать видео из одного формата в другой, используйте следующую команду:
- Для изменения размера видео, используйте команду:
- Чтобы вырезать фрагмент из видео, используйте команду:
- Для добавления водяного знака к видео, используйте команду:
ffmpeg -i input_video.mp4 output_video.avi
ffmpeg -i input_video.mp4 -s 1280x720 output_video.mp4
ffmpeg -i input_video.mp4 -ss 00:01:30 -to 00:03:30 -c copy output_video.mp4
ffmpeg -i input_video.mp4 -i watermark.png -filter_complex "overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)" output_video.mp4
Это лишь некоторые примеры команд, которые вы можете использовать с ffmpeg. Ознакомьтесь с документацией и экспериментируйте, чтобы раскрыть всю мощь этого инструмента.
Удачи в работе с ffmpeg!
FFmpeg is a robust, open-source multimedia framework that can manipulate audio, video, and other multimedia files in various ways. This guide will help you install and use FFmpeg on Windows.
This guide will also cover the basics of encoding, transcoding, and streaming and more advanced features like applying filters and subtitles.
Note: please go here if you want to read more comprehensive FFmpeg tutorials.
Table of Contents
Introduction to FFmpeg
FFmpeg is a powerful command-line tool for working with multimedia files. It supports various codecs, formats, and protocols, making it a versatile and flexible choice for media processing tasks. Some everyday use cases include:
- Encoding and decoding multimedia files
- Converting between different file formats
- Resizing and cropping videos
- Extracting audio from video files
- Adding subtitles to videos
- Streaming live video and audio
To install and use FFmpeg on Windows, follow these steps:
- Download FFmpeg: Visit the official FFmpeg website and download the latest version of FFmpeg for Windows.
- At this stage, you have two options – you can either download the source code and compile FFMpeg yourself, or you can download a static build (.exe files).
- For the exe files, you can go here and download the Windows zip file (https://github.com/BtbN/FFmpeg-Builds/releases)
- Extract the files: Once the download is complete, extract the zip file’s contents to a folder on your computer.
- For example, you might create a folder called
C:\FFmpeg
. - You’ll find three executables in this folder: ffmpeg, ffprobe, and ffplay.
- For example, you might create a folder called
- Add FFmpeg to your system’s PATH: To use FFmpeg from the command prompt, add the bin folder within the extracted FFmpeg folder to your system’s PATH environment variable. Follow these steps:
- a. Press Windows + X and select “System” from the menu.
- b. Click on “Advanced system settings” on the right side of the window.
- c. In the “System Properties” window, click the “Environment Variables” button.
- d. Under “System variables,” scroll down and find the “Path” variable, then click “Edit.”
- e. Click “New” and add the path to the
bin
folder inside the FFmpeg folder (e.g.,C:\FFmpeg\bin
). - f. Click “OK” to save your changes and close the open windows.
- Verify the installation: Open a new command prompt and type
ffmpeg -version
. If the installation was successful, you should see information about your installed version of FFmpeg.
Basic Encoding and Transcoding
To convert a multimedia file from one format to another, use the following command:
ffmpeg -i input.ext -c:v codec -c:a codec output.ext
Replace input.ext
with the name of the source file and output.ext
with the desired output file name. Replace codec
with the desired video and audio codecs.
For example, to convert a video.mp4
file to video.avi
format, run:
ffmpeg -i video.mp4 -c:v libxvid -c:a libmp3lame video.avi
Streaming
FFmpeg can also be used for streaming live video and audio. To stream a video file over HTTP, use the following command:
ffmpeg -re -i input.ext -c copy -f format http://localhost:port/stream_name
Replace input.ext
with the name of the source file, format
with the desired streaming format, port
with the desired port number, and stream_name
with a name for your stream.
For example, to stream a video.mp4
file over HTTP in the MPEG-TS format on port 8080, run:
ffmpeg -re -i video.mp4 -c copy -f mpegts http://localhost:8080/stream
To watch the stream, open a media player that supports network streams, such as VLC, and enter the streaming URL (e.g., http://localhost:8080/stream
).
Advanced Usage
FFmpeg can also be used for advanced video and image processing, manipulation, and compression cases. Let’s look at a few of these in this section, and as always, you can check our FFmpeg tutorial section for more use cases.
Applying Filters
FFmpeg provides a wide range of filters for video and audio manipulation. Filters can be applied using the -vf
(video filter) or -af
(audio filter) options. Here’s an example of how to apply a video filter to resize a video:
ffmpeg -i input.ext -vf "scale=1280:720" output.ext
This command resizes the input video to a resolution of 1280×720 pixels.
Adding Subtitles
To add subtitles to a video, use the following command:
ffmpeg -i input.ext -vf "subtitles=subtitles.srt" output.ext
Replace subtitles.srt
with the name of the subtitle file.
Conclusion
This guide covers the process to install and use FFmpeg on Windows, including encoding, transcoding, streaming, and advanced features such as filters and subtitles. With FFmpeg, you can easily manipulate multimedia files to suit your needs.
On OTTVerse, we have comprehensive tutorials on FFmpeg use cases. Please go here to explore our collection of comprehensive FFmpeg tutorials.
Krishna Rao Vijayanagar
Krishna Rao Vijayanagar, Ph.D., is the Editor-in-Chief of OTTVerse, a news portal covering tech and business news in the OTT industry.
With extensive experience in video encoding, streaming, analytics, monetization, end-to-end streaming, and more, Krishna has held multiple leadership roles in R&D, Engineering, and Product at companies such as Harmonic Inc., MediaMelon, and Airtel Digital. Krishna has published numerous articles and research papers and speaks at industry events to share his insights and perspectives on the fundamentals and the future of OTT streaming.
В 2000 году программист с ником Gerard Lantau выложил для всеобщего использования исходники проекта FFmpeg. За годы концепция осталась прежней:
- Деление на программы FFmpeg для кодирования видео и FFserver для организации потокового вещания.
- Максимально быстрое кодирование звука и видео.
В то время 500 мегагерц в компьютере считались нормой, требовалась максимальная оптимизация, поэтому в FFmpeg своя реализация видеокодеков, оптимизированная для скорости. Это нужно и сейчас, особенно на серверах видеохостингов, где идёт постоянная борьба за снижение энергопотребления, чтобы процессоры не грелись.
FFmpeg прочно стоит на ногах — почти каждый день вносятся правки в исходный код. Добавляются новые компоненты. Например, плеер FFplay и утилита для получения информации FFprobe.
2 Где скачать FFmpeg и FFserver
FFmpeg разрабатывается под Linux. Если на сайте видите окошко с трансляцией видео — 9 шансов из 10, что оно работает благодаря FFmpeg и FFserver.
Версия FFmpeg (и FFserver) для Windows тоже существует, но часть функциональности будет недоступна. Впрочем, это не мешает работать видеоконвертеру MediaCoder (www.mediacoderhq.com) и плееру PotPlayer.
Версии для Linux найдете на ffmpeg.org, я же расскажу про FFmpeg для Windows. Она делится на две части: FFmpeg и FFserver.
FFmpeg для Windows вы найдете здесь: https://www.gyan.dev/ffmpeg/builds/
На выбор есть 32- и 64-битные версии. Рекомендую 64-битную (ffmpeg-release-full.7z).
Если нужно организовать видеотрансляцию с, например, IP-видеокамеры, желательна 32-битная версия FFmpeg, с 64-битной я заметил проблемы — программа закрывалась сама по себе. Возможно, потому что FFserver для Windows — 32-битный, есть несовместимость.
FFserver для Windows тоже существует, хотя об этом мало кто знает. Программу трудно скомпилировать, потому что используется много специфичного для Linux кода. Разработчики системы видеонаблюдения Xeoma оказались молодцы, потому что выложили свой FFserver для Windows на своем сайте: http://felenasoft.com/xeoma/ru/ffserver/ Не забудьте скачать cygwin1.dll оттуда же. Другой вариант запустить данную софтину — через WSL в Windows 10/11, тогда можно пользоваться самой актуальной версией для Linux.
Про FFserver в Интернете много инструкций. Например, эта: https://trac.ffmpeg.org/wiki/StreamingGuide.Они написаны на примере Linux-версии, но это не существенно, за исключением пары моментов:
- Файл ffserver.conf должен лежать не в папке /etc, а в одной папке с ffserver.exe, cygwin1.dll и ffmpeg.exe.
- Адреса устройств в Windows другие, придётся самостоятельно с этим разбираться.
Если что, я не специалист в стриминге и ФФсервер упоминаю только потому, что это часть ФФмпега.
Обновление: ffserver устарел. Используйте альтернативы. Их список вы найдете здесь: github.com/krzemienski/awesome-video#streaming-server-and-storage
3 Как установить FFmpeg
1. Скачайте по ссылке выше Static-версию. Это архив, для распаковки потребуется программа 7-zip (7-zip.org).
2. Создайте на диске C: папку ffmpeg и распакуйте туда архив.
Для установки ffmpeg этого достаточно. Советую выполнить пункт 4 для удобства в будущем.
3. Если нужно настроить трансляцию, в папку c:\ffmpeg\bin распакуйте ffserver и положите файлик cygwin1.dll.
4. Чтобы в командах не писать каждый раз полный путь к программе, можно добавить его в переменную PATH: Панель управления — Система — Дополнительные параметры системы — вкладка Дополнительно — Переменные среды — в конце строки переменной Path добавьте «;c:\ffmpeg\bin» без кавычек. Если там было пусто (что не совсем нормально), то «c:\ffmpeg\bin«, т.е. без точки с запятой в начале.
Потом перезагрузите компьютер, чтобы изменения вступили в силу.
Вы можете пропустить четвертый шаг, но потом вместо команд ffmpeg и ffserver придется писать полный путь «c:\ffmpeg\bin\ffmpeg.exe» и «c:\ffmpeg\bin\ffserver.exe».
4 Как пользоваться FFmpeg
На главной странице FFmpeg красуется надпись:
Человек, не знакомый с командной строкой, будет в ступоре. Куда вводить команду?
FFmpeg хорош для тонких задач, но, если не хотите заморачиваться, воспользуйтесь бесплатной XMedia Recode или платной Movavi Video Converter. .
В папке ffmpeg\doc собрано много примеров по использованию компонентов, все команды можно посмотреть там.
Примеры
Имена файлов у вас будут свои. Если есть пробелы или на русском — обрамляйте имена в кавычки.
Отобразить информацию о файле:
ffmpeg -i video.mp4
или ffprobe video.mp4
Пережать видео avi в mp4:
ffmpeg -i video.avi video.mp4
Пережать mov в flv и изменить разрешение:
ffmpeg -i video.mov -s 640x360 -b 1700k -vcodec flv -ar 44100 video.flv
Пережать видео в webm среднего качества, звук формата OGG:
ffmpeg -i video.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis video.webm
Пережать видео кодеком MPEG4, звук — mp3, контейнер — avi:
ffmpeg -i video.mp4 -vcodec mpeg4 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 100 -qscale 3 -acodec libmp3lame -ac 2 -ab 128k -y video.avi
Сохранить звуковую дорожку из видео в отдельный файл:
ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 zvyk.mp3
Добавить звуковую дорожку к видео («-acodec libmp3lame» можно выкинуть, тогда ffmpeg сам решит, как кодировать звук):
ffmpeg -i zvyk.mp3 -i video.mp4 -acodec libmp3lame video_final.mp4
Добавить звуковую дорожку без перекодирования видео (сохраняет качество, работает быстро):
ffmpeg -i zvyk.mp3 -i video.mp4 -acodec libmp3lame -vcodec copy video_final.mp4
Пережать видео в формат
Сохранить кадр на второй секунде как отдельную картинку:
ffmpeg -ss 00:00:02 -i video.mp4 -f image2 -vframes 1 thumb.jpg
Убрать дрожание камеры и сохранить в out.mp4:
ffmpeg -i video.mp4 -vf deshake out.mp4
Структура
Как видно из примеров, команды ffmpeg имеют структуру:
ffmpeg -опции -еще_опции -можно_опции_с_параметрами_например 1 -i "имя файла.расширение" -опции_кодирования -еще опции +опции_кодека "имя_результирующего_файла.расширение"
Если не указывать опции кодирования, для результирующего файла ffmpeg будет пытаться использовать параметры исходного, чтобы сохранить максимум качества.
Команды
Информационные (чтобы узнать возможности установленной версии)
-L
Показать текст лицензии.
-h, -?, -help, —help
Список доступных команд.
-version
Узнать версию ffmpeg.
-formats
Показать список доступных форматов контейнеров (не кодеков!).
В Windows не хватит строк в командной строке для показа всего списка, для исправления откройте свойства окна и на вкладке «Расположение» поставьте высоту буфера экрана в 500. В списке буквы D и E означают поддержку декодирования и кодирования.
-codecs
Список доступных кодеков. Кроме интуитивно понятных D и E (Decoder для «чтения» и Encoder для кодирования), видны следующие обозначения:
V — кодек для видео, A — для звуковых дорожек, S — субтитров, I — только для кодирования I-фреймов, L — кодек сжимает с потерями данных (большинство), S — без потери данных (сохраняет качество, сжимает слабо).
-bsfs
Показать поддерживаемые bitstream filters (фильтр потока данных), которые нужны в ряде случаев для правильной обработки потока данных.
-protocols
Показать доступные протоколы. Из выдаваемого списка понятно, что в качестве входных данных может использоваться RTMP поток (видеотрансляция) и многое другое, не только файлы. Как выходные — тоже.
-filters
Доступные фильтры видео и аудио. В FFmpeg их громадное количество. Кроме банальных поворота и настроек яркости, в FFmpeg есть расширение стереобазы, генерирование фракталов и прочее, прочее. Подробные инструкции — в doc/ffmpeg-filters.html.
-pix_fmts
Доступные цветовые форматы. FFmpeg понимает громадное количество цветовых пространств. Полезно для тех, у кого оборудование выдает странные цвета.
Основные опции
-loglevel значение или -v значение
Уровень логгирования. От минимума — quiet до максимально подробного debug. Полный список: quiet, panic, fatal, error, warning, info, verbose, debug. Полезно, если в процессе кодирования видео происходят ошибки и нужно узнать подробности.
-f значение (mp4, avi, mkv, gif и т.д.)
Указать определенный формат (контейнер) файла. Обычно FFmpeg выбирает по расширению выходного файла, но можно переназначить.
-i путь_до_файла
Команда для указания входящего файла или потока (например, rtmp://адрес для захвата потокового видео).
-y
Перезаписывать уже существующий выходной файл без запроса.
-ss время
Указывает, с какого времени нужно кодировать видео/аудио. Формат в виде «чч:мм:сс». Подробнее: https://trac.ffmpeg.org/wiki/Seeking
-t время
Указать, до какого времени нужно кодировать видео/аудио. Вместе с предыдущей командой удобно использовать для вырезания отрезка видео.
-fs размер
Лимит выходного файла. Например, при -fs 10M кодирование останавливается, как только выходной файл станет 10 Мб размером. Поддерживаются K, M, G (килобайты, мегабайты и гигабайты).
Опции кодирования видео
-b значение
Устанавливает битрейт видео. Выше битрейт — лучше качество и больше размер файла. Указывайте в конце цифры K или M, чтобы программа понимала, в килобитах/сек или мегабитах/сек значение.
-vframes значение
Количество кадров, которые нужно кодировать.
-r значение
Указание частоты кадров.
-s размер
Указание, в каком разрешении кодировать видео. Например, 1920×1080 для FullHD видео на выходе. FFmpeg понимает буквенные сокращения (vga, hd480, hd720, hd1080 и другие).
-aspect соотношение_сторон
Указать соотношение сторон видео (4:3, 16:9 or 1.3333, 1.7777 и т.д.). Как известно профессионалам, в видео пиксели могут быть прямоугольными.
-croptop значение, -cropbottom значение, -cropleft значение, -cropright значение
Обрезка количества пикселей видео сверху, снизу, слева или справа.
-padtop значение, -padbottom значение, -padleft значение, -padright значение
Добавление границы видео сверху, снизу, слева или справа.
-padcolor hex_color
Цвет границы в шестнадцатеричном формате (#000000 — черный, #FF0000 — красный и т.д.).
-vn
Не кодировать видео.
-bt значение
Значение задает максимальное отклонение от указанного битрейта. Может не работать, в зависимости от кодека.
-maxrate битрейт
Указывает максимальное значение битрейта. Требует указания размера буфера через -bufsize.
-minrate битрейт
Минимальный битрейт у видео. Часто используется для принудительного задания определенного битрейта:
ffmpeg -i video.avi -b 4000K -minrate 4000K -maxrate 4000K -bufsize 1835k video-out.mp4
-bufsize размер
Устанавливает размер буфера видео. Упрощенно говоря, это кусок видео, который FFmpeg анализирует и выбирает — какие битрейты выбрать в его пределах. В первую очередь нужно для потокового вещания: чем больше буфер, тем больше стабильности при кодировании.
-vcodec кодек
Выбор кодека (см. команду -codecs для списка кодеков). Можно указать copy, тогда FFmpeg будет копировать видеопоток без перекодирования.
-sameq
Сохранять качество исходной картинки/звука. Это не то же самое, что -vcodec copy. Сохраняется качество видео, кодек может быть любым, видеодорожка перекодируется.
-pass n
Для многопроходного кодирования видео. Указывает, какой делать проход (1 или 2). Префикс имени файла со статистикой указывается командой -passlogfile значение.
Можно отключить обработку звука при первом проходе, чтобы экономить время и ресурсы:
ffmpeg -i video.mp4 -vcodec libxvid -pass 1 -an -f rawvideo -y NUL
Опции звука
-aframes количество
Сколько фреймов звука (да, у звука есть кадры!) нужно кодировать.
-ar частота
Указание частоты звука (по умолчанию 44100 Гц).
-ab битрейт
Битрейт (по умолчанию = 64K).
-aq значение
Указание качества (зависит от кодека, применяется при переменном битрейте).
-ac число
Количество аудиоканалов (по умолчанию 1).
-an
Не кодировать звук.
-acodec кодек
Указание кодека для звука. Значение copy позволяет копировать звуковую дорожку без перекодирования
-newaudio
Добавление еще одной звуковой дорожки. Ее параметры указываются до команды -newaudio:
ffmpeg -i file.mpg -vcodec copy -acodec ac3 -ab 384k test.mpg -acodec mp2 -ab 192k -newaudio
Субтитры
-scodec кодек
Кодек для субтитров (copy — для прямого копирования).
-newsubtitle
Добавление еще одних субтитров.
-slang код
Указание языка субтитров в стандарте ISO 639 (3 буквы).
-sn
Отключение субтитров.
Другие команды
-threads количество
Количество потоков для кодирования видео. Опцию следует применять только на многоядерных ПК и то с оглядкой, читая документацию к выбранному кодеку.
-vsync значение
Синхронизация кадров. Значения:
0 — каждый кадр передается из входного в результирующий файл с той меткой времени, которая у него была.
1 — кадры будут дублироваться или удаляться, чтобы сохранить требуемую частоту кадров.
2 — кадры будут пропускаться или удаляться, чтобы сохранить требуемую частоту кадров.
-1 — значение по умолчанию. FFmpeg выбирает сам между методами 1 и 2.
С помощью команды -map можно указать, что к чему будет подстраиваться. Подробности: https://trac.ffmpeg.org/wiki/Map
-async кадры_в_секунду
Выбор метода синхронизации звука. Чтобы звук и видео совпадали по времени, аудиодорожка может растягиваться и сжиматься. Значение 1 скорректирует звуковую дорожку только в самом начале по принципу «дальше будь что будет».
-copyts
Применяется для принудительного копирования всех временных меток из исходного файла. Полезно в случае, если начало видео — не 00:00, а что-то другое и это нужно сохранить.
-shortest
Когда самый короткий входящий файл закончился, прекращение кодирования.
Еще команд?
Команды для FFmpeg смотрите здесь:
http://help.ubuntu.ru/wiki/ffmpeg (на русском).
https://ffmpeg.org/ffmpeg.html (официальная документация).
Для кодирования кодеком x264 гляньте это:
http://wiki.rosalab.ru/ru/index.php/FFmpeg (на русском, есть примеры).
Почему команд так много?
Они нужны для полного контроля процесса обработки файлов с видео и звуком.
Большинство пользователей конвертируют видео, не понимая, что важен не только кодек для сжатия, но и его параметры. Есть нюансы, которые непросто осознать начинающим пользователям. Например, файл с расширением «mp4» не обязательно содержит в себе видео с кодеком MPEG4.
Если есть какие-то вопросы по FFmpeg — спрашивайте в комментариях. Помогу, чем смогу.
If you’d ask anyone which is the most popular software project or library to handle audio and video processing. Chances are that most of them would mention FFmpeg. It is widely used for tasks such as transcoding, packaging, video playback, basic editing, video scaling, etc. It is one of the most popular tools used for video and image processing. Many video platforms use FFmpeg as part of their project.
Table Of Content:
- What is FFMPEG?
- How to Install FFmpeg on Windows?
- How to install FFMpeg on Mac?
- What Are The Uses of FFmpeg ?
- Video Processing
- Video compression
- Video Packaging Support
- Audio and Video Container Support
- How To Use FFMPEG?
- Getting File information from a video file
- Cut/Trim a video file
- Resize the video file
- Split a video into multiple parts
- Convert images into a video sequence
- Convert a video to x images
- Convert a video file from one format to another format
- Split a video into multiple parts
What is FFMPEG?
FFmpeg is a free and open-source software project consisting of different libraries and programs for handling video, audio, and other multimedia files and streams. FFMPEG is a command-line tool used for processing video and audio files. It is widely used for format transcoding, basic editing (trimming and concatenation), video scaling, and video post-production effects.
Installing FFMPEG is fairly straightforward. You can head to this link to download from gyan.dev.
For a much detailed installation guide, you can see the instructions in our blog on setup and install FFMPeg on Windows.
You can even watch this video and follow instructions on how to install FFMPEG on Windows.
How to install FFMpeg on Mac?
- Go to https://ffmpeg.org/download.html and click the Apple logo in the “Get packages & executable files” section.
2.Click “Static builds for macOS 64-bit”.
3.You’ll see two options for downloading ffmpeg. Choose the one with the shorter filename; this will look like ffmpeg-<versionNumber>.7z, where <versionNumber> is something like 4.3.1.
- When you extract the file and click on the file, you’ll see this message.
- You will have to go to the system preferences and go to the general tab
You can also install FFmpeg using homebrew on mac. This is the mac installation program using homebrew
brew install ffmpeg
What Are The Uses of FFmpeg ?
It is used for a wide range of tasks such as transcoding, packaging,and video playback. Various software projects use FFmpeg and it’s libraries are currently the part of several software projects, such as VLC, YouTube, and more.
These are the popular use cases of FFmpeg:
Video Processing
You can use FFmpeg for video processing tasks such as denoising, rotation, extraction of frames, blurring, color conversion, letter-boxing, etc
Video compression
It provides excellent support for video compression. Its an open secret that most streaming companies use or have used FFmpeg for their production systems
Video Packaging Support
For OTT or eLearning platform providers or developers, FFmpeg also has complete support for packaging your videos in both HLS and MPEG-DASH protocols. It can also be configured to stream the videos using RTMP or other protocols.
Audio and Video Container Support
FFmpeg also has extensive support for containers and can be used to read, write, and convert between containers such as avi, mp4, mp3, wma, wav, ts, flv, mkv, and so many other obscure formats.
How To Use FFMPEG?
Getting File information from a video file
To access all the file information including metadata of a video you can use the following command.
Cut/Trim a video file
You can trim a video starting from a specific time using ffmpeg,To trim a video using ffmpeg use the following command.
ffmpeg -ss 00:00:05 -i sample.mp4 -to 00:00:10 -c:v copy -c:a copy trim_sample.mp4
-ss parameter:
This is used to seek the video to time from where you want to start the trimming.
-t parameter:
You can specify the duration of the required clip using the -t parameter.
-to parameter:
You can specify the end-time using the -to parameter.
Resize the video file
You can resize a video using the below command, -s is used to resize the video in below command.
ffmpeg -i sample.mp4 -s 640×480 -c:a copy resizedSample.mp4
Split a video into multiple parts
Using FFMPEG you can split a large video file into smaller parts. You can use below command to split a video
ffmpeg -i sample.mp4 -t 00:00:30 -c copy fragment1.mp4 -ss 00:00:30 -c copy fragment2.mp4
In the above command -t 00:00:59 represents a part that is created from the start of the video to the 30th second of the video. -ss 00:00:30 shows the starting time stamp for the video. It means that the 2nd part will start from the 30th second and will continue up to the end of the original video file.
Convert images into a video sequence
The below command will transform all the images in a directory to a video file.
ffmpeg -framerate 30 -i filename-%03d.jpg output.mp4
Convert a video to x images
The below command will generate images named image1.jpg, image2.jpg, etc, from a given video file. The following image formats are available: PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.
ffmpeg -i video.mpg image%d.jpg
Convert a video file from one format to another format
This command will convert a video file from one format to another.
ffmpeg -i sample.wmv-c:v libx264 sample.mp4
Crop a video file
FFMPEG provides a crop parameter for specific purposes.
ffmpeg -i sample.mp4 -filter:v “crop=out_w:out_h:x:y” output.mp4
- out_w is the width of the output rectangle
- out_h is the height of the output rectangle
- x and y specify the top left corner of the output rectangle
- output.mp4 is the output file
Resize a video
To resize a video to desired size you can use -vf parameter.
ffmpeg -i sample.mp4 -vf scale=320:240 sample.mp4
Extracting audio from a video file
Use the below command to extract audio from a video file.
ffmpeg -i sample.mp4 -vn -ab 128 audio.mp3
Here -vn is used to extract audio and -ab is used to save audio as a 128Kbps MP3 file. You can change the bitrate to 256Kbps or something else. Just change the value after -ab.
Mute audio in a video file
The below command will mute audio in a video file.
ffmpeg -i sample.mp4 -an mutesample.mp4
Adding Poster image to video file
Adding a poster image with FFMPEG is an easy task, The below command will add a poster to a video file.
ffmpeg -i video.mp4 -i image.png -map 1 -map 0 -c copy -disposition:0 attached_pic out.mp4
Add text subtitles to a video
Using FFMPEG it is easy to add subtitles to a video file. The below command will add subtitles to a video file.
ffmpeg -i input.mp4 -i subtitles.srt -c copy -c:s mov_text output.mp4
Basic conversion
With FFmpeg, you can easily convert videos file without worrying about picking the right format and container. FFmpeg automatically selects the right codec and container without any need to configure it.
Let’s say you want to convert an mp4 file to avi file, you can easily do so :
ffmpeg -i original.mp4 convert.webm
This command takes the mp4 file called original.mp4 and converts it to the WebM file called convert.webm. In this case, as WebM is a well-known video format, FFmpeg already knows which video and audio stream it supports and thus will convert the streams into a valid WebM file.
Although FFmpeg might not pick the right container you’d need every single time. In the case of containers such as Matroska, it might result in the converted file using the same codec. For example, let’s take this case.
ffmpeg -i original.mp4 output.mkv
Here the file might have the same codec as the original video, which in certain cases might not be what you want.
Changing the Quality of the Video File
With FFmpeg you can change the video bitrate and frame rate of the input file as well
You can use the following command to change the video bitrate of the output file to 64 kbit/s:
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
And use this command to restrict the frame rate of the output file to 30 fps:
ffmpeg -i input.avi -r 30 output.avi
You can also adjust the dimensions of your video using FFmpeg. The simplest way is to use a predetermined video size:
You can even change the dimensions of yout videos using FFmpeg, one of the ways it to use a standard video size
ffmpeg -i inital.mkv -c:a copy -s hd720 final.mkv
This changes the video to, 120×720, you can even change the width and height manuall as well.
ffmpeg -i inital.mkv -c:a copy -s 1280×720 final.mkv
This command acts the same as the earlier one, just be wary of the fact that width always comes before height.
Selecting your codecs
With FFmpeg, you can select any codec you want by using the -c flag. With this flag, you can set different codecs for different streams. So in case you want to set the audio stream to Vorbis, you can use the following command:
Ffmpeg -i original.mp4 -c:a libvoris convert.mkv
If you want to change the video stream along with the audio stream. You can do this as well. Here it’ll make a Matroska container with a VP9 video stream and Vorbis audio stream using this command:
Ffmpeg -i original.mp4 -c:v vp9 -c:a libvorbis convert.mkv
The command FFmpeg -codecs will print every codec FFmpeg knows about. The output will change according to the FFmpeg version you have.
Changing a single stream
More often than you’d like, the file you have is partially correct with only a single stream in the wrong format. It can be very time-consuming to re-encode the correct stream. FFmpeg can help with this situation:
At time there might be some cases where the file might have a single stream which is in the wrong format. Re-encoding it completely can be time consuming, at times like this ffmpeg comes to your rescue:
ffmpeg -i initial.webm -c:v copy -c:a flac final.mkv
This command takes the same video stream from initial.webm into final.mkv and encodes the audio stream into FLAC.
Changing a container
You can use the above command to allow you to use the same audio and video streams for the different container format without any need to additional encoding
ffmpeg -i initial.webm -c:av copy final.mkv
Conclusion
FFmpeg is a great library to have in your video processing and compression toolbox. FFmpeg has endless capabilities and being open-source, you are more than welcome to modify the source and extend it’s capabilities.
Supercharge Your Business with Videos
At VdoCipher we maintain the strongest content protection for videos. We also work extremely hard to deliver the best viewer experience. We’d love to hear from you, and help boost your video streaming business.
Free 30-day trial →