Содержание

Полная инструкция по использованию команд FFMPEG: от основ до продвинутых техник

Содержание

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

Например: OBS Studio, Scrcpy, Cockos Reaper, OpenShot, ShotCut, VLC Media Player, HandBrake, Audacity и множество других программ.

Когда я впервые познакомился с FFmpeg, меня поразили возможности, которые предлагает этот набор библиотек.
Однажды мне понадобилось обрезать 50 фотографий до 700 пикселей по высоте с сохранением соотношения сторон и конвертацией в формат JPG.
Я написал одну команду FFmpeg, которая прошлась по всей папке с этими файлами и менее чем за минуту выполнила свою работу. А теперь представьте, сколько бы времени ушло у меня, если бы я делал это вручную через фоторедактор.

История создания FFmpeg

Проект был создан французским программистом Фабрисом Белларом, который считается пионером в области мультимедийных технологий.
Фабрис начал разрабатывать набор библиотек FFmpeg в 2000 году, а первая версия вышла уже через год.
Интересно, что Беллар в 1997 году открыл формулу для вычисления единичного разряда числа Пи в двоичном представлении.
Этот парень уже тогда был очень одарённым :)

FFmpeg быстро привлёк к себе внимание сообщества, и со временем стал ключевым инструментом в работе плееров, кодеков, видеоредакторов, стриминговых платформ и других.

Преимущеста FFmpeg

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

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

  3. Потоковая передача. Благодаря FFmpeg вы сможете передавать данные в реальном времени по сети. Потоковая передача широко используется для онлайн трансляций, видеозвонков, онлайн игр и так далее.

  4. Свободное и открытое программное обеспечение. FFmpeg распространяется под лицензии LGPL (Lesser General Public License). Вы можете свободно использовать набор библиотек в своих проектах.

  5. Производительность: FFmpeg обеспечивает высокую эффективность и производительность при обработке мультимедийных файлов.

Как конвертировать видео в формат MP4 с помощью FFMPEG?

ffmpeg -i input_video.avi output_video.mp4

Эта команда позволяет вам конвертировать любое видео в самый популярный видеоформат MP4.
В параметре -i вы указываете путь к файлу, а дальше название выходного файла.

Как извлечь аудио из видео и сохранить его как MP3?

ffmpeg -i input_video.mp4 -vn -acodec libmp3lame output_audio.mp3

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

Как создать GIF-анимацию из видео файла?

ffmpeg -i input_video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output_animation.gif

Команда для конвертации видеофайла в GIF-анимацию.
В параметре fps вы можете задать количество кадров в секунду, а в scale масштабирование изображения.
Ширина изображения будет изменена до 320 пикселей, а высота будет автоматически рассчитана с учетом соотношения сторон.

Как обрезать видео с помощью FFMPEG?

ffmpeg -i input_video.mp4 -ss 00:00:05 -to 00:00:15 -c:v copy -c:a copy output_trimmed.mp4

Опция -ss задает начало для обрезки видео. В данном случае, обрезка начнется с пяти секунд видео.
-toзадает конечное время для обрезки видео. В итоге обрезка закончится на 15 секунде видео.
Опции-c:v copy -c:a copy означают, что аудиодорожка будет сохранена без изменений как в оригинале.

Как объединить несколько видео в один файл?

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output_combined.mp4

Данная команда используется для объединения двух видео в один файл output_combined.mp4

Как извлечь каждый кадр из видео как отдельное изображение?

ffmpeg -i input_video.mp4 -vf "fps=1" output_frames/frame_%04d.png

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

Как добавить водяной знак на видео с помощью FFMPEG?

ffmpeg -i input_video.mp4 -i watermark.png -filter_complex "overlay=W-w-10:H-h-10" output_watermarked.mp4

Эта команда может помочь вам защитить свои авторские права на ваш контент, добавить свой логатип либо может использоваться для пометки видео материала, связанного с рекламой или маркетингом.

Как в FFmpeg изменить размер видео?

ffmpeg -i input_video.mp4 -vf "scale=1280:720" output_resized.mp4

Эта команда дает вам возможность легко и быстро изменить размеры видео с помощью FFmpeg и фильтра scale.

Как изменить скорость видео?

ffmpeg -i input_video.mp4 -vf "setpts=0.5*PTS" output_slowed.mp4

Данная команда помогает замедлить видеофайл. Опция setpts=0.5*PTS указывает на то, что каждый кадр будет воспроизводиться в два раза медленнее.
Замедление видео может быть использовано для создания разных эффектов, например, чтобы сделать движения более плавными.

Как извлечь звук из видео и сохранить в WAV формате?

ffmpeg -i input_video.mp4 -vn output_audio.wav

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

Как конвертировать видео в формат WebM?

ffmpeg -i input_video.mp4 -c:v libvpx -c:a libvorbis output_video.webm

Эта команда использует FFmpeg для конвертирования видео файла в формат WebM.
WebM может быть полезен, если вы хотите вставить ваше видео на сайт. Плюсами этого формата является то, что его поддерживают большинство браузеров.
Кроме того, WebM может уменьшить размер файла.

Как изменить битрейт видео с помощью FFmpeg?

ffmpeg -i input_video.mp4 -b:v 2M output_high_bitrate.mp4

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

Как склеить аудио и видео в один файл?

ffmpeg -i input_video.mp4 -i input_audio.mp3 -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 output_combined.mp4

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

Как создать видео с плавным затуханием в начале и конце?

ffmpeg -i input_video.mp4 -vf "fade=in:0:30,fade=out:180:30" output_faded.mp4

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

Как изменить яркость и контраст видео?

ffmpeg -i input_video.mp4 -vf "eq=brightness=0.2:contrast=1.5" output_adjusted.mp4

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

Как конвертировать видео в черно-белый формат?

ffmpeg -i input_video.mp4 -vf "colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3" output_bw.mp4

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

Как сконвертировать видео в формат для Instagram (15 секунд)?

ffmpeg -i input_video.mp4 -ss 00:00:00 -t 00:00:15 -c:v copy -c:a copy output_instagram.mp4

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

Как конвертировать видео в формат для YouTube?

ffmpeg -i input_video.mp4 -c:v libx264 -crf 23 -c:a aac -strict experimental output_youtube.mp4

Эта команда помогает создать видеофайл, оптимизированный для загрузки на YouTube.
После конвертации вы можете загрузить полученный файл на платформу YouTube.

Как создать аудио спектрограмму из файла?

ffmpeg -i input_audio.mp3 -lavfi "showspectrumpic=s=800x400" -frames:v 1 output_spectrogram.png

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

Как добавить эффект размытия к видео?

ffmpeg -i input_video.mp4 -vf "boxblur=10:5" output_blurred.mp4

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

Как добавить эффект резкости к видео?

ffmpeg -i input_video.mp4 -vf "unsharp" output_sharpened.mp4

Фильтр unsharpприменяет эффект резкости для вашего видео. Применение этого эффекта может сделать ваше видео более четким и детализированным.