Плееры на Smart TV: Tizen, webOS, Roku BrightScript, Android TV, Fire TV, Vidaa

Автор: Николай СапуновОбновлено: август 202642 мин чтения
Содержание статьи +

TL;DR

Стриминговый продукт, который в 2026 году отправляется на телевизоры, должен закрыть шесть разных операционных систем с тремя разными моделями программирования, тремя разными матрицами DRM и одной фундаментальной миграцией платформы, которая прямо сейчас идёт под брендом Amazon Fire TV. Samsung Tizen и LG webOS гоняют HTML5-веб-приложения внутри жёстко ограниченных браузерных движков и поставляют PlayReady плюс Widevine Modular как свою DRM-пару. Roku работает на проприетарном языке BrightScript поверх SceneGraph-фреймворка с PlayReady и Widevine на современных моделях. Android TV / Google TV от Google запускает Kotlin/Java-приложения поверх Media3 / ExoPlayer с Widevine L1, и это единственная платформа кроме tvOS, у которой есть настоящий нативный медиа-стек. Amazon Fire TV – джокер: в конце 2025 года Amazon начал заменять Android-производную Fire OS на совершенно новую Linux-систему Vega OS, построенную на React Native и веб-технологиях. Android-приложение от Fire OS не запускается на Vega, и каждый стриминговый сервис, который хочет присутствия на Fire TV дальше, обязан выпустить новое приложение. Vidaa от Hisense – самая маленькая из шести по доле, но самая быстрорастущая бюджетная TV-платформа в мире, со стеком HTML5, похожим на Tizen и webOS. Эта статья проходит по шести платформам по очереди, даёт матрицу форматов и DRM, которая решает, какие файлы вам нужно выкатывать, и заканчивается рекомендацией по очерёдности сборки для команды, которой надо закрыть все шесть на ограниченном бюджете.

Зачем это важно

Если ваш продукт – это стриминговый сервис, VOD-библиотека, платформа live-событий или CTV-канал с рекламной моделью, и ваши зрители хотят смотреть его на телевизоре в гостиной, обойти TV-слой так, как вы обходите неподдерживаемый веб-браузер, не получится. Телевизор – это место, где премиальное видео потребляется в 2026 году: более половины домохозяйств в мире уже имеют Smart TV (electroIQ, Smart TV Statistics 2025), и доля стримингового времени, которое проходит на ТВ, а не на телефоне, продолжает расти каждый квартал. Каждый телевизор поставляется с одной операционной системой; эта ОС решает, какие приложения она запустит; пользователь не ставит другую ОС, чтобы посмотреть ваш сериал. Четыре задачи стримингового продукта на ТВ – отрисовать UI, которым можно управлять пультом, проиграть видео, обработать DRM и получение лицензии, отчитаться QoE-телеметрией – приходится делать шестью разными способами, потому что кросс-платформенного рантайма, который работал бы на каждом современном телевизоре так, как браузер работает на каждом современном десктопе, не существует. Статья даёт структурную картинку шести платформ – какие из них делят модель HTML5-веб-приложения, какие делят Java/Kotlin-нативную модель поверх ExoPlayer, какая представляет собой остров проприетарного языка, у какой самый сильный медиа-стек, и какая только что сменилась под ногами – чтобы порядок миграции, матрица форматов и расстановка команды собрались заранее, до того, как первая канбан-карточка будет написана.

Шесть платформ и их модели программирования

Первое, что важно усвоить, – шесть TV-платформ распадаются не на шесть независимых кодовых баз, а на три чётких группы по моделям программирования. Две делят HTML5-веб-модель с JavaScript-управляемым <video>. Две делят Java/Kotlin-нативную модель поверх ExoPlayer (до недавнего времени – см. ниже). Одна использует проприетарный скриптовый язык BrightScript поверх SceneGraph-фреймворка. И одна только что полностью сменила модель программирования. Если так сгруппировать, разрастание платформ становится управляемым: вы пишете три плеера, а не шесть.

Рисунок 1. Шесть Smart TV платформ разбиты на три группы по моделям программирования плюс Vega OS как новичок 2025–2026 года, который ломает старую четвёрку. Три плеерных кодпасса закрывают пять из шести поверхностей; Vega OS – джокер, добавляющий четвёртый.

Группа HTML5-веб-приложений – Samsung Tizen, LG webOS и Hisense Vidaa – гоняет HTML-страницу внутри браузерного движка, который поставляется с телевизором, с дополнительными device-API, которые платформа отдаёт в JavaScript для работы с пультом, системным видеоплеером, DRM-флоу и платформенными lifecycle-событиями вроде «телевизор уходит в standby». Браузерный движок – это форк WebKit на Tizen, форк WebKit на webOS до версии 6 и форк Chromium на более поздних, и Linux-кастомный браузер на Vidaa. Страница пакуется в файл .wgt (по сути ZIP) на Tizen, в .ipk на webOS и в аналогичный формат на Vidaa, подписывается через девелоперский портал вендора и заливается на устройство.

Группа Android-натив – Android TV и Google TV от Google и почти-уже-legacy Amazon Fire OS – гоняет приложения на Kotlin или Java, упакованные в Android .apk, с плеером на Media3 / ExoPlayer (современный open-source медиа-плеер, который поддерживает Google; в мае 2026 стабильная версия – Media3 1.10) и DRM через стандартный фреймворк Android MediaDRM с Widevine как доминирующей схемой. Android TV – это платформа с самым сильным медиа-стеком из шести, потому что сам Android изначально проектировался как медиа-способная мобильная ОС; TV-вариант наследует всё это.

Группа Roku – группа из одного. Roku OS гоняет приложения, написанные на BrightScript – проприетарном языке, который Roku создал в 2000-х, с UI-фреймворком SceneGraph, где разметка описывается в XML, а поведение в BrightScript. Видеоплеер в Roku – это конкретный нод сцены под названием Video, который принимает HLS или DASH манифест и блок DRM-параметров. Каждое стриминговое приложение на Roku – Netflix, YouTube, Hulu, Disney+, каждый канал в Roku Channel Store поменьше – использует под капотом тот же Video-нод.

И наконец Amazon Vega OS – это новая группа моделей программирования сама по себе. UI и приложения Vega OS пишутся на React Native плюс стандартные веб-технологии поверх Linux-базы; Vega – это не Android, и Android .apk на ней не запускается (Amazon Developer, Run your app on Vega Virtual Device or Fire TV Stick, 2026). Первым устройством с Vega стал Fire TV Stick 4K Select в октябре 2025 года, а к январю 2026 Amazon подтвердил, что все будущие Fire TV Stick будут запускаться с Vega, завершая линейку Android-производных Fire OS-стиков (AFTVnews, Amazon confirms all future Fire TV Sticks will run Vega OS, апрель 2026). Импликация для команды, делающей приложение, достаточно крупная, чтобы мы дали Vega отдельный раздел ниже.

Сводка, которая больше всего помогает при планировании дорожной карты: если вы делаете один HTML5-плеер, вы закрываете Tizen, webOS и Vidaa с шиммами для device-API. Если вы делаете одно Android-приложение на ExoPlayer, вы закрываете Android TV / Google TV сегодня и (важно) продолжаете закрывать установленную базу устройств на Android-Fire OS, которая ещё несколько лет приносит выручку. Если вы делаете одно BrightScript-приложение на SceneGraph, вы закрываете Roku. Приложение для Vega OS – это отдельный React Native проект. Четыре реализации, шесть платформ – измеримый инженерный план.

Доли рынка и почему они задают порядок сборки

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

Глобальный рынок Smart TV-ОС в 2026 году возглавляет Android TV / Google TV – примерно 35–40 процентов используемых телевизоров в мире; за ним Samsung Tizen примерно 19–23 процента, LG webOS 12–25 процентов (разброс между источниками большой: одни считают активные устройства, другие – поставки), Roku 10–11 процентов. Amazon Fire TV – около 8 процентов глобальной установленной базы. Vidaa-на-Hisense и Vidaa-на-Toshiba в рынках, где Hisense владеет TV-брендом Toshiba, держат остаточные 3–8 процентов и быстрее всего растут в бюджетном сегменте (electroIQ, Smart TV Statistics 2025).

Рынок США выглядит совсем иначе. В американских домохозяйствах с широкополосным интернетом по состоянию на первый квартал 2026 года Roku ведёт с примерно 28 процентами используемых телевизоров, Samsung Tizen второй с 23 процентами, а Amazon Fire TV, LG webOS и Vizio SmartCast (Vizio SmartCast – отдельная платформа, которую мы обсуждаем только сноской в конце статьи) занимают середину (Parks Associates, Roku and Samsung Dominate Connected TV Platforms, апрель 2026). Apple tvOS, игровые консоли и Android TV / Google TV держат меньшие доли в США, потому что американский рынок недооценивает Android TV относительно его глобального присутствия.

Арифметика порядка сборки следующая. Допустим, у команды есть бюджет на три TV-приложения в первый год TV-присутствия. Подбор меняется в зависимости от географии аудитории.

  • Продукт с приоритетом США выпускает Roku первым (потому что Roku – 28% американских ТВ, а BrightScript – единственный путь), Samsung Tizen вторым (потому что Tizen – 23% американских ТВ, и тот же HTML5-кодпасс переиспользуется на LG webOS и Vidaa с шиммами), и Amazon Fire TV / Vega третьим (потому что Amazon владеет категорией стриминг-стиков в Северной Америке, и миграция на Vega теперь срочная). LG webOS – fast-follower, который переиспользует ваш Tizen-JavaScript.
  • Продукт с приоритетом Европы выпускает Samsung Tizen и LG webOS первыми (потому что Samsung и LG доминируют в европейских гостиных, и ваш HTML5-кодпасс закрывает обе), Android TV / Google TV вторым (потому что приставки от операторов в Европе массово на Android TV), и Vidaa третьим (потому что Hisense и Toshiba набирают долю в европейском бюджетном сегменте).
  • Глобальный продукт выпускает Android TV / Google TV первым (потому что это самый крупный глобальный кусок), Tizen и webOS как HTML5-пару вторыми (потому что они покрывают Корею, Европу и Ближний Восток разом), и Roku третьим (потому что американская доля слишком большая, чтобы её игнорировать, даже если глобальная маленькая).

Продукт, нацеленный на один регион, редко обязан бороться со всеми шестью в первый год. Исключение – крупный OTT-бренд, у которого контракты требуют присутствия на каждой значимой поверхности с первого дня (Netflix, Disney+, Max, Apple TV+, Prime Video), и даже там инженерная реальность такая, что каждое приложение выходит по своему графику, а не одновременно.

Samsung Tizen: AVPlay, HTML5 и мир, где DRM-первый – PlayReady

Tizen от Samsung – это ОС на каждом Samsung Smart TV, выпущенном с 2015 года, сейчас на девятой мажорной версии. Tizen 9.0 вышел на линейке Samsung 2025 года, на лайнап 2024-го раскатка началась в середине 2025-го, а на лайнап 2023-го – в начале 2026 года (Tom's Guide, Samsung is giving these older TVs a big Tizen OS upgrade, 2026). Tizen 9.0 принёс редизайн меню настроек и привёл дизайн-язык ТВ в соответствие с One UI на телефонах Samsung – заметно зрителю, но почти ничего не меняет для разработчиков приложений.

Приложение Tizen – это HTML5-приложение, которое работает внутри Samsung Web Engine – форка WebKit. Страница рендерится на экран, слушает события пульта через стандартные JavaScript-обработчики клавиш и проигрывает видео одним из двух путей: стандартным HTML5 <video>, который работает для повседневного воспроизведения, или AVPlay – проприетарным JavaScript-API Samsung, который даёт более глубокий контроль над медиа-пайплайном. AVPlay – это production-путь, который использует любой стриминговый сервис любого размера на Tizen. Причина в том, что HTML5 video element на Tizen не отдаёт элементы управления, которые нужны стриминговому продукту: DRM с HTTP-хедерами в лицензионных запросах, тонкие подсказки ABR, frame stepping для trick play, переключение аудиотреков и сабтрэков с метаданными, и device-уровневые события, которые говорят приложению, что ТВ уходит в standby через 200 миллисекунд и пора прекратить тянуть сегменты. AVPlay впервые появился в Tizen 2.3 в 2015 году и улучшается каждый год (Samsung Developer, AVPlay API, 2026).

Стриминговая поддержка AVPlay покрывает HLS, MPEG-DASH, Smooth Streaming и progressive download, с переключением DASH-аудиотреков с Tizen 5.0 и DASH-сабтрэков с поддержкой TTML и WebVTT (Samsung Developer, Playback Using AVPlay, 2026). DRM-матрица – та часть, которая удивляет инженеров, пришедших с веба. PlayReady – доминирующий DRM на Tizen: это DRM, под который Samsung сделал first-class поддержку, под который сертифицируются все стриминговые партнёры Samsung, и под который проектировался метод setDrm() в AVPlay. Widevine Modular тоже поддерживается как вторичный DRM, добавлен позже и полезен, когда один и тот же CMAF-источник с шифрованием в cbcs отдаётся каталогу с multi-DRM, но именно PlayReady – путь, под который заточена сертификация Samsung.

Деталь, на которой команды спотыкаются, – реальная кодек-лестница, которую Tizen принимает. AV1 добавили в Tizen-ТВ начиная с модельного года 2020, но у Samsung TV 2021 года и позже есть давний известный баг, когда AV1 поверх MPEG-DASH с CMAF-сегментами в браузере не воспроизводится корректно – дефект, который Samsung не починил по состоянию на середину 2025 года и который касался всех Samsung TV-браузеров того поколения (Samsung Community, Tizen browser AV1 codec problem with DASH, 2025). AVPlay той же браузерной проблемы не имеет, но команда, которая выкатывает TV-приложение как хостовую веб-страницу вместо упакованного AVPlay-приложения, под этот баг попадает. Production-рекомендация 2026 года: выкатывать AVPlay-путь и использовать H.264 (AVC) или H.265 (HEVC) как основные кодеки, а AV1 – как opt-in вторичный путь, который вы флаг-тестите на каждом модельном году.

Модель ввода с пульта – вторая часть Tizen, на которой команды спотыкаются. Tizen-приложения получают события пульта через Samsung-специфичный JavaScript-эвент с фиксированной картой кодов клавиш (OK, четыре стрелки, back, home, четыре цветные кнопки, play/pause/stop, перемотка), и приложение обязано зарегистрировать те клавиши, которые хочет получать, через tizen.tvinputdevice.registerKey(). Незарегистрированные клавиши съедаются системой и не доходят. Это источник классического бага «back-кнопка не работает на Samsung-ТВ», который выкатывает каждая команда хотя бы один раз.

LG webOS: нативный HTML5 и современный Chromium-движок

webOS от LG – это ОС на каждом LG Smart TV, выпущенном с 2014 года. Текущая линейка – webOS 25, который раскатывался поэтапно с четвёртого квартала 2025 по первый квартал 2026 года на новые модели ТВ и длинный список старых моделей вплоть до 2022 года (Tom's Guide, Millions of LG TVs are getting a free upgrade to webOS 25, 2025; FlatpanelsHD, webOS 25 rolling out to older LG Smart TVs, октябрь 2025).

Модель программирования – HTML5-веб-приложения, упакованные в .ipk, по духу похожи на Tizen, но с одним важным отличием: базовый браузерный движок на webOS 6 и позже – форк Chromium, а не WebKit. Этот единственный сдвиг привёл webOS в соответствие с современным вебом так, как Tizen не сделал. Стандартные API, которые поставляет Chromium – Promise.allSettled, современный async/await в актуальной базе V8, современный IntersectionObserver, Web Workers с современной семантикой, ECMAScript-добавления после 2020-го – работают на webOS так же, как в десктопном Chrome. Те же API на Tizen ограничены тем форком WebKit, который Samsung поставил в этом модельном году.

Для воспроизведения webOS даёт два пути. Первый – стандартный HTML5 <video> с HLS-манифестом; webOS играет HLS нативно (Dolby OptiView, How to Build a webOS TV Streaming App, 2024). Второй путь, который и используют production-команды, – Media Source Extensions (MSE) и Encrypted Media Extensions (EME), которые webOS выставляет через свой Chromium-движок. MSE позволяет JS-плееру вроде hls.js, Shaka Player или dash.js скармливать байты сегментов в <video>. EME даёт тому же плееру договариваться о ключах с лицензионным сервером Widevine или PlayReady через CDM, который webOS поставляет в прошивке. PlayReady и Widevine Modular работают на webOS 3.0 и позже, причём Widevine Classic deprecated с webOS 236 (Dolby OptiView, A Complete List of Limitations for Native WebOS Media Player, 2024).

Загвоздка на webOS та же по форме, что и на Tizen, но в другом месте. webOS поддерживает HLS нативно, но большинство webOS 5 ТВ имплементируют HLS версии 7, что соответствует Pantos draft 14 из 2014 года – это на восемь лет старше текущего набора фич HLS. Список неподдерживаемых HLS-тегов на тех ТВ длиннее списка поддерживаемых. Поддержка EXT-X-DISCONTINUITY, ключевая для server-side ad insertion, – пятнистая. EXT-X-PROGRAM-DATE-TIME и EXT-X-PART для Low-Latency HLS на старых устройствах отсутствуют. Production-рекомендация 2026: выкатывать JS-плеер на MSE/EME-пути (Shaka Player и hls.js оба нормально работают на webOS Chromium), а не полагаться на нативный HLS, потому что JS-плеер – это единственный путь к современному набору фич на старых webOS-прошивках.

AV1 поддерживается только на 8K-моделях с 8K Upgrader-приставкой по состоянию на середину 2025 года (LG USA Support, LG TV – Supported Video Codecs, 2025). Для массовых 4K LG-ТВ ставка – H.264 и H.265. DASH официально нативным плеером не поддерживается, но на практике через MSE-путь имеет ограниченную совместимость для VOD.

Модель пульта на webOS ближе к десктопному вебу, чем у Tizen. Magic Remote на LG-ТВ поддерживает стандартные keyboard-события JavaScript-приложений плюс webOS-специфичные события для OK, back, лупы-курсора и цветных кнопок. Платформенно-специфичный шим на webOS меньше, чем на Tizen, – одна из причин, по которой команды, выпускающие на обе платформы, считают порт на webOS более лёгким.

Roku BrightScript: проприетарный стек, который держит американские гостиные

Roku – необычный в этой шестёрке, и при этом он же лидер американского рынка. Приложение Roku – Roku называет их каналами – пишется на BrightScript, Roku-only скриптовом языке, который сочетает синтаксис, навеянный BASIC, с объектно-ориентированными добавлениями и рантаймом внутри Roku OS. UI-фреймворк – SceneGraph, декларативная пара XML + BrightScript, где разметка и компоненты описываются в XML, а поведение в BrightScript. SceneGraph – единственный современный способ собрать приложение Roku; старая императивная связка screen-and-scene из ранней эпохи Roku deprecated.

Видеоплеер на Roku – конкретный нод SceneGraph под названием Video. Вы создаёте нод Video, отдаёте ему объект content с URL манифеста и объявлением формата стрима, вызываете .control = "play". Это канонический паттерн в каждом канале Roku (Roku Developer, Video, 2026; Roku Developer, Playing Videos, 2026).

sub initPlayer()
    m.video = m.top.findNode("videoPlayer")
    contentNode = createObject("roSGNode", "ContentNode")
    contentNode.url = "https://example.com/manifest.m3u8"
    contentNode.streamFormat = "hls"
    m.video.content = contentNode
    m.video.control = "play"
end sub

Поддерживаемые форматы Roku Video node – HLS и MPEG-DASH. Что именно вы скармливаете, объявляется через streamFormat = "hls" или streamFormat = "dash" на content-ноде. Video node парсит манифест, тянет сегменты, гоняет собственную ABR-логику Roku и играет. Поведение fetch конфигурируется – можно переопределить HTTP-заголовки запроса, передать Bearer-токен для подписанных URL, перехватить манифест перед началом и переписать его при необходимости.

DRM на Roku – PlayReady и Widevine. Параметры DRM крепятся к той же content-ноде через блок drmParams, в котором указан URL лицензионного сервера, его HTTP-заголовки (для Bearer-токенов) и (для Widevine) байты сервис-сертификата как base64 (Roku Developer, Content metadata, 2026). Persistent-лицензии для offline-просмотра поддерживаются для PlayReady на современных моделях Roku, с парой нюансов по renewal-у, которые команды должны тестить под конкретный лайнап моделей.

Три Roku-специфичных вещи обязательны к пониманию до выпуска.

Первое: сертификация Roku обязательна и медленная. Новый канал проходит многонедельный ревью команды Channel Manager до того, как появится в Roku Channel Store. Ревьюеры тестят канал на репрезентативной подборке моделей Roku (линейка Roku Express внизу, Roku Ultra наверху, Roku TV-модели посередине) и реджектят канал за performance, UI-language и за провалы сертификационных тестов, которые надо чинить и пересабмитить. Планируйте окно в 4–8 недель между code-complete и появлением в сторе.

Второе: потолок производительности на стартовой Roku Express ниже, чем на любой другой TV-платформе. Самые дешёвые модели Roku работают на крайне скромном железе – одноядерный ARM-CPU на частоте ниже 1 ГГц, 256 МБ RAM, без GPU – и приложение должно отрисовывать UI внутри этого бюджета. Сертификация Roku тестит на этих младших устройствах, и UI, который плавно крутится на Roku Ultra, но проседает по FPS на Roku Express, будет реджекнут. Дисциплина, которую это накладывает, реальная: спрайт-шит UI, аккуратный бюджет памяти в BrightScript, отказ от больших структур данных в памяти за пределами текущего экрана.

Третье: BrightScript – единственный язык, который Roku поддерживает. Нет пути на Kotlin, нет JS-пути с настоящим плеер-API, нет React Native. Инвестиция в BrightScript-таланты реальная, сообщество маленькое (по сравнению с веб- или Android-разработкой), и пул разработчиков ценится соответственно. Обратная сторона – Roku самая стабильная из шести: BrightScript-канал, который работает на Roku TV 2024 года, работает на Roku TV 2018 года с минимальными правками, потому что SceneGraph не менялся почти десятилетие.

Android TV и Google TV: ExoPlayer, Media3 и самый сильный нативный стек

У Google-TV-платформы два имени, которые инженерам важно понимать как по сути одну платформу. Android TV – это Google-брендированная версия, которая ставится на приставки операторов и часть линеек TV-вендоров. Google TV – это user-facing бренд, который ставится на более новые ТВ (Sony Bravia с 2021, TCL почти везде, Hisense в Google-брендированных моделях, каждый Chromecast with Google TV) и который добавляет Google-слой content discovery сверху. С точки зрения разработчика приложения – это одна и та же платформа: те же API, тот же Play Store, тот же Media3 / ExoPlayer под капотом.

Приложение – стандартное Android-приложение на Kotlin или Java, упакованное в .apk (всё чаще в Android App Bundle), дистрибуция через Google Play. Видеоплеер – Media3 / ExoPlayer, open-source медиа-библиотека, которую Google поддерживает как стандартный Android-медиа-стек. Media3 1.10 – стабильная версия по состоянию на март 2026 (Android Developers, Media3, 2026). ExoPlayer закрывает HLS, MPEG-DASH, SmoothStreaming и progressive playback одной библиотекой, с встроенным ABR, с переключением аудио и сабтрэков как стандартными API, и с Widevine-DRM, интегрированным через Android MediaDRM (Android Developers, HLS, 2026; Android Developers, DASH, 2026).

DRM-картина на Android TV – самая чистая из шести. Widevine L1 – hardware-backed уровень безопасности, который требуется премиальным каталогам для 1080p и 4K, – доступен на каждом современном Android TV-устройстве. PlayReady на Android TV обычно не разворачивают (это Microsoft-DRM, и платформе Google нет причин её ставить); FairPlay – Apple-only и отсутствует. Если ваша DRM-стратегия – Widevine везде кроме Apple, и FairPlay на Apple, то Android TV ложится в Widevine-половину без трения.

Минимально-жизнеспособная настройка ExoPlayer на Android TV – немного Kotlin:

val player = ExoPlayer.Builder(context).build()
val mediaItem = MediaItem.Builder()
    .setUri("https://example.com/manifest.mpd")
    .setDrmConfiguration(
        MediaItem.DrmConfiguration.Builder(C.WIDEVINE_UUID)
            .setLicenseUri("https://drm.example.com/widevine")
            .build()
    )
    .build()
player.setMediaItem(mediaItem)
player.prepare()
player.play()

Этот фрагмент играет Widevine-защищённый MPEG-DASH-стрим на любом современном Android TV. Остальное – ABR-логика, отрисовка субтитров, переключение аудиотреков, форматирование captions по CEA-608/708 или WebVTT, fast-channel-change для live, DVR-скраббинг – встроено в ExoPlayer с разумными умолчаниями, которые вы переопределяете только под конкретное production-требование.

Модель пульта Android TV – стандартный Android-KeyEvent, знакомый каждому Android-разработчику. TV-специфичные клавиши (KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_CENTER, KEYCODE_BACK, KEYCODE_MEDIA_PLAY_PAUSE, цветные кнопки) приходят в тот же onKeyDown. TV-специфичный UI-фреймворк – Leanback, набор Jetpack-библиотек, которые дают каноничный Browse-Rows-Of-Cards UI Android TV-приложений, – но использовать его не обязательно, и всё чаще современные Android TV-приложения берут Jetpack Compose for TV.

Главная причина, по которой Android TV / Google TV даёт самый сильный медиа-стек из шести, – платформа наследует всю Android-медиа-подсистему. Аппаратное ускорение кодеков через MediaCodec. Полный FFmpeg-совместимый extractor/muxer-набор через MediaExtractor и MediaMuxer. Background-аудио через MediaSession. Picture-in-picture на тех ТВ, что её поддерживают. AV1-декодирование на каждом современном Android TV-чипсете. Опыт Android TV настолько хорош, насколько хорош базовый чипсет, а большинство современных Android-ТВ ставят сильные чипсеты.

Amazon Fire TV: миграция на Vega – главная история 2026

Amazon Fire TV раньше был прямолинеен: форк Android. Приложение Fire TV – это Android-приложение, дистрибуция через Amazon Appstore вместо Google Play, плюс горстка Amazon-специфичных entitlements. Один Kotlin/Java-кодовая база, нацеленная на Android TV, выкатывалась на Fire TV с минимальными изменениями – другой стор, другой ads SDK, тот же ExoPlayer под капотом.

Эта история закончилась в октябре 2025 года. Fire TV Stick 4K Select, вышедший в октябре 2025, стал первым стриминговым устройством, поставляющимся с Vega OS – совершенно новой Linux-ОС от Amazon, построенной с нуля на React Native и стандартных веб-технологиях, без какого-либо наследия AOSP в стеке (Dolby OptiView, Amazon Launches Vega OS for Fire TV, 2025). Fire TV Stick HD последовал в начале 2026. И в январе 2026 Amazon обновил девелоперскую документацию, заявив, что все будущие Fire TV Stick будут запускаться на Vega OS (AFTVnews, Amazon confirms all future Fire TV Sticks will run Vega OS, апрель 2026; 9to5Google, Amazon will ditch Android on 'all' future Fire TV Sticks, апрель 2026).

Импликация для команды приложения не из тонких. Android .apk на Vega OS не запускается. Слоя совместимости с Android-приложениями нет; новая платформа – это другая ОС с другой моделью приложения. Каждый стриминговый сервис, который хочет присутствия на новой линейке Fire TV Stick – а со временем и на каждом Fire TV-устройстве, потому что раскатка Vega постепенно вытесняет Android-Fire OS – обязан выпустить новое приложение, написанное на React Native плюс веб-технологиях через инструментарий Vega (Amazon Developer, Run your app on Vega Virtual Device or Fire TV Stick, 2026). Amazon публикует migration-гайды и эмулятор Vega Virtual Device, но миграция – не «нажми кнопку», это переписывание UI-слоя на React Native и медиа-слоя под Vega player API.

Есть переходная реальность, которая чуть смягчает срочность. Vega OS – только на новых устройствах. Существующая установленная база Fire TV-устройств – каждый Fire TV Stick 4K, Fire TV Cube, Fire TV Omni, Fire TV Edition и любой Amazon-брендированный ТВ, выпущенный до октября 2025, – продолжает работать на Fire OS, Android-производной системе. Эти устройства будут гонять ваше существующее Android-Fire TV-приложение в обозримом будущем. Amazon не объявил end-of-life даты для Fire OS на установленной базе. Вопрос миграции, таким образом, про новых зрителей – каждый новый Fire TV Stick, который пользователь покупает с конца 2025-го, – это Vega-устройство, и зритель, который не видит ваше приложение в Vega Appstore, – это зритель, которого выиграет ваш конкурент.

Рекомендация по порядку для команды, у которой уже есть Fire OS-приложение и которая хочет вдумчиво подойти к миграции:

  1. Держите Fire OS-приложение в выпуске на установленной базе. Только баг-фиксы; никаких новых инвестиций.
  2. Параллельно стартуйте Vega-приложение на React Native + web-инструментарии Amazon. Это новый проект; кадры выделяйте соответственно. Планируйте 3–6 месяцев на сборку с нуля для базового приложения с логином, каталогом, просмотром и базовой телеметрией; дольше, если есть live, скачивание или гейтинг премиального контента.
  3. Выкатите Vega-приложение в Vega Appstore сразу после сертификации Amazon.
  4. Дату сансета Fire OS-приложения определяйте по реальной телеметрии установленной базы в 2027–2028. Не фиксируйте дату, которую сам Amazon не объявил.

Более глубокая картина: Vega OS – это попытка Amazon выйти из Android-зависимости, которая давала Google тихое право вето на дорожную карту Fire TV целое десятилетие. С точки зрения разработчика приложения это вынужденный rewrite. С точки зрения отрасли это самое разрушительное событие Smart TV-платформы со времени выхода Apple tvOS в 2015 году.

Рисунок 2. Хронология платформы Fire TV. Fire TV Stick 4K Select октября 2025 – первое Vega OS-устройство; январское 2026 обновление документации Amazon Developer подтвердило, что все будущие Fire TV Stick будут на Vega; существующая установленная база Android-Fire OS продолжает поддерживаться, пока Amazon не объявит дату EOL.

Vidaa: HTML5-платформа Hisense, которую не стоит игнорировать

Самая маленькая из шести по глобальной доле – она же самая быстрорастущая ОС в сегменте бюджетных ТВ. Vidaa OS – Linux-смарт-TV ОС от Hisense, ставится на большинство современных Hisense-ТВ и на Toshiba-ТВ, которые Hisense производит по лицензии в рынках вроде Европы, Индии и Южной Америки. Активная установленная база – десятки миллионов телевизоров на 2026 год и растёт с каждым проданным Hisense (VIDAA, VIDAA OS, 2026).

Модель программирования – HTML5-веб-приложения, по форме похоже на Tizen и webOS. Vidaa-приложение – упакованная HTML-страница, которая работает внутри Vidaa-HTML5 движка – Linux-браузерного стека, кастомного для Vidaa, а не форка WebKit или Chromium. Веб-движок выставляет платформенные device-API в стиле Tizen Web APIs: media-player plugin module, поддерживающий HTTP, HLS, MPEG-DASH и Microsoft Smooth Streaming, DRM-manager для лицензионного флоу, streaming-manager для playback-сессии и API ввода с пульта, который маппит клавиши Vidaa-spec-пульта (VIDAA, WebApp Development Technical Guide, 2025).

DRM на Vidaa выстроен вокруг PlayReady и Widevine для премиального контента и Vidaa-специфичного DRM для партнёрского. Кодек-лестница – H.264 (AVC) и H.265 (HEVC) на каждой современной модели, причём HEVC массово развёрнут, потому что чипсет-партнёр Hisense годами поставляет HEVC-декодеры в кремнии ТВ. AV1 идёт на верхних моделях 2024–2025 лайнапа Hisense, но в production-коде закладываться не стоит.

Причина, по которой Vidaa нельзя пропускать, – партнёрская экономика. Vidaa-на-Toshiba в европейском рынке и Vidaa-на-Hisense в глобальном value-сегменте – это платформы, которые встречаются в домохозяйствах, не купивших Samsung или LG. Этих домохозяйств много в рынках, где цена ТВ имеет значение, и стриминговый сервис, который таргетирует эти рынки без Vidaa-приложения, отдаёт всю бюджетную TV-аудиторию. Переиспользование кода с Tizen/webOS HTML5-приложения на Vidaa высокое (тот же <video>, тот же MSE/EME-паттерн, тот же JS-плеер вроде Shaka или hls.js, плюс Vidaa-шим под device-API), так что маржинальная стоимость добавить Vidaa четвёртой HTML5-целью после Tizen и webOS небольшая.

Матрица форматов и DRM по всем шести платформам

Матрица ниже – самый полезный артефакт статьи. Если вы кодируете и упаковываете каталог один раз, что принимают все шесть TV-платформ? Ответ – CMAF-упакованный H.264 или H.265 источник, шифрованный в режиме .cbcs Common Encryption, отдаваемый трём разным DRM-системам через три разных лицензионных флоу.

ПлатформаМодель программированияHLSMPEG-DASHWidevinePlayReadyFairPlayHEVCAV1
Samsung TizenHTML5 + AVPlayдадада (вторичный)да (основной)нетдачастично (баг браузера AV1+DASH)
LG webOSHTML5 + MSE/EMEда (HLS v7 ограниченно)частично (через MSE)даданетдатолько 8K-модели
Roku OSBrightScript + SceneGraphдадададанетдановые модели
Android TV / Google TVKotlin/Java + Media3 ExoPlayerдадада (L1)нет (не разворачивают)нетдада (современные чипсеты)
Fire TV (Fire OS)Kotlin/Java + Media3 ExoPlayerдадада (L1)нетнетдада (современные модели)
Fire TV (Vega OS)React Native + webдадададанетдада
Vidaa OSHTML5 + плагин-плеердадададанетдановые модели
Рисунок 3. Матрица форматов, кодеков и DRM по шести Smart TV-платформам в 2026. Widevine – единственный DRM, который работает на всех платформах; PlayReady работает везде кроме Android TV / Google TV (Google на собственной платформе его не разворачивает). HLS работает везде. AV1 идёт неравномерно.

Из матрицы вытекают три импликации.

Во-первых, ваш encoding-пайплайн может быть single-source. Если каждый тайтл упакован один раз как CMAF (лестницы H.264 и H.265, фрагментированный MP4, шифрование в .cbcs по ISO/IEC 23001-7), те же байты обслуживают все платформы в матрице. Различия – в слое манифеста (HLS-плейлисты для нативного iOS / tvOS Safari и AirPlay-стиля плеера; DASH-манифесты для всего остального) и в слое лицензий (Widevine для Android TV и большинства не-Apple; PlayReady для Tizen и значительной части webOS, Roku, Vega и Vidaa; FairPlay для Apple). Статья этой серии про CMAF – CMAF: формат упаковки, объединивший HLS и DASH – это референс на то, как эта упаковка выглядит в production.

Во-вторых, стратегия лицензионного сервера по умолчанию multi-DRM. Ни один DRM не покрывает все платформы. Widevine покрывает Android, ChromeOS, Chromium-на-webOS, Roku, Vidaa, Vega и Tizen как вторичный. PlayReady покрывает Tizen как первичный, webOS, Roku, Vidaa, Vega и Windows/Xbox. FairPlay покрывает Apple iOS/iPadOS/tvOS/macOS. Любой премиальный продукт выкатывает все три через одного лицензионного вендора (PallyCon, EZDRM, Axinom, BuyDRM, AWS или in-house) и конфигурирует плеер на каждой платформе так, чтобы он ходил на лицензионный эндпоинт, соответствующий DRM, который платформа отдаёт. Подробности кросс-DRM-механики – в подробном разборе Common Encryption.

В-третьих, безопасный верхний кодек – HEVC, а не AV1. Все TV-платформы в матрице ставят аппаратные HEVC-декодеры. AV1 идёт неравномерно – сильно на современных Android TV-чипсетах, есть на новых Roku-моделях, ограничен 8K-апгрейдером на webOS, сломан в браузерном пути на DASH у Samsung-ТВ с 2021 года минимум до середины 2025-го. Команда, которая выпускает HEVC как верхнюю ступень и AV1 как opt-in следующую, – это безопасная ставка на 2026 год. Команда, которая выпускает только AV1, выпустила продукт, который не играет на заметной доле установленной базы.

История телеметрии и QoE на ТВ

То, что должен эмитить production-плеер на любой TV-платформе, на всех шести выглядит одинаково: startup time (миллисекунды от play() до видимости первого кадра), события rebuffer с причиной (сеть, стол декодера, ожидание ABR-свича), ABR-свичи с причиной, коды ошибок с контекстом, CDN-хост, отдавший каждый сегмент, скользящее среднее throughput, скользящее среднее buffer level. Схема – та же, что для веб-плееров в Observability плеера и метриках, которые реально едут в прод. Вендоры – те же: Mux Data, Conviva, Bitmovin Analytics, Datazoom, NPAW. Различия – в форме интеграции.

На Tizen AVPlay-API выставляет медиа-события через JS-коллбэки (onstreamcompleted, onbufferingstart, onbufferingcomplete, onerror), которые вы цепляете в аналитический SDK ровно так же, как цепляли бы HTML5 video element в вебе. На webOS стандартные HTML5-медиа-события плюс MSE buffer-события делают то же самое. На Roku Video-нод выставляет observer-поля (state, position, bufferingStatus, errorCode), которые BrightScript-наблюдатели слушают и репортят. На Android TV и Fire OS интерфейс AnalyticsListener в ExoPlayer даёт каждое событие, которое нужно Mux Data и Conviva, с нулевым glue-кодом (их SDK включают Android TV-интеграцию, которая слушает AnalyticsListener напрямую). На Vidaa HTML5-медиа-события плюс Vidaa-специфичные player-state callbacks выставляют ту же поверхность. На Vega OS React Native player API выставляет медиа-события через lifecycle компонента React; аналитическая интеграция Amazon описана в Vega developer guide.

Неочевидное в TV-телеметрии – события выглядят почти идентично веб-телеметрии, но device-state контекст отличается важно. У ТВ есть события standby-mode, которых нет в вебе. У ТВ есть события переключения HDMI-входа, которых нет в вебе. У ТВ часто бывает memory pressure, которое триггерит GC в моменты, которые ваша таймлайн-логика не предсказывает, и это всплывает как rebuffer-события, которые QoE-дашборд изначально записывает на сеть. Телеметрия, которая включает модель устройства и версию прошивки в каждое событие, позволяет аналитическому слою отделить «у вас баг в приложении» от «у этой прошивки баг» – оба распространены на ТВ.

Где здесь Фора Софт

Фора Софт с 2005 года делает видеопродукты, и ТВ был в списке поверхностей с самого начала. Наша работа закрывает стриминговые и OTT-платформы с приложениями для Tizen, webOS, Android TV и Roku в production для клиентов в e-learning, live shopping, телемедицине-образовании и видеонаблюдении; WebRTC-продукты, которые мостируются в ТВ через HLS/DASH-egress (архитектура – в мосте WebRTC → HLS); AR/VR-продукты, у которых компаньон-приложение на ТВ делит один CMAF-источник со шлемом. TV-слой редко первый, о котором задумывается продукт-команда, и почти всегда один из самых выручкоёмких по viewer-часу после выпуска. Мы делаем TV-приложения как часть стриминговых проектов и сопровождаем их на хвостах прошивок, о которых инженерная организация больше не хочет думать.

Распространённая ошибка, которую стоит назвать

Самая частая Smart TV-ловушка, которую команда выпускает в первый год, – тестить только на Samsung Tizen TV последних 12 месяцев и предполагать, что остальной TV-рынок ведёт себя так же. Линейка Tizen 2025 года крутит Tizen 9.0 с переделанным меню настроек, AVPlay с последними фичами, AV1-декод на верхних моделях и Web Engine, который нормально жуёт современный JavaScript. Ни одна из этих характеристик не обобщается. Линейка Tizen 2022 крутит старый Tizen со старым Web Engine. Линейка webOS 2022 крутит HLS версии 7 с длинным списком неподдерживаемых тегов. Roku Express, который пользователь купил в 2022 году, имеет 256 МБ RAM и одноядерный CPU ниже 1 ГГц. Hisense Vidaa 2024 года крутит кастомный браузер, который не имплементирует каждый Chromium-API. QA-матрица, которая тестит на сейчасном топовом Samsung, не тестит Smart TV-рынок; она тестит его маленький угол. Правильная тест-матрица закрывает хотя бы по одному устройству каждого из последних четырёх модельных лет на каждой платформе, которую вы таргетируете, причём самое дешёвое устройство на Roku, самый дешёвый Hisense Vidaa и медианная webOS-прошивка – три самых сложных теста.

Заметка про tvOS и Vizio SmartCast

Две TV-платформы мы намеренно не разбирали подробно – каждая стоит одного предложения. Apple tvOS – ОС на Apple TV-приставке, единственная в TV-рынке, на которой работает настоящее нативное приложение на Swift поверх AVFoundation и AVPlayer; разбираем подробно в статье про iOS и Safari нативный плеер, потому что Apple медиа-стек закрывает их обе. Vizio SmartCast – ОС на TV Vizio (Vizio – американский бренд, который Walmart купил в 2024 году), и её app-модель – partner-only managed store: стриминговый сервис не выпускает приложение Vizio так, как выпускает Tizen-приложение; Vizio напрямую одобряет небольшое число партнёрских приложений. Стриминговому сервису с US-фокусом стоит изучать Vizio partner-программу отдельно; инженерная форма ближе к server-side интеграции, чем к TV-сборке.

Ключевые выводы

  • Шесть платформ, три группы моделей программирования: HTML5-веб-приложение (Tizen, webOS, Vidaa), Android-натив с ExoPlayer (Android TV / Google TV, Fire OS), BrightScript (Roku) – плюс Vega OS как новый джокер.
  • US-first продукт начинает с Roku и Tizen; Europe-first – с Tizen и webOS; глобальный – с Android TV.
  • Amazon Vega OS запустился в октябре 2025 и стал умолчанием на каждом новом Fire TV Stick с 2026; Android .apk на нём не запускается и требует React Native переписывания.
  • Один CMAF-источник с H.264 + H.265, шифрованный в .cbcs, плюс три лицензионных эндпоинта (Widevine, PlayReady, FairPlay) закрывают каждую TV-платформу в матрице.
  • HEVC – безопасный верхний кодек на всех шести в 2026; AV1 развёрнут неравномерно, и баг Samsung-браузера на AV1+DASH сохраняется.
  • QA-матрица, которая тестит только сейчасные топовые ТВ, упускает длинный хвост прошивок модельных годов, где живёт большинство зрителей.

Что читать дальше

CTA

  • Поговорить со стриминговым инженером – пройдём дорожную карту вашего TV-приложения с тем, кто выпускал на все шесть платформ.
  • Посмотреть наши кейсы – TV-приложения для e-learning, live shopping и OTT.
  • Скачать Smart TV cheat sheet – одна страница со всеми кодеками, DRM, форматами и версиями движков, которые имеют значение в 2026. Скачать Smart TV cheat sheet (PDF)

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.