Настройка AFRd на Android TV: автофреймрейт без рывков
Гайд по настройке службы AFRd (Auto Frame Rate) на Android TV и ТВ-боксах. Устранение эффекта Judder, 24p синхронизация и плавная картинка без рывков.
💡︎ Главные мысли статьи:
- Автофреймрейт (AFR) синхронизирует частоту обновления матрицы телевизора с исходной частотой кадров фильма, полностью устраняя рывки 3:2 Pulldown (Judder).
- Системный демон AFRd отслеживает запуск медиапотоков на уровне драйвера ядра и переключает HDMI-режимы без задержек и черных экранов.
- Поддержка дробных частот (23.976 Гц и 59.94 Гц) предотвращает выпадение каждого 1000-го кадра, обеспечивая кинематографическую плавность панорам.
Кинематографический контент в 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:
- Откройте
Настройки устройства➔ «Настройки экрана и AFR» (или запустите приложение AFRd Settings). - Активируйте главный тумблер «Включить службу AFRd».
- Установите режим переключения: «Частота кадров + Разрешение».
- Включите поддержку дробных частот (Fractional Framerate: 23.976 / 29.97 / 59.94 Hz).
- Задайте задержку переключения (Switch Delay) на значение
500 мс.
Физика 3:2 Pulldown: почему фиксированные 60 Гц портят кино
При выводе 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 | Включено | Фоновый перехват вызовов медиадекодеров |
| Switch Delay | 500–750 мс | Пауза перед сменой режима для подавления мерцания |
| Дробные частоты | 23.976 / 59.94 Гц | Точная синхронизация без потери кадров |
| Пауза видео | Включено | Приостановка воспроизведения на время смены частоты |
| Режим переключения | Только частота (HDMI Mode) | Сохраняет 4K GUI без изменения масштаба |
Если после длительного просмотра тяжелых релизов приставка начинает нагреваться и сбрасывать частоты, выполните доработку охлаждения и установку радиатора.
Способ 2. Интеграция с плеерами: Vimu, SmartTube и TorrServe
Чтобы плееры не конфликтовали с системным демоном AFRd:
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 мс).