Перейти к содержимому

Автофреймрейт (AFR) в Lampa: устранение эффекта Judder

Настройка автофреймрейта (AFR) в Lampa и Vimu: ликвидация эффекта Judder, переключение 23.976/24 Гц на Android TV и webOS для плавного кино без рывков.

7 мин чтения
Автофреймрейт (AFR) в Lampa: устранение эффекта Judder

Самое важное из статьи:

  • Эффект Judder возникает при несовпадении частоты кадров исходного фильма (23.976 или 24.000 fps) и постоянной частоты обновления матрицы дисплея (60 Гц) из-за неравномерного распределения кадров 3:2 Pulldown.
  • Для устранения стробоскопических рывков видеокадра используется механизм Auto Frame Rate (AFR), синхронизирующий частоту развертки телевизора через порт HDMI с частотой декодируемого видеопотока.
  • На Android TV оптимальная связка достигается через внешний плеер Vimu с активацией переключения видеорежимов и задержкой синхронизации 1500 мс, либо через системный AFR в Android 12 и новее.
  • При просмотре фильмов 23.976 fps на фиксированной частоте 24.000 Гц каждые 41.7 секунды происходит неизбежный пропуск одного кадра, поэтому критически важно активировать поддержку дробных частот.
Полезные сервисы Lampa
Бесплатно

Используйте наш интерактивный конфигуратор плагинов или проверьте статус серверов и зеркал онлайн.

Каждый ценитель кинематографа замечал характерный дефект: во время плавного пролета камеры над городским пейзажем или медленного движения персонажа в кадре картинка начинает неприятно подергиваться. Это не тормоза сети и не сбой торрент-потока. Перед нами классический стробоскопический эффект неравномерного движения — Judder.

Кинематографический стандарт съемки со времен пленочного кино составляет 24 кадра в секунду (а в цифровых релизах — чаще 23.976 fps). В то же время подавляющее большинство смарт-телевизоров и ТВ-боксов по умолчанию выводят интерфейс с фиксированной частотой обновления 60 Гц.

Разберем природу этого эффекта, механику работы автофреймрейта (Auto Frame Rate, AFR) и пошагово настроим идеальную плавность отображения в Lampa на всех платформах.

Физика проблемы: 3:2 Pulldown и потеря дробных долей секунды

Чтобы уместить 24 кадра фильма в 60 тактов развертки экрана за одну секунду, видеочип применяет алгоритм преобразования частоты 3:2 Pulldown. Первый кадр дублируется три раза, второй — два раза, третий снова три раза, четвертый — два раза:

24 кадра × 2.5 такта = 60 обновлений экрана

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

Вторая проблема скрыта в дробных стандартах вещания. Со времен цветного аналогового ТВ NTSC частота кадров снижена на коэффициент 1000/1001:

24 × (1000 / 1001) ≈ 23.976023976... fps

Если чипсет медиаприставки поддерживает только фиксированную сетку целых частот (24.000 Гц, 50.000 Гц, 60.000 Гц) и не имеет прецизионного тактового генератора PLL для дробных частот, плеер вынужден выводить фильм 23.976 fps на развертке 24.000 Гц:

Разница: 24.000 - 23.976 = 0.024 кадра в секунду Интервал пропуска: 1 / 0.024 ≈ 41.67 секунды

Каждые 42 секунды видеоряд отстает от системного таймера ровно на 1 кадр. Буфер отбрасывает лишний фрейм (Drop Frame), и зритель видит ощутимый резкий скачок.

Исходный контентРазвертка дисплеяМетод согласованияРезультат на экране
23.976 fps60 Гц (по умолчанию)Неравномерный 3:2 PulldownПостоянный строб на панорамах (Judder)
23.976 fps24.000 Гц (без дробей)Округление без дробного генератораЦиклический микрорывок каждые 41.7 сек
23.976 fps23.976 Гц (настоящий AFR)Покадровое соответствие 1:1Идеальная аналоговая плавность
24.000 fps24.000 Гц (европейский мастер)Покадровое соответствие 1:1Идеальная кинематографическая сцена
25.000 fps / 50i50.000 Гц (PAL / европейское ТВ)Удвоение 1:2Отсутствие артефактов деинтерлейсинга

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

Настройка AFR через внешний плеер Vimu на Android TV

Оболочка Lampa на смарт-приставках работает внутри веб-контейнера WebView, который жестко привязан к частоте обновления системного экрана. Чтобы получить честный автофреймрейт, вывод видеопотока необходимо передавать внешнему нативному движку.

Эталоном реализации AFR на медиаплеерах с Android TV признан Vimu Media Player.

Настройки видеорежимов и автофреймрейта в плеере Vimu

Для включения правильного переключения режимов выполните следующие шаги:

  1. Откройте Vimu Media Player на приставке и перейдите в раздел Настройки -> Параметры видео.
  2. Найдите пункт Автоматическая смена частоты кадров (AFR) и переведите тумблер в положение Включено (Смена видеорежима).
  3. Обязательно активируйте чекбокс Дробные частоты (23.976, 29.97, 59.94 Гц). На чипсетах Amlogic (S905X3, S905X4, S922X) это задействует аппаратный PLL-делитель частоты.
  4. В строке Пауза при смене частоты установите значение 1500 мс. Телевизору требуется время для пересинхронизации HDMI-сигнала. Если оставить 0 мс, звук пойдет в динамиках, пока экран еще находится в темноте.
  5. Выберите Движок воспроизведения: для тяжелых потоков 4K Dolby Vision рекомендуется Engine v2.

После сохранения настроек вернитесь в Lampa, откройте меню Настройки -> Плеер и установите Тип плеера: Внешний, выбрав Vimu по умолчанию. Подробный разбор альтернативных плееров приведен в обзоре внешних видеоплееров для Lampa.

Системный автофреймрейт Android TV 12 и Google TV

Начиная с версии Android 12, Google внедрил нативную поддержку переключения частоты кадров на уровне ядра операционной системы. Это избавляет от необходимости использовать специализированные демоны вроде afrd.

Системное меню настройки согласования частоты кадров в Android TV

Активация системного механизма на телевизорах и боксах с современным Android TV:

  1. Зайдите в общесистемные Настройки ТВ-бокса -> Экран и звук -> Расширенные настройки экрана.
  2. Откройте подраздел Согласование частоты кадров контента (Match content frame rate).
  3. Доступны три режима:
    • Никогда (Off): приставка всегда держит 60 Гц.
    • Бесшовно (Seamless): использует протокол HDMI 2.1 Quick Media Switching (QMS). Частота меняется мгновенно без черного экрана, если телевизор и кабель полностью поддерживают стандарт HDMI 2.1 QMS.
    • Не бесшовно (Non-seamless): классический метод с кратковременным черным экраном (HDMI renegotiation). Совместим с любыми телевизорами HDMI 2.0.
  4. Выберите Non-seamless, если у вас телевизор стандартов 2018–2023 годов, либо Seamless, если связка ТВ и приставки поддерживает HDMI 2.1 QMS.

Проверить текущий рабочий режим дисплея и фактическую частоту развертки при воспроизведении можно через отладочный мост ADB:

# Получение текущих параметров дисплея и частоты кадров
adb shell dumpsys display | grep -E "mBaseDisplayInfo|fps"

# Проверка поддерживаемых телевизором видеорежимов HDMI
adb shell cmd display get-user-preferred-display-mode

Если консоль возвращает строчку вида fps=23.976025, modeId=..., значит приставка успешно переключила матрицу телевизора в нативный режим. Если вы настраиваете систему с нуля, воспользуйтесь инструкцией по установке APK Lampa на Android TV.

Нюансы Smart TV: LG webOS, Samsung Tizen и Apple TV

На телевизорах без внешних ТВ-боксов ситуация имеет собственную специфику:

LG webOS (OLED, QNED, NanoCell)

Встроенный браузер LG webOS заблокирован системой на частоте 60 Гц. Однако процессоры Alpha 7 / Alpha 9 / Alpha 11 в телевизорах с панелями 120 Гц аппаратно компенсируют строб:

  • 120 делится на 24 без остатка: 120 / 24 = 5. Каждый кадр фильма выводится ровно 5 раз подряд (5:5 Pulldown).
  • Чтобы режим работал корректно, перейдите в Настройки экрана -> Дополнительные настройки и включите функцию Real Cinema (Настоящий кинотеатр).
  • Ползунки уплавнения TruMotion установите в значение Отключено либо выберите профиль Кинематографический (De-Judder: 1–2, De-Blur: 0), чтобы избежать эффекта дешевой мыльной оперы.

Принципы интеграции приложения на телевизорах корейского бренда подробно описаны в руководстве по установке Lampa на LG webOS.

Samsung Smart TV (Tizen OS)

В телевизорах Samsung за устранение 3:2 Pulldown отвечает режим Film Mode (Режим «Фильм»):

  • В меню изображения выберите Настройки четкости изображения (Auto Motion Plus).
  • Установите режим Пользовательский с параметром Снижение дрожания (Judder Reduction) на уровне 2–3.
  • Для кинолент 24p активируйте опцию Режим «Фильм»: Авто 1 или Авто 2, заставляющую матрицу перейти на синхронную кратную развертку.

Инструкции по ручной инсталляции виджета на платформу Tizen собраны в статье по установке Lampa на Samsung Smart TV.

Apple TV 4K (tvOS)

Медиаплеер от Apple обладает самой стабильной реализацией AFR на рынке потребительской электроники:

  • Откройте Настройки tvOS -> Видео и аудио -> Согласование контента.
  • Включите оба тумблера: Согласование динамического диапазона (HDR/SDR) и Согласование частоты кадров.
  • При запуске потоков в клиентах Lampa на tvOS приставка автоматически переведет HDMI-выход в точные 23.976 Гц без потери кадров.

Скрытые сбои и методы их устранения

  • Рассинхрон звука при переключении частоты: если саундбар или AV-ресивер подключен через оптику S/PDIF или HDMI ARC, переключение видеорежима может сбить звуковой тайминг. Решение: в настройках плеера Vimu активируйте опцию HDMI Audio Passthrough и увеличьте задержку старта до 2000 мс.
  • Периодический сброс в 60 Гц при выходе из паузы: на некоторых бюджетных прошивках Android TV при нажатии кнопки паузы интерфейс перехватывает фокус и возвращает экран в 60 Гц, а при снятии с паузы не успевает переключиться обратно. В этом случае используйте режим AFR через утилиту AFRd, работающую на уровне системных сервисов.
  • Ложные рывки из-за фоновых служб: фоновые процессы обновления приложений в Google Play создают микрозадержки в планировщике потоков процессора. Отключите автообновление в магазине приложений на ТВ-боксе для гарантированно ровного тайминга кадров.
Интерактив
Мастер

Готовые плагины под вашу задачу

Ответьте на 3 вопроса о вашем ТВ, и мастер подберет проверенный набор скриптов.

  • Онлайн-видео (балансеры)Без P2P
  • 4K торренты (TorrServer)В стриме
  • Зеркала CUB и плагиныАктуально
Запустить конфигуратор
Понравилось руководство? Поделитесь:
В Telegram
Роман Белов
Автор материала
Роман Белов
Веб-разработчик и практик Smart TV

Frontend-инженер и энтузиаст оболочки Lampa. Эксперт по экосистеме JS-плагинов, сборке виджетов для Samsung Tizen, LG webOS и Apple TV. Специализируется на кастомизации интерфейса, интеграции онлайн-балансеров и решении сбоев клиентской части.

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

Почему экран гаснет на 1-2 секунды при запуске видео в Lampa?

Это штатный процесс согласования видеорежима по протоколу HDMI Handshake. Графический контроллер приставки и процессор телевизора пересогласовывают тайминги развертки, переключая матрицу с базовых 60 Гц на кинематографические 23.976 или 24.000 Гц.

Чем опасна разница между 23.976 fps и 24.000 fps?

Если медиаплеер не умеет переключать дробную частоту и выводит видео 23.976 fps на развертке 24.000 Гц, ровно раз в 41.7 секунды накапливается временной сдвиг на один кадр. Плеер отбрасывает дублирующий кадр, вызывая заметный одиночный рывок на панорамах.

Работает ли автофреймрейт во встроенном веб-плеере Lampa на Tizen и webOS?

Браузерный движок в webOS и Tizen заблокирован на частоте пользовательского интерфейса (60 Гц). Однако современные 120-герцовые телевизоры LG и Samsung выравнивают строб внутренними алгоритмами Real Cinema и Film Mode по схеме 5:5 Pulldown без внешнего AFR.

Какую задержку переключения частоты выставлять в настройках плеера?

Рекомендуемое значение составляет от 1000 до 1500 мс. Это исключает воспроизведение начальных секунд звуковой дорожки при еще черном экране телевизора и защищает от рассинхронизации аудио ресивера по HDMI eARC.