Изменение частоты кадров видео: подробное руководство

Рассинхронизация звука и видео после конвертации, дерганая картинка на телевизоре или отказ видеоредактора принять файл — частые симптомы несовпадения частоты кадров исходника и требований проекта. Изменение частоты кадров видео (FPS) решает эти проблемы, но только если понимать, что происходит с кадрами при конвертации: дублирование, выбрасывание или интерполяцию. Бездумное изменение параметра способно ухудшить качество сильнее, чем исходная проблема.

В этом материале разберём, когда изменение FPS оправдано, какие инструменты подходят для разных задач и как не потерять синхронизацию аудиодорожки. Инструкции подходят для Windows, macOS и Linux, а команды проверены на актуальных версиях FFmpeg.

Что такое частота кадров и когда её нужно менять

Частота кадров (frame rate, FPS) — количество неподвижных изображений, отображаемых за одну секунду видео. Типичные значения: 24 fps для кино, 25 fps для европейского телевещания (стандарт PAL), 30 и 29,97 fps для американского вещания (NTSC), 50 и 60 fps для плавной записи движения, 120 и выше — для игровых роликов и slow-motion.

Менять частоту кадров приходится в нескольких ситуациях. Самая распространённая — подготовка видео к публикации на площадке с ограничениями или монтаж материала, снятого разными камерами с разными FPS. Вторая причина — уменьшение размера файла: понижение с 60 до 30 fps заметно снижает битрейт при том же визуальном качестве статичных сцен.

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

Способы изменения FPS: обзор инструментов

Выбор инструмента зависит от задачи: разовая конвертация, пакетная обработка или точная работа в монтажном проекте. Ниже — основные варианты с их сильными сторонами.

  • 🎬 Видеоредакторы (DaVinci Resolve, Adobe Premiere Pro, Shotcut) — частота кадров задаётся в настройках проекта и при экспорте; подходят, когда видео всё равно монтируется.
  • ⚙️ Конвертеры с интерфейсом (HandBrake, Shutter Encoder) — простой выбор FPS в настройках кодирования без командной строки.
  • 💻 FFmpeg — консольная утилита для точного контроля, пакетной обработки и автоматизации.
  • 🌐 Онлайн-конвертеры — вариант для небольших файлов, когда устанавливать программы нежелательно; учитывайте ограничения на размер и приватность.

Для одного короткого ролика проще всего подойдёт HandBrake: открываете файл, выбираете в разделе видео нужное значение FPS и запускаете кодирование. Для десятков файлов разумнее написать скрипт на FFmpeg — это сэкономит часы ручной работы.

📊 Какая задача привела вас к изменению FPS?
Подготовка видео для соцсетей или видеохостинга
Исправление рассинхрона звука и видео
Уменьшение размера файла
Повышение плавности через интерполяцию

Как изменить частоту кадров в HandBrake

HandBrake — бесплатный конвертер с открытым кодом, доступный для Windows, macOS и Linux. Порядок действий в нём одинаков на всех платформах, хотя расположение элементов интерфейса может немного отличаться между версиями.

Откройте программу и перетащите видеофайл в окно либо выберите его через кнопку открытия источника. Перейдите на вкладку Video и найдите выпадающий список Framerate (FPS). По умолчанию там стоит Same as source — частота исходника. Выберите нужное значение из списка: 23,976, 24, 25, 29,97, 30, 50, 59,94 или 60.

Рядом обратите внимание на переключатель режима: Constant Framerate (постоянная частота) или Variable Framerate (переменная). Для монтажа и загрузки на платформы надёжнее выбирать постоянную частоту — с переменной некоторые редакторы и плееры работают некорректно, что проявляется в виде рассинхрона звука.

⚠️ Внимание: изменение FPS в конвертере всегда означает перекодирование видео. Каждое перекодирование в формат с потерями (H.264, H.265) неизбежно снижает качество. Поэтому не конвертируйте один и тот же файл несколько раз подряд — работайте от исходника.

☑️ Проверка перед конвертацией FPS

Выполнено: 0 / 5

Изменение FPS через FFmpeg

FFmpeg — стандарт де-факто для обработки видео из командной строки. Базовая команда для смены частоты кадров выглядит так:

ffmpeg -i input.mp4 -r 30 -c:a copy output.mp4

Здесь параметр -r 30 задаёт выходную частоту 30 кадров в секунду, а -c:a copy копирует аудиодорожку без перекодирования — это сохраняет качество звука и ускоряет процесс. Видеопоток при этом перекодируется кодеком по умолчанию.

Более корректный способ — использовать фильтр fps, который даёт предсказуемое поведение при нецелых соотношениях:

ffmpeg -i input.mp4 -vf "fps=25" -c:v libx264 -crf 20 -c:a copy output.mp4

Параметр -crf 20 управляет качеством: меньше значение — выше качество и больше размер файла. Значения в диапазоне 18–23 обычно дают разумный баланс, но точный выбор зависит от содержимого ролика.

Понижение и повышение FPS: в чём разница

Понижение частоты кадров — технически простая операция: лишние кадры отбрасываются. При переходе с 60 на 30 fps удаляется каждый второй кадр, и результат выглядит естественно. Проблемы возникают при неудобных соотношениях, например с 25 на 24: кадры выпадают неравномерно, и движение может подёргиваться.

Повышение сложнее. Простое дублирование кадров (что делает -r без дополнительной обработки) не добавляет плавности — зритель видит те же 24 уникальных кадра в секунду, просто упакованных в контейнер 60 fps. Для реального повышения плавности нужна интерполяция движения — генерация промежуточных кадров на основе анализа соседних.

В FFmpeg для этого существует фильтр minterpolate, а специализированные решения на нейросетях (например, инструменты на базе моделей оптического потока) дают заметно лучший результат на сложных сценах. Учтите: интерполяция требовательна к ресурсам и может создавать артефакты вокруг быстро движущихся объектов.

ПреобразованиеМетодРискиКогда применять
60 → 30 fpsОтбрасывание кадровМинимальныеУменьшение размера, требования площадки
30 → 24 fpsОтбрасывание / преобразование кинопроекцииПодёргивание движенияСтилизация под кино
24 → 60 fpsДублирование кадровНет прироста плавностиСовместимость с проектом 60 fps
24 → 60 fpsИнтерполяция движенияАртефакты, нагрузка на ПКПлавное slow-motion, апскейл плавности
25 ↔ 29,97 fpsРесемплинг кадровРассинхрон звука, дрожаниеКонвертация между стандартами PAL/NTSC

Типичные ошибки и как их избежать

Первая и самая частая ошибка — рассинхронизация звука. Она возникает, когда видеопоток изменяется, а аудио остаётся прежней длительности, либо когда исходник имеет переменную частоту кадров (типично для записей с экрана и смартфонов). Решение — принудительно задавать постоянный FPS и проверять результат на всей длительности ролика, а не только в начале.

Вторая ошибка — ожидание чуда от повышения FPS. Если исходник снят в 24 кадра, никакая конвертация не превратит его в настоящее 60 fps видео без интерполяции, а интерполяция на сложных сценах даёт видимые артефакты. Третья проблема — многократное перекодирование: каждый цикл деградирует картинку.

⚠️ Внимание: если видео предназначено для монтажа, не меняйте FPS заранее в конвертере. Задайте нужную частоту в настройках проекта редактора — он сам корректно обработает исходники, и вы избежите лишнего перекодирования.
Почему 29,97, а не 30 кадров?

Дробные значения вроде 29,97 и 23,976 — наследие эпохи аналогового телевещания. При переходе на цветное ТВ в системе NTSC частоту кадров слегка понизили для совместимости со звуковой поднесущей. Стандарт закрепился и используется до сих пор, поэтому при конвертации между 29,97 и ровными 30 fps возможен постепенный уход синхронизации звука.

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

После обработки не полагайтесь на глазомер — проверьте файл инструментами. Команда ffprobe покажет фактическую частоту кадров, длительность и параметры потоков. Универсальные анализаторы вроде MediaInfo выводят ту же информацию в удобном окне, включая режим частоты (постоянная или переменная).

Затем просмотрите ролик целиком или хотя бы в нескольких точках: начало, середина, конец. Обращайте внимание на совпадение губ речи со звуком и на плавность панорамных планов — именно там артефакты заметнее всего. Если синхронизация «плывёт» к концу файла, вероятнее всего, исходник имел переменный FPS, и конвертацию нужно повторить с принудительной постоянной частотой.

Часто задаваемые вопросы

Можно ли изменить FPS без перекодирования видео?

Частично. Существует приём смены метаданных контейнера (например, через -c copy с указанием новой частоты), который меняет скорость воспроизведения без перекодирования. Но это меняет и длительность, и скорость звука, поэтому подходит лишь для узких задач вроде ускорения таймлапсов. Для обычной смены FPS перекодирование неизбежно.

Почему после смены FPS звук отстаёт от видео?

Наиболее вероятная причина — переменная частота кадров в исходнике (записи с экрана, смартфона, веб-камеры). Повторите конвертацию, принудительно задав постоянный FPS, и убедитесь, что аудиодорожка обрабатывается синхронно с видеопотоком.

Какой FPS выбрать для загрузки в соцсети?

Большинство платформ корректно принимают 24, 25, 30, 50 и 60 fps. Оптимальная стратегия — оставить частоту исходника, если она входит в этот список, и не конвертировать без необходимости. Точные требования конкретной площадки проверяйте в её актуальной справке, так как рекомендации со временем меняются.

Повысит ли смена с 30 на 60 fps плавность видео?

Сама по себе — нет: без интерполяции кадры просто продублируются. Реальную плавность даёт только генерация промежуточных кадров специальными фильтрами или нейросетевыми инструментами, и качество результата зависит от содержимого сцены.

Теряется ли качество при понижении FPS?

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