Перейти к содержимому
Программное Обеспечение

Настройка AFRd на Android TV: автофреймрейт без рывков

Гайд по настройке службы AFRd (Auto Frame Rate) на Android TV и ТВ-боксах. Устранение эффекта Judder, 24p синхронизация и плавная картинка без рывков.

💡︎ Главные мысли статьи:

  • Автофреймрейт (AFR) синхронизирует частоту обновления матрицы телевизора с исходной частотой кадров фильма, полностью устраняя рывки 3:2 Pulldown (Judder).
  • Системный демон AFRd отслеживает запуск медиапотоков на уровне драйвера ядра и переключает HDMI-режимы без задержек и черных экранов.
  • Поддержка дробных частот (23.976 Гц и 59.94 Гц) предотвращает выпадение каждого 1000-го кадра, обеспечивая кинематографическую плавность панорам.
Современный OLED телевизор на деревянной тумбе с выводом технического статуса кадровой частоты 23.976 Гц

Кинематографический контент в 95% случаев кодируется с частотой 23.976 или 24.000 кадра в секунду. Европейские телеканалы вещают с частотой 50 Гц (PAL), а американские шоу — 59.94 / 60 Гц (NTSC).

Если ваша ТВ-приставка постоянно работает в фиксированном режиме 4K 60Hz, встроенный видеодрайвер вынужден подгонять кадры с помощью чередования 3:2 Pulldown. В результате на плавных панорамных пролетах камеры картинка начинает неприятно подергиваться (эффект Judder).

Для решения этой проблемы энтузиастами был разработан системный сервис AFRd (Auto Frame Rate Daemon). В этом материале мы разберем физику процесса, установку демона и его тонкую интеграцию с медиаплеерами.


⚡ Экспресс-настройка: как включить AFRd за 2 минуты

Если на вашем ТВ-боксе установлена прошивка Slimbox, Ugoos или модуль Magisk:

  1. Откройте Настройки устройства«Настройки экрана и AFR» (или запустите приложение AFRd Settings).
  2. Активируйте главный тумблер «Включить службу AFRd».
  3. Установите режим переключения: «Частота кадров + Разрешение».
  4. Включите поддержку дробных частот (Fractional Framerate: 23.976 / 29.97 / 59.94 Hz).
  5. Задайте задержку переключения (Switch Delay) на значение 500 мс.

Физика 3:2 Pulldown: почему фиксированные 60 Гц портят кино

График анализа таймингов кадров: неравномерные скачки 3:2 Pulldown на 60 Гц против идеальной прямой на 24 Гц

При выводе 24 кадров на 60-герцовой матрице невозможно разделить секунду поровну:

60 Гц / 24 к/с = 2.5 обновления экрана на один кадр фильма

Видеочип вынужден показывать первый кадр длительностью 33.3 мс (2 обновления экрана), а второй — 50.0 мс (3 обновления экрана). Человеческий глаз мгновенно считывает эту аритмию как микрорывки.

Когда активирован AFRd, видеовыход приставки физически переключается в режим 23.976 Гц или 120 Гц (5:5 Pulldown). Каждый кадр отображается ровно 41.7 мс, обеспечивая кристальную плавность движения без необходимости включать мыльную интерполяцию (MEMC).

Для правильной передачи цветовой гаммы в сочетании с AFR ознакомьтесь с нашим руководством по настройке цветового пространства YCbCr и HDR.


Способ 1. Настройка AFRd через системное приложение

На ТВ-боксах Amlogic (S905X3, S905X4, S928X) демон работает в фоновом режиме, сканируя системный журнал Android на предмет инициализации видеобуфера:

Планшет с открытым интерфейсом тонкой настройки параметров демона автофреймрейта AFRd

Оптимальные параметры конфигурации AFRd:

ПараметрРекомендуемое значениеОписание и назначение
Служба AFRdВключеноФоновый перехват вызовов медиадекодеров
Switch Delay500–750 мсПауза перед сменой режима для подавления мерцания
Дробные частоты23.976 / 59.94 ГцТочная синхронизация без потери кадров
Пауза видеоВключеноПриостановка воспроизведения на время смены частоты
Режим переключенияТолько частота (HDMI Mode)Сохраняет 4K GUI без изменения масштаба

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


Способ 2. Интеграция с плеерами: Vimu, SmartTube и TorrServe

Чтобы плееры не конфликтовали с системным демоном AFRd:

Макросъемка кабеля HDMI 2.1 eARC подключенного к задней панели телевизора рядом с блокнотом калибровки

1. Настройка в Vimu Media Player:

  • Откройте настройки Vimu ➔ раздел «Экран / Видео».
  • В пункте «Автоматическая смена частоты» выберите «Системный (Android API)» или «AFRd».
  • Включите опцию «Возвращать исходный режим при выходе». Подробнее о выборе софта читайте в нашем сравнении плееров Vimu, Just Player и Nova.

2. Настройка в SmartTube (YouTube):

  • В настройках SmartTube перейдите в меню Плеер«Автофреймрейт».
  • Отметьте галочками нужные частоты: 24 fps, 25 fps, 30 fps, 50 fps, 60 fps.
  • Установите задержку старта 0.5 сек, чтобы видео не стартовало раньше, чем телевизор синхронизирует HDMI-сигнал.

3. Интеграция с IPTV и онлайн-кинотеатрами:

Для удобного просмотра каналов с автоматическим переключением 50 Гц на спортивных трансляциях настройте OTT-Play FOSS на Smart TV или самообновляемые IPTV плейлисты M3U. А для каталогизации фильмов используйте Stremio с плагином Torrentio.


Сравнение: Системный AFRd против нативного Android 12+ Frame Rate API

Начиная с Android 12, Google внедрил официальный API Surface.setFrameRate(), однако его реализация на большинстве ТВ-приставок имеет существенные ограничения:

Почему системный AFRd работает лучше стокового API:

  • Поддержка любых приложений: Стандартный Android API работает только в тех плеерах, разработчики которых явно внедрили вызов setFrameRate(). Демон AFRd перехватывает открытие видеобуфера на уровне ядра Linux и драйвера amcodec, благодаря чему автофреймрейт работает абсолютно в любых приложениях (включая браузеры, неофициальные клиенты онлайн-кинотеатров и IPTV).
  • Сохранение динамического диапазона HDR и Dolby Vision: При стандартном переключении Android часто сбрасывает цветовой профиль в SDR 8-bit. Правильно настроенный AFRd блокирует сброс метаданных HDR10+ и сохраняет передачу тон-маппинга без искажений.
  • Черный список приложений (Blacklist): В конфигурации AFRd можно исключить системные утилиты, бенчмарки и игры, зафиксировав для них постоянные 60 или 120 Гц.

Решение частых проблем при работе AFRd

  • Зеленый или розовый экран при переключении: В настройках дисплея приставки переключите цветовой формат с RGB на YCbCr 4:2:2 10-bit.
  • Черный экран длится более 4 секунд: Отключите в телевизоре функцию Deep Color для неиспользуемых портов или замените старый HDMI-кабель на сертифицированный кабель стандарта HDMI 2.0b / HDMI 2.1 Ultra High Speed.
  • Частота не сбрасывается обратно при выходе в лаунчер: Установите современный Projectivy Launcher на Android TV, который корректно обрабатывает события onWindowFocusChanged.

Чек-лист проверки автофреймрейта

  • Активирован системный сервис AFRd: Демон работает в фоновом режиме.
  • Включены дробные частоты 23.976 и 59.94 Гц: Отсутствует пропуск кадров каждые 41 секунду.
  • Установлена задержка Switch Delay 500 мс: Процесс смены частоты происходит плавно и без сбоев.
  • Проверена синхронизация в 4K BD-Remux: Панорамы воспроизводятся с кинематографической плавностью.

❓︎ Часто задаваемые вопросы (FAQ)

Почему видео на ТВ-приставке дергается при панорамной съемке?

Большинство фильмов снято с частотой 23.976 или 24.000 к/с. Если ТВ-бокс выводит сигнал с фиксированной частотой 60 Гц, применяется неравномерный алгоритм 3:2 Pulldown: один кадр отображается 2 раза, а следующий — 3 раза, что вызывает заметные рывки (Judder).

Нужны ли ROOT-права для работы AFRd?

Для классического системного демона AFRd требуются ROOT-права (встроены во все прошивки Slimbox/Ugoos). Без ROOT автофреймрейт можно активировать через стандартный Android 12+ API в плеерах Vimu и Just Player.

Почему телевизор гаснет на 2-3 секунды при старте каждого фильма?

Это нормальный процесс HDMI Handshake (согласования видеорежима между ТВ и приставкой). Чтобы уменьшить дискомфорт, в AFRd настраивается параметр Switch Delay (задержка переключения 500-1000 мс).