Гид по технологиям

Оптимизация размера видео с помощью FFmpeg

• 5 min read • Видео • Обновлено 20 Nov 2025
Оптимизация видео с FFmpeg
Оптимизация видео с FFmpeg

Видео — превью файла

Что такое FFmpeg?

FFmpeg — это набор инструментов командной строки для конвертации, записи и трансформации медиафайлов. Кратко: это «движок», который используют многие графические приложения (VLC, Blender и др.).

Определение в одну строку: FFmpeg — это программа для кодирования, декодирования, трансляции и редактирования аудио/видео из терминала.

Ключевые возможности:

  • Конвертация между контейнерами (MP4, MKV, WMV, FLV и др.).
  • Выбор кодеков и их параметров (libx264, libx265, wmv2, aac и т.д.).
  • Управление битрейтом, частотой кадров, разрешением и фильтрами.
  • Скриптование массовых операций.

Установка

В Ubuntu / Debian-подобных дистрибутивах FFmpeg устанавливается командой:

sudo apt install ffmpeg

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

Установка FFmpeg — иллюстрация терминала

Быстрый пример использования

Самая простая команда для перекодировки файла:

ffmpeg -i input.video output.video

Это базовый пример; по умолчанию FFmpeg подбирает кодеки и настройки автоматически, но для оптимизации размера нужно задавать параметры явно.

Простая конвертация в FFmpeg

Основы оптимизации: уравнение качества и размера

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

  • Контейнер: MP4, MKV, WMV, FLV — контейнер влияет на совместимость и накладные расходы.
  • Кодек: эффективно сжимает данные (libx264, libx265, wmv2 и т.д.).
  • Частота кадров (FPS): меньше кадров = меньше данных, но плавность страдает.
  • Битрейт: непосредственный параметр объёма информации — постоянный (CBR) или переменный (VBR/CRF).

Правило-эвристика:

small-container + efficient-codec + low-fps + low-bitrate = tiny/high-quality video file

Примечание: под «высоким качеством» подразумевается минимально заметная пикселизация и искажения при типичном просмотре. Для разных задач «приемлемая потеря» отличается.

Как выбрать подходящие параметры

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

  1. Определите целевую платформу и ограничения (веб, мессенджер, архив, стрим).
  2. Выберите контейнер с учётом совместимости (MP4 для веба, MKV для архива с субтитрами, WMV/FLV если критичны старые окружения).
  3. Выберите кодек: libx264 — хорош для совместимости/качества; libx265 — лучше сжатие при равном качестве, но требует новых плееров; wmv2/wmav2 — полезны для старых Windows-окружений.
  4. Решите: CRF (качество-первично) или целевой bitrate/two-pass (размер-первично).
  5. Снизьте разрешение/частоту кадров, если видео это позволяет.

Простая мыслительная модель

  • Контент с быстрым движением: предпочитайте более высокий битрейт или меньшую компрессию (меньший CRF).
  • Статические презентации/слайд-шоу: можно значительно снижать битрейт и fps.
  • Аудио: переключайтесь на mono и понижайте sample rate, если речь критична, но качество музыки нет.

Практические команды и шаблоны

Ниже — команды, которые часто используют для уменьшения размера. Подставьте input/output по своему сценарию.

  1. Конвертация в MP4 с кодеком H.264 (libx264), CRF и настроенным пресетом:
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k output.mp4

Пояснения: crf 18–23 — хорошее качество; 24–28 — разумный компромисс; выше — заметная потеря.

  1. Более агрессивное сжатие (меньший размер):
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 28 -c:a aac -b:a 96k -vf scale=854:-2 -r 24 output-480p.mp4

Здесь: scale=854:-2 — сохраним пропорции и понизим вертикальную сторону кратно двум; -r 24 — установить 24 кадра/с.

  1. Кодек H.265 (libx265) для лучшего сжатия при совместимых плеерах:
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 96k output-hevc.mp4
  1. Двухпроходная кодировка для точного таргета размера (целевой битрейт):
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 800k -pass 1 -an -f mp4 /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 800k -pass 2 -c:a aac -b:a 96k output-target.mp4
  1. Преобразование в WMV с использованием wmv2/wmav2 (для совместимости с Windows):
ffmpeg -i input.mp4 -c:v wmv2 -b:v 1000k -c:a wmav2 -b:a 128k -r 24 output.wmv

Важно: некоторые старые кодеки не поддерживают параметры CRF и требуют управления битрейтом через -b:v.

  1. Уменьшение только аудио (когда важна картинка):
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 64k output-audio-small.mp4
  1. Снижение FPS для разговорных видео/вебинаров:
ffmpeg -i input.mp4 -filter:v fps=fps=15 -c:a copy output-15fps.mp4

Конвертация видео — пример процесса

Уменьшение качества для экономии места

Как тестировать и оценивать результат

Критерии приёмки

  • Максимальный размер после оптимизации: соответствует лимиту платформы.
  • Визуальные артефакты: отсутствуют заметные блоки/плашки при целевом просмотре.
  • Аудио: разборчивость речи сохраняется.
  • Совместимость: файл воспроизводится на целевых устройствах/плеерах.

Тест-кейсы (минимум):

  • Короткий отрывок с быстрым движением (спорт/экшн).
  • Короткий отрывок с статичной сценой (интервью/репортаж).
  • Отрывок с насыщенной цветовой палитрой (анимация, природа).

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

Когда оптимизация не подходит или даёт плохой результат

  • Исходный файл уже сильно сжат — повторная компрессия ухудшит качество.
  • Видео с большим количеством мелких деталей или шума (ночная съёмка) — агрессивная компрессия выдаст артефакты.
  • Требуется профессиональный исходник для цветокоррекции/монтажа — лучше хранить оригинал без потерь.

Альтернативные подходы

  • Использовать аппаратное ускорение (VA-API, NVENC) для быстрой обработки, но итоговое качество/битрейт могут отличаться.
  • Использовать облачные сервисы для пакетной оптимизации, если локальные ресурсы ограничены.
  • Для потокового видео применять адаптивный стриминг (HLS/DASH) с несколькими качествами.

Роль‑ориентированные чек‑листы

  • Для создателя контента:

    • Оценить платформу доставки (социальная сеть, сайт, почта).
    • Сохранить оригинал отдельно.
    • Попробовать crf 20–28, выбрать лучший.
  • Для веб-разработчика:

    • Создавать версии 720p/480p/360p для адаптивной подачи.
    • Проверить загрузку/буферизацию на мобильных сетях.
  • Для архивиста:

    • Хранить lossless/высококачественный мастер; создайте оптимизированные копии для доступа.

Локальные сервисы и подводные камни для русскоязычной аудитории

  • Yandex.Disk, Mail.ru Cloud, Telegram и мессенджеры часто имеют ограничения по размеру и/или делают автоматическую перекодировку при загрузке. Всегда проверяйте, что загрузился не перекодированный файл.
  • Некоторые корпоративные проигрыватели или старые версии Windows лучше работают с WMV; для мобильных и веба безопаснее MP4/H.264.

Краткий глоссарий

  • Контейнер — формат обёртки для аудио/видео (MP4, MKV, WMV).
  • Кодек — алгоритм сжатия аудио/видео (libx264, libx265, wmv2).
  • CRF — параметр качества для кодеков x264/x265 (меньше = лучше качество).
  • Bitrate (-b:v) — скорость потока данных в битах/с.

Резюме

FFmpeg даёт полный контроль над компрессией: комбинируя выбор контейнера, кодека, CRF/bitrate, разрешение и fps, можно сильно уменьшить размер файла при приемлемом качестве. Начинайте с CRF-метода для удобства, используйте двухпроходную кодировку для точного целевого размера и тестируйте результат на нескольких платформах.

Важно: всегда храните оригинал, пока не утвердите параметры оптимизации.

Конечный совет: начните с небольших тестов — 10–30 секунд — и итеративно подбирайте CRF/битрейт и пресет, пока не достигнете желаемого баланса размера и качества.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро