- 20 команд FFmpeg для начинающих
- 1. Получение информации об аудио/видео файле
- 2. Конвертирование видеофайлов в различные форматы
- 3. Конвертирование видео файлов в аудио
- 4. Изменение разрешения видео
- 5. Сжатие видео
- 6. Сжатие аудио.
- 7. Удаление из медиафайла аудиопотока.
- 8. Удаление видеопотока из медиафайла.
- 9. Извлечение изображений из видео
- 10. Обрезка видео
- 11. Конвертирование части видео
- 12. Установка соотношения сторон видео
- 13. Добавление постера в аудио файлы
- 14. Вырезание части видео файла
- 15. Разрезание видео файла на несколько частей
- 16. Объединение нескольких видео файлов
- 17. Добавление субтитров в видео файл
- 18. Тестирование видео и аудио файлов
- 19. Ускорение/замедление воспроизведения видео
- 20. Получение помощи
- Как установить и использовать FFmpeg в Ubuntu 20.04
- Установка FFmpeg в Ubuntu
- Примеры FFmpeg
- Базовая конверсия
- Указание кодеков
- Выводы
- 19 команд ffmpeg для любых нужд
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Руководство по использованию ffmpeg в Linux
- Установка ffmpeg в Linux
- Установка ffmpeg в Ubuntu
- Установка ffmpeg в дистрибутивах на основе Arch
- Установка ffmpeg в дистрибутивах на основе Fedora
- Установка ffmpeg в CentOS/RHEL
- Установка ffmpeg в Debian
- Как использовать ffmpeg: Основы
- 0. Команды ffmpeg
- 1. Получить информацию медиа файла
- 2. Конвертировать медиа файлы
- 3. Извлечение аудио из видео
- 4. Отключение звука в видео
- 5. Извлечение изображений из видео
- 6. Изменение разрешения видео или соотношения сторон
- 7. Добавить изображение обложки в аудио
- 8. Добавить субтитры к видео
- 9. Сжатие медиа-файлов
- 10. Обрезать медиа файлы
- Как использовать ffmpeg: Расширенное использование
- 1. Обрезка медиа-файлов
- 2. Склейка медиа-файлов
- 3. Соедините изображения в видео
- 4. Запись экрана
- 5. Запишите свою веб-камеру
- 6. Запишите ваше аудио
- Основное использование фильтров в ffmpeg
- 1. Масштабирование видео
- 2. Обрезка видео
- 3. Поворот видео
- 4. Преобразование аудиоканала
- 5. Увеличение громкости звука
- 6. Настройка скорости воспроизведения
- 7. Добавить водяной знак
- Завершение
20 команд FFmpeg для начинающих
Оригинал: 20 FFmpeg Commands For Beginners
Автор: SK
Дата публикации: 10 мая 2017 года
Перевод: А. Кривошей
Дата перевода: октябрь 2017 г.
В этом руководстве мы объясним, как использовать мультимедийный фреймвок FFmpeg для преобразования различных аудио и видео файлов.
Стандартный синтаксис команды FFmpeg:
Далее мы рассмотрим некоторые важные и полезные команды FFmpeg.
1. Получение информации об аудио/видео файле
Для этого используется следующая команда:
Как можно видеть из этого примера, FFmpeg отображает информацию о мультимедийном файле вместе с данными FFmpeg, такими как версия, сведения о конфигурации, уведомления об авторских правах, варианты сборки, библиотеки и т. д.
Если вы не хотите видеть баннер FFmpeg и другие данные, а только информацию о файлах мультимедиа, используйте флаг -hide_banner, как показано ниже.
2. Конвертирование видеофайлов в различные форматы
FFmpeg — это мощный аудио и видео конвертер, позволяющий преобразовывать медиафайлы в различные форматы. Например, чтобы преобразовать файл mp4 в avi, выполните команду:
Точно так же вы можете конвертировать медиафайлы в любой формат по вашему выбору.
Например, чтобы преобразовать видео в формате FLV из YouTube в формат mpeg, выполните:
Проверить список поддерживаемых FFmpeg форматов можно с помощью следующей команды:
3. Конвертирование видео файлов в аудио
Чтобы преобразовать видео файл в аудио, просто укажите формат вывода, например .mp3 или .ogg, либо любой другой аудиоформат.
Приведенная ниже команда преобразует видео файл file.mp4 в file.mp3.
Также вы можете использовать различные опции конвертирования, как показано ниже:
-vn – говорит о том, что мы отключили запись видео в конечный файл.
-ar – задает частоту дискретизации звука конечного файла. Наиболее широко используются значения 22050, 44100, 48000 Гц.
-ac – задает количество аудиоканалов.
-ab – задает битрейт.
-f – формат конечного файла. В нашем случае это mp3.
4. Изменение разрешения видео
Предположим, вы хотите задать для видео файла определенное разрешение, это делается с помощью следующей команды:
Приведенная выше команда задает разрешение видео 1280×720.
Аналогично, чтобы преобразовать этот файл к разрешению 640×480, выполните:
5. Сжатие видео
Всегда хочется уменьшить размер медиафайлов, чтобы освободить место на жестком диске.
Следующая команда сжимает видео и уменьшает размер файла.
Помните, что при сжатии ухудшается качество. Для его сохранения можно снизить значение crf до 23 или еще ниже.
6. Сжатие аудио.
Вы также можете сжимать аудио файлы с помощью флага -ab, чтобы освободить место на диске.
Предположим, что ваш файл имеет битрейт 320 кб/с. Вы можете сжать его, уменьшив битрейт.
Ниже список доступных битрейтов:
96kbps
112kbps
128kbps
160kbps
192kbps
256kbps
320kbps
7. Удаление из медиафайла аудиопотока.
Если вам не нужен звук в видео файле, вы можете удалить аудиопоток с помощью флага -an.
Приведенная выше команда отменяет все связанные с аудио флаги, потому что мы удаляем звук из input.mp4.
8. Удаление видеопотока из медиафайла.
Аналогично, если вам не нужен видеопоток, вы можете легко удалить его из медиафайла с помощью флага «vn». Другими словами, эта команда преобразует заданный медиафайл в звуковой файл.
Следующая команда удалит видео из медиафайла.
Вы также можете задать битрейт конечного файла с помощью флага «ab», как показано ниже.
9. Извлечение изображений из видео
Еще одна полезная функция FFmpeg — извлечение изображений из видео файлов. Например, для создания фотоальбома.
Извлечение изображений из видео файла производится с помощью следующей команды:
-r – задает фреймрейт, то есть количество извлекаемых фреймов в 1 секунде видео. Значение по умолчанию — 25.
-f – формат извлекаемого изображения.
image-%2d.png – задает названия для наших файлов изображений. В этом примере это имена image-01.png, image-02.png, image-03.png и так далее. Если вы зададите %3d, то получите имена image-001.png, image-002.png и так далее.
10. Обрезка видео
В целом это похоже на изменение разрешения видео. Скажем, если вам нужно видео с разрешением 300×300, вы можете получить его с помощью следующей команды:
Необходимо помнить, что обрезка видео отрицательно влияет на его качество.
11. Конвертирование части видео
Иногда нужно конвертировать в другой формат только часть видео файла. Например, приведенная ниже команда конвертирует первые 50 секунд файла video.mp4 в файл video.avi.
Здесь мы задаем время в секундах. Также можно задавать его в формате hh.mm.ss.
12. Установка соотношения сторон видео
Вы можете задать соотношение сторон видео файла с помощью флага -aspect, как показано ниже.
Обычно используются следующие соотношения:
13. Добавление постера в аудио файлы
Вы можете добавлять изображения постеров в ваши файлы, чтобы они показывались во время воспроизведения файла. Это может быть полезно при размещении их на видеохостингах или веб-сайтах.
14. Вырезание части видео файла
Чтобы вырезать часть видео файла и сохранить ее в отдельный клип, используется команда вида:
–s – указывает время, с которого начинается вырезание видео, в нашем примере с 50-й секунды.
-t – указывает продолжительность нашего клипа.
15. Разрезание видео файла на несколько частей
Некоторые сайты позволяют загружать видео файлы не больше определенного размера. В таком случае вы можете разрезать большой файл на части меньшего размера.
Здесь -t 00:00:30 показывает, что первая часть берется от начала видео до 30-й секунды. -ss 00:00:30 задает начальную точку для второй части. То есть вторая часть берется с 30-й секунды до конца оригинального видео.
16. Объединение нескольких видео файлов
FFmpeg также позволяет объединять несколько видео файлов в один.
Создайте файл join.txt, в котором записаны пути ко всем видео файлам, которые вы хотите объединить. Все части должны иметь один формат (один кодек).
/home/sk/myvideos/part1.mp4
/home/sk/myvideos/part2.mp4
/home/sk/myvideos/part3.mp4
/home/sk/myvideos/part4.mp4
Теперь вы можете объединить их с помощью команды:
17. Добавление субтитров в видео файл
С помощью FFmpeg мы также можем добавлять субтитры в видео файл. Это делается с помощью следующей команды:
18. Тестирование видео и аудио файлов
Если вам хочется проверить, правильно ли было произведено конвертирование файла, вы можете воспроизвести его в терминале с помощью команды:
Аналогично вы можете протестировать аудио файл, как показано ниже.
19. Ускорение/замедление воспроизведения видео
FFmpeg позволяет вам регулировать скорость воспроизведения. Для увеличения скорости воспроизведения используется команда:
Для замедления скорости воспроизведения:
20. Получение помощи
В этом руководстве мы показали только самые основные и часто используемые команды FFmpeg. На самом деле он имеет огромное количество различных опций для реализации разных продвинутых возможностей. Найти их описание можно на man-странице:
Источник
Как установить и использовать FFmpeg в Ubuntu 20.04
FFmpeg — это бесплатный набор инструментов с открытым исходным кодом для работы с мультимедийными файлами. Он содержит набор общих аудио и видео библиотек, таких как libavcodec, libavformat и libavutil. С FFmpeg вы можете конвертировать между различными видео и аудио форматами, устанавливать частоту дискретизации, захватывать потоковое аудио / видео и изменять размер видео.
В этой статье описывается, как установить FFmpeg в Ubuntu 20.04.
Установка FFmpeg в Ubuntu
Официальные репозитории Ubuntu содержат пакеты FFmpeg, которые можно установить с помощью диспетчера пакетов apt . Это самый простой способ установить FFmpeg в Ubuntu. Новая основная версия выпускается каждые шесть месяцев, и версия, включенная в репозитории, обычно отстает от последней версии FFmpeg.
На момент написания этой статьи текущая версия FFmpeg, доступная в репозиториях Ubuntu 20.04, — 4.2.x Чтобы установить его, введите следующую команду от имени пользователя root или пользователя с привилегиями sudo :
Чтобы проверить установку, используйте команду ffmpeg -version , которая выводит версию FFmpeg:
Результат должен выглядеть примерно так:
Чтобы распечатать все доступные кодировщики и декодеры FFmpeg, введите:
Вот и все. FFmpeg теперь установлен в вашей системе, и вы можете начать его использовать.
Когда выходит новая версия, вы можете обновить пакет FFmpeg через командную строку или инструмент обновления программного обеспечения на рабочем столе.
Примеры FFmpeg
В этом разделе мы рассмотрим несколько основных примеров использования утилиты ffmpeg .
Базовая конверсия
При преобразовании аудио- и видеофайлов с помощью ffmpeg вам не нужно указывать форматы ввода и вывода. Формат входного файла определяется автоматически, а выходной формат определяется по расширению файла.
Конвертируйте видеофайл из mp4 в webm:
Конвертируйте аудиофайл из mp3 в ogg:
Указание кодеков
При преобразовании файлов используйте параметр -c чтобы указать кодеки. Это может быть имя любого поддерживаемого декодера / кодировщика или copy специального значения, которая просто копирует входной поток.
Преобразование видео файл из mp4 в WebM , используя libvpx видеокодек и libvorbis аудиокодек:
Конвертируйте аудиофайлы из mp3 в ogg, закодированные с libopus кодека libopus .
Выводы
Мы показали вам, как установить FFmpeg в Ubuntu 20.04. Теперь вы можете посетить официальную страницу документации FFmpeg и узнать, как использовать FFmpeg для преобразования ваших видео и аудио файлов.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Источник
19 команд ffmpeg для любых нужд
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.
ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.
1. Получение информации о видеофайле
2. Превратить набор картинок в видео
Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg
(примечание переводчика: мне больше нравится такой формат:
здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
3. Порезать видео на картинки
Эта команда создаст файлы image1.jpg, image2.jpg и т.д., поддерживаются так же форматы PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Руководство по использованию ffmpeg в Linux
Работаем с медиафайлами
19 минут чтения
В этом подробном руководстве показано, как установить ffmpeg в Ubuntu и других дистрибутивах Linux. Он также демонстрирует некоторые полезные команды ffmpeg для практического использования.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
ffmpeg — это утилита командной строки (CLI) для обработки мультимедийных файлов. Это фреймворк с множеством функций и, благодаря лицензии с открытым исходным кодом, является основой для многих распространенных приложений, таких как VLC, YouTube, iTunes и многих других. Ряд видеоредакторов для Linux используют ffmpeg под GUI.
В этом руководстве мы расскажем, как установить ffmpeg, и как использовать его базовые и продвинутые функции.
Установка ffmpeg в Linux
Установка ffmpeg — это простой процесс. Это популярное приложение, которое доступно в большинстве дистрибутивов Linux через менеджер пакетов.
Установка ffmpeg в Ubuntu
В Ubuntu ffmpeg доступен в репозитории Universe , поэтому убедитесь, что он включен. а затем обновите список пакетов и установите ffmpeg. Вы можете сделать все это, используя следующие команды в терминале:
Готово! Чтобы проверить установку выполните:
Вы должны увидеть вывод, описывающий вашу конфигурацию ffmpeg, включая версию.
Как вы можете видеть на скриншоте выше, установлена версия 3.4.4. Однако последняя версия ffmpeg на момент написания этой статьи — 4.2. Чтобы установить любую версию 4.x, вы должны установить ffmpeg через PPA (персональный архив пакетов).
Существует неофициальный 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
Официальные репозитории Debian содержат пакеты FFmpeg, которые можно установить с помощью менеджера пакетов apt .
Как использовать ffmpeg: Основы
С установленным ffmpeg перейдем к основным командам, чтобы вы начали использовать этот мощный инструмент.
Основные строительные блоки ffmpeg:
- ffmpeg — инструмент командной строки для конвертации мультимедийных файлов между форматами
- ffplay — простой медиаплеер на основе SDL и библиотек FFmpeg
- ffprobe — простой мультимедийный анализатор потоков
ffmpeg также содержит библиотеки для разработчиков — libavutil , libavcodec , libavformat , libavdevice , libavfilter , libswscale и libswresample .
Процесс транскодирования в ffmpeg для может быть описан следующей схемой:
0. Команды ffmpeg
Основная форма команды ffmpeg:
Вы должны иметь в виду, что все параметры файла применяются только к файлу, который следует за ними (и вы должны будете записать их снова для следующего файла).
Любой файл, которому не предшествует -i , считается выходным файлом. ffmpeg использует столько входов и выходов, сколько вы предоставляете. Вы также можете использовать одно и то же имя как для входного, так и для выходного файла, но вам придется добавить тег -y перед именем выходного файла.
Вы не должны смешивать входы и выходы: сначала укажите входные файлы, затем укажите выходные файлы.
1. Получить информацию медиа файла
Первое использование ffmpeg — отображение информации о медиафайле. Это можно сделать, не вводя никаких выходных файлов. Просто введите:
Это работает для аудио и видео файлов:
Хотя эта команда полезна, она отображает слишком много информации, которая не относится к вашему файлу (информация о ffmpeg). Чтобы пропустить это, добавьте флаг -hide_banner :
Как вы можете видеть, команда теперь выводит только информацию, касающуюся указанного вами медиа-файла (кодировщик, потоки и так далее).
2. Конвертировать медиа файлы
Еще один очень полезный способ использования ffmpeg — это беспроблемное преобразование между различными форматами мультимедиа. Вам нужно только указать входные и выходные файлы, так как ffmpeg получит требуемый формат из расширений файлов. Это работает для преобразования видео в видео и аудио в аудио.
Вот некоторые примеры:
Вы даже можете указать больше выходных файлов:
Это преобразует входные файлы во все указанные форматы.
Чтобы увидеть список всех поддерживаемых форматов, используйте:
Опять же, вы можете добавить -hide_banner , чтобы опустить информацию о приложении.
Вы можете указать параметр -qscale 0 перед выходным файлом, чтобы сохранить качество видеофайла:
Кроме того, вы можете указать кодеки, которые вы хотите использовать, добавив -c:a (для аудио) и -c:v (для видео) с последующим названием кодеков, или скопировать, если хотите использовать те же кодеки, что и оригинальный файл:
3. Извлечение аудио из видео
Чтобы извлечь аудио из видеофайла, вы делаете простое преобразование и добавляете флаг -vn :
Обратите внимание, что эта команда будет использовать битрейт (скорость передачи) исходного файла. Вы можете установить его вручную, и для этого использовать -ab (audio bit rate):
Некоторые распространенные битрейты: 96 КБ, 128 КБ, 192 КБ, 256 КБ, 320 КБ (максимальный битрейт, поддерживаемый mp3). Другими общими параметрами являются -ar (частота звука: 22050, 441000, 48000), -ac (количество аудиоканалов), -f (формат аудио, хотя обычно определяется автоматически). -ab также можно заменить на — b:a . Например:
4. Отключение звука в видео
Как и в последнем примере, для этого мы добавим простой тег: -an (вместо -vn ).
Примечание: Тег -an сделает все параметры звука для этого выходного файла бесполезными, поскольку в результате операции не будет звука.
5. Извлечение изображений из видео
Допустим, у вас есть серия изображений (например, слайд-шоу), и вы хотите получить все изображения из этого. Просто введите:
-r указывает частоту кадров (сколько кадров извлекается в изображения за одну секунду, по умолчанию: 25), -f указывает формат вывода.
Последний параметр (выходной файл) имеет несколько интересное название: в конце он использует %3d . Это просто нумерует ваши изображения с 3 цифрами (000, 001 и так далее). Вы также можете использовать %2d (двухзначный формат) или даже %4d (четырехзначный формат), если хотите.
6. Изменение разрешения видео или соотношения сторон
Еще одно простое задание для ffmpeg. Все, что вам нужно сделать, чтобы изменить размер видео, это указать новое разрешение после флага -s :
Кроме того, вы можете указать -c:a, чтобы убедиться в правильности аудиокодеков выходного файла:
Вы также можете изменить соотношение сторон, используя -aspect :
7. Добавить изображение обложки в аудио
Это отличный способ превратить аудио в видео, используя одну фотографию (например, обложку альбома) для аудио. Это очень полезная функция, когда вы хотите загружать аудиофайлы на сайты, на которых не разрешено ничего, кроме видео и изображений (YouTube и Facebook являются примерами таких сайтов).
Просто измените кодеки ( -c:v указывает видеокодеки, -c:a указывает аудиокодеки) и имена ваших файлов. Также вам не нужно использовать -strict experimental , если вы используете более новую версию (4.x).
8. Добавить субтитры к видео
С ffmpeg просто добавить субтитры к видео. Введите следующее:
Конечно, вы можете указать любые кодеки, которые вы хотите (и любые другие дополнительные параметры, связанные с аудио и видео).
9. Сжатие медиа-файлов
Сжатие файлов значительно уменьшает размер файла, экономя вам много места. Это может быть важно для передачи файлов. С ffmpeg есть несколько способов уменьшить размер файла.
Примечание: Слишком большое сжатие файлов заметно ухудшит качество получаемого файла.
Прежде всего, для аудиофайлов просто уменьшите битрейт (используя -b:a или -ab ):
Опять же, некоторые значения битрейта: 96k , 112k , 128k , 160k , 192k , 256k , 320k . Чем выше битрейт, тем выше размер файла и качество.
Для видео файлов у вас есть больше вариантов. Один из способов — уменьшить битрейт видео (используя -b:v ):
Вы можете установить флаг -crf (Constant Rate Factor — коэффициент постоянной скорости). Чем ниже CRF, тем выше скорость передачи данных. Также помогает использование libx264 в качестве видеокодека. Вот очень эффективное уменьшение размера с очень небольшим снижением качества:
CRF от 20 до 30 распространен, но можно выставлять и другие значения.
Снижение частоты кадров (фреймрейта) может работать в некоторых случаях (хотя это может очень легко сделать видео медленным):
-r указывает частоту кадров (в данном случае 24).
Вы также можете попробовать уменьшить разрешение видео (смотри выше как это сделать). Дополнительным советом является сжатие звука, делая его стереофоническим и снижая скорость передачи данных. Например:
Примечание: -strict -2 и -ac 2 позаботятся о стерео части
10. Обрезать медиа файлы
Чтобы обрезать файлы с самого начала, вы должны указать продолжительность, используя -t :
Как видите, это работает как для видео, так и для аудио файлов. Обе команды выше делают одно и то же: сохраняют первые 5 секунд входного файла в выходной файл. Можно использовать различные способы ввода длительности, как видно в примере — одно число (количество секунд) и ЧЧ:ММ:СС (часы, минуты, секунды).
Вы можете пойти еще дальше, указав время начала с -ss и даже время окончания с -to :
Вы можете тут видеть время начала -ss (ЧЧ:ММ:СС), длительность -t в секундах, время окончания -to (ЧЧ:ММ:СС) и время начала -s (начать после указанного времени в секундах).
Как использовать ffmpeg: Расширенное использование
Теперь мы расскажем о чуть более продвинутых функциях, таких как запись экрана, использование устройств и другие.
1. Обрезка медиа-файлов
Чтобы разделить файл на несколько частей, нужно указать несколько разделений (указать время начала, время окончания или продолжительность перед каждым выходным файлом).
Посмотрите на этот пример:
Синтаксис довольно прост. Мы указали -t 00:00:30 как продолжительность для первой части (первая часть будет состоять из первых 30 секунд исходного видео). Далее мы указали, что мы хотели бы, чтобы остальные были частью второго видео (начиная с конца последней части, 00:00:30).
Это можно сделать для любого количества частей. Имейте в виду, что это работает со звуком тоже.
2. Склейка медиа-файлов
ffmpeg также может выполнить противоположный процесс: собрать несколько частей вместе.
Теперь отредактируем его в vim
Здесь введите полные пути ко всем файлам, которые вы хотите присоединить (они будут объединены в том порядке, в котором вы их здесь пишете), по одному на строку. Убедитесь, что они имеют одинаковое расширение (например, mp4). Вот пример:
Сохраните файл, который вы только что отредактировали. Этот метод работает для любых аудио или видео файлов.
Теперь введите следующее:
Примечание: наш выходной файл — output.mp4, потому что все наши входные файлы имеют расширение mp4.
Это должно объединить все файлы, которые мы записали в join.txt , в один выходной файл.
3. Соедините изображения в видео
Таким образом вы можете создать слайдшоу или что-то подобное.
Первое, что мы рекомендуем сделать, это убедиться, что фотографии, которые вы хотите собрать, находятся в одном каталоге. Мы поместим наши в папку my_photos . Для картинок рекомендуются расширения .png и .jpg . Какой бы вариант вы ни выбрали, убедитесь, что все изображения имеют одинаковое расширение.
Формат -f нашего преобразования должен быть image2pipe . Для ввода необходимо указать дефис — . image2pipe позволяет вам пайпировать (pipe), используя | , результаты команды, такой как cat , в ffmpeg вместо того, чтобы вводить все имена одно за другим. Чтобы это работало, мы также должны упомянуть, что мы хотим, чтобы видеокодеки были скопированы -c:v copy (чтобы правильно использовать изображения):
Если вы воспроизводите этот файл, вы можете подумать, что в слайд-шоу были добавлены только некоторые изображения. На самом деле все ваши фотографии были добавлены, но ffmpeg проходит по ним их как можно быстрее. Это означает 1 кадр на фотографию, ffmpeg по умолчанию работает со скоростью около 23 кадров в секунду.
Чтобы изменить это, вам нужно указать желаемую частоту кадров -framerate :
В нашем примере мы устанавливаем частоту кадров равную 1, что означает, что каждый кадр (что также означает каждое изображение) появляется в течение 1 секунды.
Чтобы добавить аудио, например, фоновую песню, нам нужно указать аудиофайл в качестве входного файла -i audo_file и скопировать аудиокодеки -c: copy . Для кодеков вы можете копировать аудио и видео кодеки одновременно с -c copy . Убедитесь, что вы установили кодеки прямо перед указанием выходного файла. Вы также можете установить частоту кадров, чтобы все ваши изображения синхронизировались с продолжительностью звука, который вы хотите использовать. Чтобы сделать это, разделите количество изображений на продолжительность аудио (в секундах). Для нашего примера у нас есть аудиофайл длиной 22 секунды и 9 изображений. 9 разделить на 22 составляет приблизительно 0,40, поэтому мы будем использовать это для нашей частоты кадров:
4. Запись экрана
Тут нужно использовать формат -f x11grab . Это запишет ваш XSERVER. В качестве входных данных вы должны будете указать номер вашего экрана (основной экран обычно должен быть 0:0 ). Но это будет захватывать только верхнюю левую часть экрана. Вы должны добавить размер экрана (или экранов). Наш размер — 1920?1080. Размер экрана должен быть указан перед вводом:
Нажмите q или CTRL + C в любое время, чтобы остановить запись.
Вы можете сделать размер выходного файла полноэкранным, введя следующее для размера (вместо 1920?1080 или любого другого установленного разрешения):
5. Запишите свою веб-камеру
Запись ввода с вашей веб-камеры (или другого устройства, такого как USB-камера) еще проще. В Linux устройства хранятся в /dev как /dev/video0 , /dev/video1 и так далее:
И также нажмите q или CTRL + C , чтобы остановить запись.
6. Запишите ваше аудио
Linux обрабатывает аудио в основном через ALSA и pulseaudio. ffmpeg может записывать оба, но мы рассмотрим pulseaudio, так как дистрибутивы на основе Debian включают его по умолчанию. Синтаксис немного отличается для двух методов.
Для pulseaudio, вы должны использовать force -f alsa и указать устройство ввода по умолчанию как input -i default :
В настройках звука у дистрибутива убедитесь, что записывающим устройством по умолчанию является то устройство, которое вы хотите записать.
Конечно, для любого типа записи вы также можете указать кодеки. Вы можете выбрать конкретную частоту кадров -r . Вы также можете совмещать запись звука с записью с веб-камеры/экрана.
Вместо записи звука вы можете так же легко добавить аудиофайл в качестве звука поверх для записи экрана или веб-камеры:
Записи в ffmpeg мелкими, поэтому очень маленькая запись может не сохраниться. Мы рекомендуем сделать запись немного дольше и затем обрезать ее (если вам нужно всего несколько секунд), просто чтобы убедиться, что файл действительно будет записан на ваш диск.
Основное использование фильтров в ffmpeg
Фильтры являются невероятно мощной функцией ffmpeg. Вам доступно огромное количество фильтров, что делает ffmpeg полностью способным обрабатывать любые потребности редактирования.
Основная структура для использования фильтра:
Как вы можете видеть, мы указываем видео фильтры -vf , (сокращенно от -filter:v ) и аудио фильтры -af , (сокращенно от -filter:a ). Фактические фильтры пишутся в двойных кавычках » и могут быть объединены в цепочку через запятую , . Вы можете указать столько фильтров, сколько хотите.
Общая форма фильтра:
Различные настройки фильтра и их значения разделены двоеточиями. Вы также можете выполнять математические операции в качестве значений для различных настроек.
Более подробное описание различных констант, используемых в выражениях, и различных настроек можно найти в официальной документации фильтра ffmpeg.
1. Масштабирование видео
Это очень простой фильтр. Единственными настройками являются ширина w и высота h :
Как мы уже упоминали, вы можете использовать математические операции для значений:
Эта команда устанавливает размер вывода равным половине (1/2) от размера ввода in_w , in_h .
2. Обрезка видео
Что касается фильтра масштабирования, настройки — это ширина и высота результирующего файла. При желании вы можете указать координаты для верхнего левого угла разреза (по умолчанию: центр входного видео):
Как уже отмечалось, вторая обрезка будет вырезать в центре входного файла (так как мы не указали координаты x и y для верхнего левого угла). Первая команда будет вырезать из левого верхнего угла x=0:y=0 .
Вот пример, который использует математические выражения в качестве значений:
Эта команда устанавливает размер вывода на 3/4 от размера ввода ( in_w , in_h ).
3. Поворот видео
Вы также можете повернуть видео по часовой стрелке на определенную величину в радианах. Чтобы упростить задачу, вы можете указать значение в градусах и преобразовать его в радианы, умножив это значение на PI/180 :
Первая команда повернет видео по часовой стрелке на 90 градусов. Вторая команда перевернет видео вверх ногами (PI рад = 180 градусов).
4. Преобразование аудиоканала
Это может быть полезно, если вы каким-то образом получаете звук только в правом ухе или что-то подобное. Вы можете сделать звук слышимым из обоих ушей (в данном конкретном случае) следующим образом:
Это мапит правый 1 аудиоканал на левый 0 и правый 1 аудиоканалы (левое число представляет собой вход, правое число представляет собой выход).
5. Увеличение громкости звука
Вы можете умножить громкость звука на любое действительное число. Вам нужно только указать множитель:
Первая команда увеличивает громкость в 1,5 раза. Вторая команда делает звук в 1/4 (0,25) раза тише.
6. Настройка скорости воспроизведения
Фильтр для видео — setpts (PTS = presentation time stamp). Поскольку мы на самом деле модифицируем PTS, больший коэффициент означает более медленный результат, и наоборот:
Первая команда удваивает скорость воспроизведения, а вторая команда замедляет видео до 1/2 скорости.
Фильтр для аудио — atempo . Есть одно маленькое предостережение: оно может принимать значения только от 0,5 (половина скорости) до 2 (удвоение скорости). Чтобы обойти это, вы можете использовать их один за другим:
Первая команда замедляет звук на 1/4 от первоначальной скорости. Вторая команда ускоряет звук в 4 раза (2*2)
Чтобы изменить скорость воспроизведения видео и аудио с помощью одной и той же команды, вам нужно использовать filtergraphs
7. Добавить водяной знак
Для размещения водяного знака используем фильтр overlay , вместе с координатами его расположения на видео.
Например, вотермарк размером 100*100 мы хотим расположить в центре видео с размерами 1280?720. Получим по горизонтали x = (1280 — 100) / 2 = 590 и по вертикали y = (720 — 100) / 2 = 310 . Поэтому значение будет overlay=590:310 . Но удобнее использовать формулу overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 , где main_w и main_h — высота и ширина видео, а overlay_w и overlay_h — водяного знака. Получим команду:
Завершение
В этом руководстве мы рассмотрели установку, базовое использование, расширенное использование и основы фильтров ffmpeg.
Мы надеемся, что это может быть полезно для всех, кто хочет попробовать ffmpeg, для кого-то, кто хочет использовать ffmpeg для нескольких задач, или даже просто для того, кто хочет больше узнать о широких возможностях этой удивительной утилиты.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник