FFmpeg: быстрые рецепты конвертации и компрессии

Получить Reels-Boss бесплатно

FFmpeg: быстрые рецепты конвертации и компрессии

Table of contents

Что такое FFmpeg и когда он нужен

FFmpeg — это универсальный набор инструментов командной строки для обработки медиа: конвертации, сжатия, монтажа, фильтрации, записи и стриминга. Если вам нужно быстро «ffmpeg сделать видео» под веб, соцсети или архив, — правильная команда решит задачу за минуты. В этой шпаргалке собраны практичные рецепты для повседневных задач: ffmpeg конвертация форматов, ffmpeg сжатие с правильным качеством, обрезка и фильтры, а также h264 h265 настройки.

Совет: если вы предпочитаете работать в браузере без консоли и кодеков, загляните в наши онлайн‑инструменты: конвертация форматов, сжатие видео, обрезка, кадрирование, поворот/отзеркаливание, изменение размера, экспорт 4K/60fps.

Быстрый старт: ffmpeg конвертация

  1. Перекодировать любое видео в MP4 (H.264 + AAC) для совместимости:
ffmpeg -i input.mkv -c:v libx264 -preset slow -crf 22 -pix_fmt yuv420p -c:a aac -b:a 160k -movflags +faststart output.mp4
  1. Поменять только контейнер MKV → MP4 без перекодирования (когда кодеки уже совместимы):
ffmpeg -i input.mkv -c copy -movflags +faststart output.mp4
  1. Конвертация в GIF для превью или мемов:
ffmpeg -i input.mp4 -vf "fps=12,scale=720:-1:flags=lanczos" -loop 0 output.gif

Хотите GIF онлайн? Попробуйте видео → GIF или GIF → видео.

Сжатие: ffmpeg сжатие без заметной потери качества

Базовый подход — CRF (константное качество). Вы выбираете качество, FFmpeg подбирает битрейт.

# H.264 (универсально)
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k output_h264.mp4

# H.265/HEVC (лучше сжимает, тяжелее кодирует)
ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 27 -c:a aac -b:a 128k output_h265.mp4

Рекомендации CRF:

Таблица ориентиров по скорости/качеству:

Preset x264/x265 Скорость кодирования Размер/качество
veryfast очень быстрая крупнее, чуть хуже
fast быстрая чуть меньше
medium (по умолчанию) сбалансированная баланс
slow/slow+ медленная меньше, лучше

Нужен размер строго N МБ? Используйте 2-pass (целевой битрейт):

# Цель ~2 Мбит/с видео + 128 кбит/с аудио
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 2000k -pass 1 -an -f mp4 /dev/null && \
ffmpeg -i input.mp4 -c:v libx264 -b:v 2000k -pass 2 -c:a aac -b:a 128k output_2pass.mp4

Онлайн-альтернатива без команд: сжать видео.

H.264 и H.265: практические настройки

Если вам нужны контролируемые «h264 h265 настройки», стартуйте с профилей и уровней:

# H.264 для веб/мобайл
ffmpeg -i in.mp4 -c:v libx264 -profile:v high -level 4.1 -pix_fmt yuv420p -preset slow -crf 22 -c:a aac -b:a 160k -movflags +faststart out_h264.mp4

# H.265 с тонкой настройкой
ffmpeg -i in.mp4 -c:v libx265 -preset slow -crf 27 -x265-params "profile=main:aq-mode=2:strong-intra-smoothing=1" -c:a aac -b:a 128k out_h265.mp4

Ключевые моменты:

Если нужен вертикальный формат, заранее корректируйте кадр: вертикальное/горизонтальное и изменение размера.

Обрезка и фильтры: трим, кроп, поворот, скорость

Быстрая точная обрезка по времени:

# Точная обрезка с перекодированием
ffmpeg -ss 00:00:03 -to 00:00:12 -i input.mp4 -c:v libx264 -crf 22 -c:a aac cut.mp4

# Быстрая (без перекодирования, возможна неточность по ключевым кадрам)
ffmpeg -ss 00:00:03 -to 00:00:12 -i input.mp4 -c copy cut_fast.mp4

Кадрирование, поворот, зеркалирование:

# Вырезать 1080x1080 из центра
ffmpeg -i in.mp4 -vf "crop=1080:1080:(in_w-1080)/2:(in_h-1080)/2" -c:a copy square.mp4

# Повернуть на 90° по часовой стрелке
ffmpeg -i in.mp4 -vf "transpose=1" -c:a copy rotate90.mp4

# Зеркально отразить по горизонтали
ffmpeg -i in.mp4 -vf "hflip" -c:a copy mirror.mp4

Скорость и реверс:

# Ускорить видео в 2 раза (без звука)
ffmpeg -i in.mp4 -vf "setpts=0.5*PTS" -an fast2x.mp4

# Реверс видео
ffmpeg -i in.mp4 -vf reverse -af areverse reversed.mp4

Смотрите также онлайн-инструменты: обрезка, кадрирование, поворот/flip, скорость, реверс, зум/панорама, луп/бумеранг, стабилизация.

Звук: извлечь, нормализовать, убрать тишину

Извлечь аудио в MP3:

ffmpeg -i input.mp4 -vn -c:a libmp3lame -b:a 192k output.mp3

Нормализация громкости (EBU R128):

ffmpeg -i in.mp4 -filter:a loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4

Удаление тишины в начале/конце:

ffmpeg -i in.mp3 -af "silenceremove=start_periods=1:start_threshold=-45dB:start_silence=1, \
                    silenceremove=stop_periods=1:stop_threshold=-45dB:stop_silence=1" out.mp3

Подмешать музыку под голос (ducking через sidechain):

ffmpeg -i voice.wav -i music.mp3 -filter_complex "
[1:a]volume=0.4[a1];
[a1][0:a]sidechaincompress=threshold=0.1:ratio=8:attack=5:release=200[mix]" \
-map 0:v? -map "[mix]" -c:v copy -c:a aac -b:a 192k ducked.mp4

Онлайн-альтернативы: извлечь MP3, добавить музыку, громкость, убрать тишину.

Субтитры и текст

Встроить (burn-in) субтитры в видео:

ffmpeg -i in.mp4 -i subs.srt -vf subtitles=subs.srt -c:a copy out_burned.mp4

Оставить мягкие субтитры (поддержка плееров):

ffmpeg -i in.mp4 -i subs.srt -c:v copy -c:a copy -c:s mov_text out_softsubs.mp4

Если субтитров ещё нет, воспользуйтесь распознаванием и конвертацией: авто‑субтитры, транскрипт и резюме, таймкоды и главы.

Скрипт видео ffmpeg: пакетная обработка

Когда задач много, помогает «скрипт видео ffmpeg». Примеры:

Bash (Linux/macOS) — перекодировать все .MOV в .MP4:

for f in *.MOV; do
  ffmpeg -i "$f" -c:v libx264 -preset fast -crf 22 -c:a aac -b:a 160k -movflags +faststart "${f%.MOV}.mp4"
done

Windows (PowerShell):

Get-ChildItem *.mkv | ForEach-Object {
  $out = $_.BaseName + ".mp4"
  ffmpeg -i $_.FullName -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k -movflags +faststart $out
}

Конкатенация по списку:

# Создайте filelist.txt со строками:
# file 'part1.mp4'
# file 'part2.mp4'
ffmpeg -f concat -safe 0 -i filelist.txt -c copy merged.mp4

Для удобства без консоли: склейка видео и разбиение.

Оптимизация для веба и соцсетей

# YouTube/соцсети (пример для 24/25/30 fps): GOP ~ 2 сек
ffmpeg -i in.mp4 -c:v libx264 -crf 22 -preset medium -g 60 -keyint_min 60 -c:a aac -b:a 160k out.mp4

Аппаратные кодировщики и стабилизация

Аппаратное ускорение ускоряет рендер в разы. Примеры:

# NVIDIA NVENC (H.264)
ffmpeg -hwaccel cuda -i in.mp4 -c:v h264_nvenc -preset p4 -rc vbr -cq 19 -b:v 0 -c:a aac -b:a 160k out_nvenc.mp4

# NVIDIA NVENC (HEVC)
ffmpeg -hwaccel cuda -i in.mp4 -c:v hevc_nvenc -preset p5 -rc vbr -cq 23 -b:v 0 -c:a aac -b:a 160k out_hevc_nvenc.mp4

# Intel Quick Sync (QSV)
ffmpeg -hwaccel qsv -i in.mp4 -c:v h264_qsv -global_quality 22 -look_ahead 1 -c:a aac -b:a 160k out_qsv.mp4

Стабилизация (deshake/vidstab):

# Быстрая стабилизация
ffmpeg -i shaky.mp4 -vf deshake=rx=64:ry=64 edgefix.mp4

Не хотите ковыряться с параметрами? Попробуйте онлайн‑инструмент стабилизация.

Диагностика и частые ошибки

ffprobe -hide_banner -pretty -i input.mp4

Дополнительно про порядок действий и типовые решения — смотрите наши гайды по триму, кадру и изменению размера.

Шпаргалка быстрых рецептов

Задача Команда
Перекодировать в MP4 (универсально) ffmpeg -i in -c:v libx264 -crf 22 -preset medium -c:a aac -b:a 160k -movflags +faststart out.mp4
Сжать сильнее в HEVC ffmpeg -i in -c:v libx265 -crf 27 -preset slow -c:a aac -b:a 128k out.mp4
Быстрый кроп квадрата ffmpeg -i in -vf "crop=1080:1080" -c:a copy out.mp4
Извлечь MP3 ffmpeg -i in.mp4 -vn -c:a libmp3lame -b:a 192k out.mp3
Софт‑субтитры ffmpeg -i in.mp4 -i subs.srt -c:v copy -c:a copy -c:s mov_text out.mp4

Подписи и брендирование? Добавляйте лого/текст: водяной знак/логотип/QR, титры и текст. Цветокор, стили и эффектный вид — цветокоррекция, цветовые фильтры, размытие фона, переходы/фейды, маски/фигуры.

Вывод и что дальше

FFmpeg — мощный «швейцарский нож» для видео: от простой ffmpeg конвертации до аккуратного ffmpeg сжатия, от «обрезка и фильтры» до грамотных h264 h265 настроек. Вы можете быстро собрать правильную команду, написать скрипт и автоматизировать весь конвейер.

Хотите делать то же самое без консоли? Зайдите на sdelat-video.online:

Сделайте первый экспорт сейчас — и вернитесь к этой шпаргалке, когда понадобятся новые рецепты!

Получить Reels-Boss бесплатно