Что такое ffmpeg и для чего он нужен

Понимаем FFmpeg

FFmpeg — это набор библиотек для обработки видео и аудио файлов. FFmpeg сконвертирует mov в mp4, наложит водяной знак, склеит несколько видео файлов в один, поменяет разрешение, перекодирует потоковое видео, создаст поток сам. FFmpeg полезен для тех, кто профессионально работает с видео, разрабатывает медиа приложения или просто обрабатывает домашние записи.

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

Сегодня мы пройдем путь от получения информации о файле до применения нескольких фильтров одновременно, решая задачи, с которыми часто сталкиваешься при работе с видео. Установим ffmpeg и вперед!

Получаем информацию о файле

Конвертируем в mp4

Допустим у нас есть сайт, на котором видео проигрывалось через Flash плеер. Мы хотим поменять его на HTML5 Video. Для этого конвертируем видео файлы на сервере из flv формата в mp4.

По сравнению с предыдущей командой добавилось три поля.

При конвертации задают не только кодеки. Увеличим число настроек:

Вырезаем фрагмент видео

Фильтры. Меняем разрешение

Объединение фильтров. Ускоряем воспроизведение

Мы объединили несколько фильтров в один флагом filter_complex и получили ускоренный в два раза файл. Чтобы разобраться применим фильтры по одиночке.

Добавив filter_complex и применив оба фильтра, мы ускорили файл целиком.

Склеиваем файлы в один

Выполним ту же операцию другим методом:

Такой метод удобен, если у нас много файлов и надо склеить их друг за другом. Он не перекодирует видео и работает быстрее первого метода.

Водяной знак

Последний пример, который мы рассмотрим — это наложение водяного знака. Фильтр overlay принимает на вход координаты расположения водяного знака на итоговом видео.

FFmpeg — мощный инструмент для работы с видео. Решение других задач с его помощью можно посмотреть в статье 19 команд ffmpeg для всех нужд.

Источник

Своя видео-платформа — ffmpeg и качество кодирования видео. Part 2

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

Lenna любит хорошо выглядеть — фотомодель в конце концов. Ходят легенды, что добавление её в заголовок статьи, связанной с обработкой визуальных данных даёт +5 к шансу на плюсы.

Продолжаю раскрывать особенности работы видео сервисов. Сегодня заметки про параметры кодирования и их выбор.

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

К сожалению, волшебной кнопки «скодировать совсем хорошо» не предусмотрено. Как и аналога caniuse для параметров кодирования. Придётся разбираться в особенностях работы кодеков.

Вводная часть: профили

Настроек и параметров у H264 такое количество, что сами разработчики для того, чтобы в них не запутаться, решили сделать список профилей — «хороших» конфигураций для разных целей. Стандартных профилей определили много; дополнительно, устанавливая собственные параметры кодирования, вы, фактически, создаёте собственный профиль, запутывая всех окончательно. Так что, к сожалению, получилось как всегда.

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

Изначально профили создавались для определения, будет ли проигрываться итоговое видео на нужном типе устройств, однако сейчас какого-то однозначного разделения проигрывателей по типам устройств и профилям нет.

На практике я бы выделил, по уровню ресурсоёмкости декодирования, три группы параметров:

Теперь к отдельным параметрам.

Цветовое пространство

Выбор цветового пространства практически не влияет на эффективность кодирования; этот параметр можно было бы оставить на выбор кодека (он важен при обработке сырых, некодированных данных), если бы не одна особенность: многие плееры весьма специфически обрабатывают информацию о цветовом пространстве, так что у большой части пользователей видео может отображаться с искажениями цвета (в основном зелёного).

Чтобы сохранить цвета для большинства плееров, разные H264 видео нужно кодировать в разных пространствах:

Фреймрейт

Если ваш источник — не стримы игр или экшн-видео, то имеет смысл ограничить верхнее значение фреймрейта 25-30 кадрами — чем их меньше, тем больше остаётся данных для описания отдельного кадра. Уменьшать это значение лучше кратно — так, чтобы пропуск кадров был равномерным, иначе от видео может возникнуть ощущение подтормаживания.

Есть ещё такая вещь, как переменная частота кадров. Работать с VFR неудобно по двум причинам: во-первых, это даёт пики битрейта на участках с высокой частотой, которые мгновенно опустошают буфер; во-вторых, VFR усложняет составление плана конвертации, заставляя использовать Q-параметры (о них я писал в первой статье).

GOP size

Группы изображений — блоки, в пределах которых одни изображения могут ссылаться на данные других. Увеличение размера GOP повышает эффективность кодека в обмен на повышение требований к памяти. Большие значения особо эффективны для файлов с однотипными, циклическими движениями (вы же понимаете, о чём я). Также, при больших значениях могут возникнуть проблемы с перемоткой видео, т.к. нужно будет восстановить больший объём данных.
Название параметра, также, как и единицы измерения, могут отличаться от кодека к кодеку — смотрите документацию.

Slices

Для ускорения декодирования (и кодирования) видео можно разделить на части более низкого разрешения. Идея в том, что обработать четыре видео с разрешением, например, 1280×720 проще, чем одно, но 2560×1440. Имеет смысл при разрешениях выше FHD. Чем больше частей, тем ниже эффективность кодека. Также, использование такого разделения упрощает многопоточную обработку.

Анаморфные пиксели

35%!), либо вообще получить что-то сплющенное по горизонтали.

Контроль битрейта

Есть три основных режима работы кодеков, связанных с битрейтом:

Для онлайн проигрывания (да и для стриминга) хорошо подходит constrained VBR, т.к. он даёт лучшее, чем CBR, качество и позволяет уместить поток в интернет-канал.

Выбор maxrate/minrate зависит от канала клиента, разброс больше 20% лучше не делать.

Многопроходное кодирование

Распределение данных по файлу в VBR-режиме предсказать сложно, кодекам приходится угадывать, что получается не всегда. В многопроходном режиме кодек сперва составляет карту требующегося битрейта, а потом кодирует. Таким способом улучшается качество видео в сложных и динамических сценах (пример. Обратите внимание на количество «муарных» элементов и количество переходов между сценами). Так как при первом проходе кодек только анализирует исходный файл, вопреки распространённому мнению, обработка в таком режиме требует времени больше не в два раза, а только на 10-15%.

Для разных типов исходного материала подготовлено несколько пресетов, подстраивающих некоторые базовые параметры кодирования — такие, как уровни деблокинг-филитра, параметры психовизуальной оптимизации. Использование этих пресетов улучшает восприятие видео и хорошо работает, если вы заранее знаете тип источника, или у вас структурированный набор видео (в случае массовой обработки).

Формат пикселей

Формат и битность сильно влияют на то, как сжимаются и разжимаются файлы, в каком виде теряется качество. Основные параметры, которые описывает пиксельный формат:

Чересстрочность

Чересстрочность придумали для удвоения воспринимаемой частоты кадров минимальными затратами — битрейт и разрешение те же, а частота выше. Однако, при быстром движении становятся заметны зубцы — строки предыдущего кадра. Избавиться от эффекта, не отбрасывая кадры и не уменьшая вертикальное разрешение, можно фильтрами, но они уменьшат чёткость. Если видео будет проигрываться в браузере, чересстрочность лучше отфильтровать при кодировании, т.к. реалтайм-фильтрация на клиенте даст не лучшие визуальные результаты.

Собираем всё вместе

Разумеется, в одной статье всё охватить не получилось, но уверен, этого материала будет достаточно для улучшения качества многих видео.

Читайте документацию и экспериментируйте.

В дополнение к примеру из прошлой статьи, я узнал о ещё одной инсталяции моего кода — клик. Примеры в статье постарался брать с этих сайтов, но не смотря на это:
*Я не имею прямого отношения к авторам упоминаемых сайтов и могу не разделять их взгляды и мнение. Решения о том, кому и как предоставляется доступ к коду я комментировать не могу.

Источник

Электрический блогнот

мои заметки на полях

ffmpeg потоковое вещание для чайников

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

В этой статье я попытаюсь рассказать начинающему пользователю Linux о потоковом вещании в сеть с помощью ffmpeg. На первый взгляд тема простая и все понятно. Вот есть видео, вот ffmpeg его транслирует, пользователи подключаются и начинают смотреть киношку. Как телевышка и телевизоры. Но как только я решил, что-то транслировать то сразу уперся в стену непонимания и недостатка информации. Как транслировать? Куда вещать? Как подготовить медиаконтент для трансляции? Многие руководства в сети начинались со слов «тут все элементарно». Часто вся инструкция сводилась к набору действий: «скачай», «установи», «поправь конфиги», «перезапусти» и вот ты уже вещаешь. Но полной картины для понимания процесса не было.

Устанавливаем ffmpeg

Первым делом скачиваем и устанавливаем ffmpeg. Без него, как сами понимаете, ничего не получится. Как это делается я подробнейше описал в статье ffmpeg для начинающих. А лучше взять и собрать его из исходников, тем самым получив самую свежайшую версию именно для вашего дистрибутива Linux.

Поднимаем nginx

Nginx популярнейший web server в сети Internet. Многие любят его за надежность, масштабируемость и за невысокую требовательность к ресурсам. Nginx будет выступать в роли той самой телевышки о которой я говорил вначале. Именно nginx будет «вещать в эфир», а ffmpeg будет «набрасывать» ему контент для вещания.
Nginx будем собирать из исходников. Но перед этим сначала скачаем plugin RTMP для nginx, который необходим для организации вещания. Делаем клон репо с github:

Затем скачиваем исходники самой свежей версии nginx:

Распаковываем и начинаем собирать по классической схеме:
configure&make&make install
При запуске configure необходимо указать, где находится rtmp module (plugin):

Далее запускаем сборку и установку:

После того, как инсталляция nginx в систему будет завершена, правим файл сервиса (должен иметь следующий вид):

В конфиг nginx добавляем секцию модуля rtmp:

И наконец-то запускаем сам nginx:

Nginx должен сервить порт 1935, проверяем это следующей командой:

Замечание

Nginx может быть запущен, как на отдельном хосте в Internet, так и на том же хосте (например localhost), где будет запущен ffmpeg.

Запускаем потоковое вещание

После того, как ffmpeg и nginx установлены и сконфигурированы, можно начинать транслировать в эфир. Для этого запускаем ffmpeg на вашем локальном компьютере со следующими параметрами:

Трансляция видео

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

Трансляция статичной картинки

Для отладки можно запустить трансляцию статичной картинки:

Трансляция изображения с web-камеры

Смотрим трансляцию

Медиа поток, который вещает nginx в эфир можно просматривать с помощью плееров (smplayer, vlc и так далее). Но мы будем использовать ffplay, который входит в пакет FFmpeg.

На следующей картинке показаны все компоненты вместе:
ffmpeg готовящий контент для трансляции;
nginx вещающий в эфир;
клиенты, которые присоединяются к nginx и смотрят «киношку».

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

Кстати, фото в самом начале статье, где девушка говорит в громкоговоритель, очень наглядно иллюстрирует схему ffmpeg+nginx:
ffmpeg — микрофон в который говорит девушка;
nginx — рупор.

Выводы

В этой статье мы рассмотрели процесс вещания мультимедиа-контента в эфир. Используя бесплатную и свободнораспространяемую программу ffmpeg а так же бесплатный веб сервер nginx вы сможете без труда начать транслировать в сеть. Все что было разобрано в статье было реализовано для Linux CentOS и без труда может быть перенесено на Ubuntu или любой другой дистрибутив.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Руководство по использованию ffmpeg в Linux

Работаем с медиафайлами

В этом подробном руководстве показано, как установить ffmpeg в Ubuntu и других дистрибутивах Linux. Он также демонстрирует некоторые полезные команды ffmpeg для практического использования.

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

В этом руководстве мы расскажем, как установить ffmpeg, и как использовать его базовые и продвинутые функции.

Установка ffmpeg в Linux

Установка ffmpeg в Ubuntu

Готово! Чтобы проверить установку выполните:

Вы должны увидеть вывод, описывающий вашу конфигурацию ffmpeg, включая версию.

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

Существует неофициальный PPA, который вы можете использовать для установки последней версии ffmpeg. Просто используйте эти команды:

Установка ffmpeg в дистрибутивах на основе Arch

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

Установка ffmpeg в дистрибутивах на основе Fedora

Чтобы установить ffmpeg в дистрибутивы Linux на основе Fedora, вы можете использовать эту команду:

Установка ffmpeg в CentOS/RHEL

FFmpeg недоступен в репозиториях CentOS 8 по умолчанию. Вы можете собрать инструменты ffmpeg из исходного кода или установить его с помощью утилиты dnf из репозитория Negativo17.

Репозиторий Negativo17 зависит от репозиториев EPEL (Extra Packages for Enterprise Linux) и PowerTools. Для их включения используйте:

После включения этих репозиториев уже можно установить сам ffmpeg:

Установка ffmpeg в Debian

Как использовать ffmpeg: Основы

С установленным ffmpeg перейдем к основным командам, чтобы вы начали использовать этот мощный инструмент.

Основные строительные блоки ffmpeg:

Процесс транскодирования в ffmpeg для может быть описан следующей схемой:

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

0. Команды ffmpeg

Основная форма команды ffmpeg:

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

Вы не должны смешивать входы и выходы: сначала укажите входные файлы, затем укажите выходные файлы.

1. Получить информацию медиа файла

Это работает для аудио и видео файлов:

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен

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

2. Конвертировать медиа файлы

Вот некоторые примеры:

Вы даже можете указать больше выходных файлов:

Это преобразует входные файлы во все указанные форматы.

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

3. Извлечение аудио из видео

4. Отключение звука в видео

5. Извлечение изображений из видео

Допустим, у вас есть серия изображений (например, слайд-шоу), и вы хотите получить все изображения из этого. Просто введите:

6. Изменение разрешения видео или соотношения сторон

7. Добавить изображение обложки в аудио

Это отличный способ превратить аудио в видео, используя одну фотографию (например, обложку альбома) для аудио. Это очень полезная функция, когда вы хотите загружать аудиофайлы на сайты, на которых не разрешено ничего, кроме видео и изображений (YouTube и Facebook являются примерами таких сайтов).

8. Добавить субтитры к видео

С ffmpeg просто добавить субтитры к видео. Введите следующее:

Конечно, вы можете указать любые кодеки, которые вы хотите (и любые другие дополнительные параметры, связанные с аудио и видео).

9. Сжатие медиа-файлов

Сжатие файлов значительно уменьшает размер файла, экономя вам много места. Это может быть важно для передачи файлов. С ffmpeg есть несколько способов уменьшить размер файла.

Примечание: Слишком большое сжатие файлов заметно ухудшит качество получаемого файла.

CRF от 20 до 30 распространен, но можно выставлять и другие значения.

Снижение частоты кадров (фреймрейта) может работать в некоторых случаях (хотя это может очень легко сделать видео медленным):

-r указывает частоту кадров (в данном случае 24).

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

10. Обрезать медиа файлы

Как использовать ffmpeg: Расширенное использование

Теперь мы расскажем о чуть более продвинутых функциях, таких как запись экрана, использование устройств и другие.

1. Обрезка медиа-файлов

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

Посмотрите на этот пример:

Это можно сделать для любого количества частей. Имейте в виду, что это работает со звуком тоже.

2. Склейка медиа-файлов

ffmpeg также может выполнить противоположный процесс: собрать несколько частей вместе.

Теперь отредактируем его в vim

Здесь введите полные пути ко всем файлам, которые вы хотите присоединить (они будут объединены в том порядке, в котором вы их здесь пишете), по одному на строку. Убедитесь, что они имеют одинаковое расширение (например, mp4). Вот пример:

Сохраните файл, который вы только что отредактировали. Этот метод работает для любых аудио или видео файлов.

Теперь введите следующее:

3. Соедините изображения в видео

Таким образом вы можете создать слайдшоу или что-то подобное.

Если вы воспроизводите этот файл, вы можете подумать, что в слайд-шоу были добавлены только некоторые изображения. На самом деле все ваши фотографии были добавлены, но ffmpeg проходит по ним их как можно быстрее. Это означает 1 кадр на фотографию, ffmpeg по умолчанию работает со скоростью около 23 кадров в секунду.

В нашем примере мы устанавливаем частоту кадров равную 1, что означает, что каждый кадр (что также означает каждое изображение) появляется в течение 1 секунды.

4. Запись экрана

Нажмите q или CTRL + C в любое время, чтобы остановить запись.

Вы можете сделать размер выходного файла полноэкранным, введя следующее для размера (вместо 1920?1080 или любого другого установленного разрешения):

5. Запишите свою веб-камеру

6. Запишите ваше аудио

Linux обрабатывает аудио в основном через ALSA и pulseaudio. ffmpeg может записывать оба, но мы рассмотрим pulseaudio, так как дистрибутивы на основе Debian включают его по умолчанию. Синтаксис немного отличается для двух методов.

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

Вместо записи звука вы можете так же легко добавить аудиофайл в качестве звука поверх для записи экрана или веб-камеры:

Записи в ffmpeg мелкими, поэтому очень маленькая запись может не сохраниться. Мы рекомендуем сделать запись немного дольше и затем обрезать ее (если вам нужно всего несколько секунд), просто чтобы убедиться, что файл действительно будет записан на ваш диск.

Основное использование фильтров в ffmpeg

Фильтры являются невероятно мощной функцией ffmpeg. Вам доступно огромное количество фильтров, что делает ffmpeg полностью способным обрабатывать любые потребности редактирования.

Основная структура для использования фильтра:

Общая форма фильтра:

Различные настройки фильтра и их значения разделены двоеточиями. Вы также можете выполнять математические операции в качестве значений для различных настроек.

Более подробное описание различных констант, используемых в выражениях, и различных настроек можно найти в официальной документации фильтра ffmpeg.

1. Масштабирование видео

Это очень простой фильтр. Единственными настройками являются ширина w и высота h :

Как мы уже упоминали, вы можете использовать математические операции для значений:

2. Обрезка видео

Вот пример, который использует математические выражения в качестве значений:

3. Поворот видео

Вы также можете повернуть видео по часовой стрелке на определенную величину в радианах. Чтобы упростить задачу, вы можете указать значение в градусах и преобразовать его в радианы, умножив это значение на PI/180 :

Первая команда повернет видео по часовой стрелке на 90 градусов. Вторая команда перевернет видео вверх ногами (PI рад = 180 градусов).

4. Преобразование аудиоканала

Это может быть полезно, если вы каким-то образом получаете звук только в правом ухе или что-то подобное. Вы можете сделать звук слышимым из обоих ушей (в данном конкретном случае) следующим образом:

Это мапит правый 1 аудиоканал на левый 0 и правый 1 аудиоканалы (левое число представляет собой вход, правое число представляет собой выход).

5. Увеличение громкости звука

Вы можете умножить громкость звука на любое действительное число. Вам нужно только указать множитель:

Первая команда увеличивает громкость в 1,5 раза. Вторая команда делает звук в 1/4 (0,25) раза тише.

6. Настройка скорости воспроизведения

Первая команда удваивает скорость воспроизведения, а вторая команда замедляет видео до 1/2 скорости.

Первая команда замедляет звук на 1/4 от первоначальной скорости. Вторая команда ускоряет звук в 4 раза (2*2)

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

7. Добавить водяной знак

Завершение

В этом руководстве мы рассмотрели установку, базовое использование, расширенное использование и основы фильтров ffmpeg.

Мы надеемся, что это может быть полезно для всех, кто хочет попробовать ffmpeg, для кого-то, кто хочет использовать ffmpeg для нескольких задач, или даже просто для того, кто хочет больше узнать о широких возможностях этой удивительной утилиты.

Источник

FFmpeg: работаем с видео

У многих пользователей Windows и без того полно приложений, чтобы скачивать, устанавливать, активировать ещё одно для работы с видео. Обойдёмся без этих трудностей!

FFmpeg – функциональный видео- и аудио- конвертер. У него нет графического интерфейса, поэтому выполнять операции необходимо из консоли. При этом функционал программы и качество работы её превосходит тот, что показывают привычные конвертеры.

Базовые возможности FFmpeg:

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

Установка FFmpeg.

Разархивируйте содержимое скачанного архива, например в Program Files или Windows или Windows\System32 (или в другую папку, где у вас могут храниться портативные программы).

Чтобы каждый раз не прописывать длинный путь к программе, например: C:\Program Files\ffmpeg\bin\ffmpeg.exe рекомендую добавить её в системную переменную Path, для этого перейдите:

Пуск → Параметры → Система → О программе → Дополнительные параметры системы → Переменные среды

Запустите «Выполнить» нажатием win+R и выполните sysdm.cpl, затем перейдите во вкладку «Дополнительно», а там уже «Переменные среды».

В окне “Переменные среды пользователя” дважды кликните по строке Path, где создайте новую с указанием пути к папке с FFmpeg\bin содержащую ffmpeg.exe.

Что такое ffmpeg и для чего он нужен. Смотреть фото Что такое ffmpeg и для чего он нужен. Смотреть картинку Что такое ffmpeg и для чего он нужен. Картинка про Что такое ffmpeg и для чего он нужен. Фото Что такое ffmpeg и для чего он нужен Переменная среда Path

Теперь для того, чтобы вызвать FFmpeg используйте в консоли (PowerShell или CMD) следующую команду:

Если в консоли появилось сообщение о версии FFmpeg, значит программа работает! Если появляется сообщение: “ffmpeg.exe” не является внутренней или внешней
командой, исполняемой программой или пакетным файлом
, то стоит перезагрузить компьютер.

FFmpeg: конвертация видео.

После установки FFmpeg можно заниматься работой с медиа файлами, например, конвертируем видео в консоли.

Эта команда сконвертирует видео из файла input.avi в output.mp4. По умолчанию для файлов mov и mp4 используется кодек H.264. Размер кадра и fps будут взяты из исходного файла.

В примере выше параметры по умолчанию могут отличаться от желаемых вами настроек, поэтому параметры можно задавать явно.

Для примера рассмотрим следующую команду:

FFmpeg: Полезные команды.

Обрезка видео.

Склейка видео.

Для склейки используется оператор concat. После двоеточия ему передаются входные файлы, разделённые вертикальной чертой. Соединяемые файлы обязательно должны быть одного формата (видео и аудио), их параметры должны совпадать.

Конвертация аудио.

Аудио файлы можно конвертировать независимо от видео.

Изменение разрешения и кадрирование.

Однако использование фильтра scale даст более качественный результат.

Для кадрирования изображения предназначен фильтр crop. Его параметры имеют следующий вид crop=w:h:x:y, где w — ширина прямоугольника, который нужно вырезать из исходного видео, h — высота прямоугольника, x и y — x координаты точки начала обрезки.

Команда выше вырежет из кадра прямоугольник шириной 640 и высотой 480 пикселей, начиная с позиции (200,150).

Соотношение сторон.

Добавление, извлечение и удаление и аудио.

Сохранить аудиодорожку из видеофайла.

Если требуется сохранить дорожку в определённый формат, укажите параметры явно:

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

Так как в примере выше только один выходной файл, 0 перед двоеточием можно опустить.

Изменение громкости.

Для изменения громкости в FFmpeg существует аудиофильтр volume.

Следующая команда в половину уменьшит громкость:

Аналогично, громкость можно увеличить (в примере ниже в полтора раза):

Возможности FFmpeg на этом не ограничиваются, поэтому подробнее можно ознакомиться с командами и фильтрами на официальном сайте.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *