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

Что такое FFmpeg и когда он нужен
FFmpeg — это универсальный набор инструментов командной строки для обработки медиа: конвертации, сжатия, монтажа, фильтрации, записи и стриминга. Если вам нужно быстро «ffmpeg сделать видео» под веб, соцсети или архив, — правильная команда решит задачу за минуты. В этой шпаргалке собраны практичные рецепты для повседневных задач: ffmpeg конвертация форматов, ffmpeg сжатие с правильным качеством, обрезка и фильтры, а также h264 h265 настройки.
Совет: если вы предпочитаете работать в браузере без консоли и кодеков, загляните в наши онлайн‑инструменты: конвертация форматов, сжатие видео, обрезка, кадрирование, поворот/отзеркаливание, изменение размера, экспорт 4K/60fps.
Быстрый старт: ffmpeg конвертация
- Перекодировать любое видео в 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
- -crf 18–23 — чем ниже, тем лучше качество/больше размер.
- -movflags +faststart — оптимизация для веба (быстрое начало воспроизведения).
- Поменять только контейнер MKV → MP4 без перекодирования (когда кодеки уже совместимы):
ffmpeg -i input.mkv -c copy -movflags +faststart output.mp4
- Конвертация в 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:
- H.264: 18 (высокое качество) … 23 (баланс) … 28 (сильнее сжатие)
- H.265: 20 … 28 (обычно на 3–4 пункта выше, чем у H.264)
Таблица ориентиров по скорости/качеству:
| 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
Ключевые моменты:
- -pix_fmt yuv420p — максимальная совместимость плееров.
- -profile/-level — ограничивают возможности для широкой поддержки.
- Для анимации или скринкастов можно добавить -tune animation или -tune film (x264).
Если нужен вертикальный формат, заранее корректируйте кадр: вертикальное/горизонтальное и изменение размера.
Обрезка и фильтры: трим, кроп, поворот, скорость
Быстрая точная обрезка по времени:
## Точная обрезка с перекодированием
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
Для удобства без консоли: склейка видео и разбиение.
Оптимизация для веба и соцсетей
- Быстрый старт: -movflags +faststart, кодек H.264, аудио AAC.
- Кадровая частота: оставляйте исходную или задайте 30/60 fps. См. экспорт 4K/60fps.
- Ограничение ключевых кадров для платформ:
## 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
- Нет видео в браузере? Убедитесь в yuv420p и H.264/AAC.
- «Audio out of sync» после обрезки? Обрезайте с -ss перед -i для скорости, но для точности — после -i, либо перекодируйте.
- «moov atom not found» — добавьте -movflags +faststart.
- 10‑битное видео не воспроизводится? Перекодируйте в 8‑бит: -pix_fmt yuv420p.
Дополнительно про порядок действий и типовые решения — смотрите наши гайды по триму, кадру и изменению размера.
Шпаргалка быстрых рецептов
| Задача |
Команда |
| Перекодировать в 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:
Сделайте первый экспорт сейчас — и вернитесь к этой шпаргалке, когда понадобятся новые рецепты!