Содержание статьи +
- TL;DR
- Зачем это важно
- Шесть платформ и их модели программирования
- Доли рынка и почему они определяют порядок сборки
- Samsung Tizen: AVPlay, HTML5 и мир, где DRM – на первом месте – PlayReady
- LG webOS: нативный HTML5 и современный движок Chromium
- Roku BrightScript: проприетарный стек, удерживающий американские гостиные
- Android TV и Google TV: ExoPlayer, Media3 и самый мощный нативный стек
- Amazon Fire TV: миграция на Vega – главная история 2026
- Vidaa: HTML5-платформа Hisense, которую не стоит игнорировать
- Матрица форматов и DRM по всем шести платформам
- История телеметрии и QoE на ТВ
- Где здесь Фора Софт
- Распространённая ошибка, которую стоит назвать
- Заметка про tvOS и Vizio SmartCast
- Ключевые выводы
- Что читать дальше
- CTA
TL;DR
Стриминговый продукт, который выйдет на телевизоры в 2026 году, должен поддерживать шесть различных операционных систем, три модели программирования, три матрицы DRM и одну фундаментальную миграцию платформы – ту, что сейчас проходит под брендом Amazon Fire TV. Samsung Tizen и LG webOS запускают HTML5-приложения в жёстко ограниченных браузерных движках и используют в качестве DRM-пары PlayReady и Widevine Modular. 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 и веб-технологиях. Приложения для Fire OS не запускаются на Vega, и каждый стриминговый сервис, желающий остаться на Fire TV, обязан выпустить новое приложение. Vidaa от Hisense – самая маленькая из шести по доле рынка, но самая быстрорастущая бюджетная TV-платформа в мире, использующая HTML5-стек, схожий с Tizen и webOS. В этой статье последовательно рассматриваются все шесть платформ, приводится матрица поддерживаемых форматов и DRM, позволяющая определить, какие файлы необходимо подготовить, и даётся рекомендация по приоритетам разработки для команды, вынужденной охватить все шесть платформ при ограниченном бюджете.
Зачем это важно
Если ваш продукт – стриминговый сервис, VOD-библиотека, платформа для прямых трансляций или CTV-канал с рекламной моделью, и зрители хотят смотреть его на телевизоре в гостиной, обойти TV-слой так, как вы обходите неподдерживаемый веб-браузер, не получится. Телевизор – это место, где премиальное видео потребляется в 2026 году: более половины домохозяйств в мире уже имеют Smart TV (electroIQ, Smart TV Statistics 2025), и доля времени, проведённого в стриминге на ТВ по сравнению с телефоном, продолжает расти каждый квартал. Каждый телевизор поставляется с одной операционной системой; она определяет, какие приложения могут быть запущены. Пользователь не может установить другую ОС, чтобы посмотреть ваш сериал.
Четыре ключевые задачи стримингового продукта на ТВ – отрисовка интерфейса, управляемого пультом, воспроизведение видео, обработка DRM и получение лицензий, а также сбор QoE-телеметрии – приходится реализовывать шестью разными способами, потому что универсального кросс-платформенного рантайма, который работал бы на всех современных телевизорах так, как браузер на десктопах, не существует.
Статья даёт структурную картину шести платформ: какие из них используют модель HTML5-веб-приложений, какие – нативную Java/Kotlin-модель поверх ExoPlayer, какая представляет собой изолированный проприетарный язык, у какой самый сильный медиа-стек и какая только что изменилась под ногами. Это позволяет заранее спланировать порядок миграции, матрицу форматов и расстановку команды – до того, как будет написана первая канбан-карточка.
Шесть платформ и их модели программирования
Первое, что важно понять, – шесть TV-платформ не делятся на шесть независимых кодовых баз, а образуют три чёткие группы по моделям программирования. Две платформы используют HTML5-веб-модель с управлением на JavaScript (<video>). Ещё две работают с нативной моделью на Java/Kotlin поверх ExoPlayer (до недавнего времени – см. ниже). Одна использует проприетарный скриптовый язык BrightScript в связке с фреймворком SceneGraph. И одна только что полностью сменила модель программирования. Если рассматривать их именно так, масштабирование платформ становится управляемым: достаточно написать три плеера вместо шести.
Группа HTML5-веб-приложений – Samsung Tizen, LG webOS и Hisense Vidaa – запускает HTML-страницу внутри браузерного движка, поставляемого вместе с телевизором, с дополнительными device-API, которые платформа предоставляет JavaScript для взаимодействия с пультом, системным видеоплеером, DRM-процессами и платформенными событиями жизненного цикла, такими как «телевизор переходит в режим ожидания». Браузерный движок – это форк WebKit в Tizen, форк WebKit в webOS до версии 6 и форк Chromium в более поздних версиях, а также кастомный Linux-браузер в Vidaa. Страница упаковывается в файл .wgt (по сути ZIP) в Tizen, в .ipk в webOS и в аналогичный формат в Vidaa, подписывается через портал разработчика вендора и загружается на устройство.
Группа Android-натив – Android TV и Google TV от Google, а также почти-уже-устаревшая Amazon Fire OS – запускает приложения на Kotlin или Java, упакованные в Android .apk, с плеером на базе Media3 / ExoPlayer (современный открытый медиа-плеер, поддерживаемый Google; стабильная версия Media3 1.10 выйдет в мае 2026 года) и 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 – это новая платформа программирования сама по себе. Интерфейс и приложения 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, завершая эпоху Fire OS-стиков на базе Android (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 владеет брендом 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-приложения в первый год присутствия на телевидении. Выбор зависит от географии аудитории.
- Продукт с приоритетом США запускает сначала Roku (поскольку Roku занимает 28% американского ТВ-рынка, а BrightScript – единственный доступный путь), затем Samsung Tizen (Tizen покрывает 23% американских телевизоров, а тот же HTML5-код можно использовать на LG webOS и Vidaa с минимальными адаптациями), и в конце – Amazon Fire TV / Vega (так как Amazon доминирует на рынке стриминговых приставок в Северной Америке, а переход на Vega стал срочным). LG webOS следует за ними, используя ваш 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 – это основной путь, используемый любыми стриминговыми сервисами на Tizen независимо от их масштаба. Дело в том, что стандартный HTML5-элемент video в Tizen не предоставляет необходимые для стриминговых продуктов возможности: DRM с передачей HTTP-заголовков в лицензионных запросах, точные подсказки ABR, шаговое воспроизведение кадров для «трюк-плей», переключение аудио- и субтитр-треков с метаданными, а также события на уровне устройства, информирующие приложение о том, что телевизор через 200 миллисекунд перейдёт в режим ожидания и пора прекратить загрузку сегментов. API 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: именно под него Samsung реализовал полноценную поддержку, именно он используется для сертификации всех стриминговых партнёров 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 – как опциональный вторичный путь, который нужно флаг-тестировать на каждом модельном году.
Модель ввода с пульта – вторая проблема Tizen, с которой сталкиваются команды. Tizen-приложения получают события с пульта через специфичный для Samsung JavaScript-событие с жёстко заданной картой кодов клавиш (OK, четыре стрелки, back, home, четыре цветные кнопки, play/pause/stop, перемотка), и приложение должно зарегистрировать те клавиши, которые ему нужны, через tizen.tvinputdevice.registerKey(). Незарегистрированные клавиши перехватываются системой и не доходят до приложения. Именно это и вызывает классический баг «кнопка back не работает на Samsung TV», с которым хотя бы раз сталкивается каждая команда.
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), предоставляемые через встроенный Chromium-движок webOS. MSE позволяет JS-плеерам, таким как hls.js, Shaka Player или dash.js, передавать байты сегментов в <video>. EME даёт этим плеерам возможность обмениваться ключами с лицензионными серверами Widevine или PlayReady через CDM, встроенный в прошивку webOS. PlayReady и Widevine Modular работают на webOS 3.0 и выше, при этом Widevine Classic был объявлен устаревшим начиная с webOS 236 (Dolby OptiView, A Complete List of Limitations for Native WebOS Media Player, 2024).
Загвоздка с webOS похожа на Tizen по форме, но проявляется в другом месте. webOS поддерживает HLS нативно, однако большинство телевизоров на webOS 5 реализуют HLS версии 7, что соответствует черновику Pantos 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 работают корректно на Chromium в webOS), а не полагаться на нативный HLS, поскольку именно JS-плеер – единственный способ получить современный набор функций на старых прошивках webOS.
На середину 2025 года поддержка AV1 доступна только на 8K-моделях LG с приставкой 8K Upgrader (LG USA Support, LG TV – Supported Video Codecs, 2025). В массовых 4K-телевизорах LG основными форматами остаются H.264 и H.265. DASH официально не поддерживается нативным плеером, однако на практике через путь MSE обеспечивается ограниченная совместимость для VOD.
Модель пульта на webOS ближе к десктопному вебу, чем у Tizen. Magic Remote на LG-ТВ поддерживает стандартные события клавиатуры JavaScript-приложений, а также специфические для webOS события для кнопок OK, «назад», лупы-курсора и цветных клавиш. Платформенно-специфичный шим на webOS меньше, чем на Tizen – одна из причин, по которой команды, работающие на обеих платформах, считают порт на webOS более лёгким.
Roku BrightScript: проприетарный стек, удерживающий американские гостиные
Roku – необычный участник этой шестёрки, при этом он же и лидер американского рынка. Приложения для Roku – их компания называет каналами – пишутся на BrightScript, собственном скриптовом языке Roku, сочетающем синтаксис, вдохновлённый BASIC, с элементами объектно-ориентированного программирования и интегрированным рантаймом в Roku OS. UI-фреймворк – SceneGraph – представляет собой декларативную систему на основе XML и BrightScript: разметка и компоненты описываются в XML, а поведение – на BrightScript. SceneGraph – единственный современный способ создания приложений для Roku; устаревшая императивная пара screen-and-scene из ранних версий платформы больше не поддерживается.
Видеоплеер на 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 и воспроизводит видео. Поведение загрузки можно настроить: переопределить HTTP-заголовки, передать Bearer-токен для подписанных URL, перехватить манифест до начала воспроизведения и при необходимости изменить его.
DRM на Roku – PlayReady и Widevine. Параметры DRM привязываются к той же content-ноде через блок drmParams, в котором указывается URL лицензионного сервера, его HTTP-заголовки (для Bearer-токенов) и (для Widevine) байты сервис-сертификата в формате base64 (Roku Developer, Content metadata, 2026). Поддержка persistent-лицензий для офлайн-просмотра реализована для PlayReady на современных моделях Roku, однако при обновлении лицензий (renewal) есть несколько нюансов, которые команды должны проверять на конкретных моделях.
Три вещи, специфичные для Roku, обязательно нужно понять до выпуска.
Первое: сертификация Roku обязательна и занимает много времени. Новый канал проходит многонедельную проверку со стороны команды Channel Manager, прежде чем появится в Roku Channel Store. Ревьюеры тестируют канал на репрезентативной подборке моделей Roku – от бюджетной линейки Roku Express до топовой Roku Ultra и моделей Roku TV – и отклоняют его по причинам производительности, языковых особенностей интерфейса или провалов сертификационных тестов, которые нужно устранять и повторно отправлять. Планируйте временной интервал в 4–8 недель между завершением разработки и появлением канала в магазине.
Второе: потолок производительности на стартовой модели Roku Express ниже, чем на любой другой TV-платформе. Самые дешёвые устройства Roku оснащены крайне скромным «железом» – одноядерный ARM-процессор с частотой ниже 1 ГГц, 256 МБ оперативной памяти, без графического процессора – и приложение должно отрисовывать интерфейс в рамках этих ограничений. Сертификация Roku проходит на этих базовых устройствах, поэтому интерфейс, который плавно работает на Roku Ultra, но теряет кадры на Roku Express, будет отклонён. Дисциплина, которую это накладывает, вполне реальна: использование спрайт-шейтов для UI, строгий контроль объёма памяти в BrightScript, отказ от больших структур данных в памяти за пределами текущего экрана.
Третье: BrightScript – единственный язык, который поддерживает Roku. Нет альтернативы на Kotlin, нет полноценного JS-пути с настоящим плеер-API, нет React Native. Инвестиции в талантливых разработчиков BrightScript – реальные: сообщество небольшое (по сравнению с веб- или Android-разработкой), и специалисты ценятся соответственно. Обратная сторона – Roku самая стабильная из шести платформ: канал на BrightScript, работающий на Roku TV 2024 года, без существенных правок запускается и на устройствах 2018 года, поскольку SceneGraph почти десятилетие остаётся неизменным.
Android TV и Google TV: ExoPlayer, Media3 и самый мощный нативный стек
У платформы Google TV есть два названия, которые инженерам важно воспринимать как одну и ту же систему. Android TV – это версия под брендом Google, устанавливаемая на приставки операторов и часть моделей телевизоров от производителей. Google TV – это пользовательский бренд, применяемый на более новых телевизорах (Sony Bravia с 2021 года, TCL практически во всех моделях, Hisense в устройствах с брендом Google, а также каждый Chromecast with Google TV), который добавляет надстроенный слой от Google для поиска контента. С точки зрения разработчика приложений это одна и та же платформа: те же 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 и прогрессивного воспроизведения в одной библиотеке, включает встроенный ABR, предоставляет переключение аудиодорожек и субтитров через стандартные API, а также интегрирует Widevine-DRM через Android MediaDRM (Android Developers, HLS, 2026; Android Developers, DASH, 2026).
DRM-картина на Android TV – самая чистая из шести. Widevine L1 – уровень безопасности с аппаратной поддержкой, необходимый премиальным каталогам для воспроизведения контента в разрешениях 1080p и 4K, – доступен на каждом современном устройстве с Android TV. PlayReady на Android TV, как правило, не используется (это DRM от Microsoft, и у платформы Google нет оснований его устанавливать); FairPlay – эксклюзив Apple и отсутствует. Если ваша 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, отрисовка субтитров, переключение аудиодорожек, форматирование субтитров по стандартам CEA-608/708 или WebVTT, быстрое переключение каналов для эфира, навигация по DVR – всё это уже встроено в ExoPlayer с разумными настройками по умолчанию, которые вы изменяете только при необходимости под конкретные требования производства.
Модель пульта 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, который обеспечивает типичную для Android TV структуру интерфейса в виде строк карточек (Browse-Rows-Of-Cards), – но использовать его не обязательно. Всё чаще современные приложения для Android TV выбирают Jetpack Compose for TV.
Главная причина, по которой Android TV / Google TV предлагает самый мощный медиа-стек из шести – платформа наследует всю Android-медиа-подсистему. Аппаратное ускорение кодеков через MediaCodec. Полный набор FFmpeg-совместимых extractor/muxer через MediaExtractor и MediaMuxer. Поддержка фонового воспроизведения аудио через 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 прав доступа. Одна кодовая база на Kotlin и Java, ориентированная на Android TV, запускалась на Fire TV с минимальными изменениями – другой магазин приложений, другой SDK для рекламы, но тот же ExoPlayer внутри.
Эта история завершилась в октябре 2025 года. Fire TV Stick 4K Select, представленный в октябре 2025 года, стал первым стриминговым устройством, поставляющимся с Vega OS – совершенно новой операционной системой от Amazon на базе Linux, созданной с нуля с использованием 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 предоставляет гайды по миграции и эмулятор Vega Virtual Device, но переход – это не «нажал кнопку и готово». Требуется переписать UI-слой на React Native и адаптировать медиа-слой под API проигрывателя Vega.
Есть переходная реальность, которая немного смягчает срочность. 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 не объявил дату окончания поддержки Fire OS для этой базы устройств. Таким образом, вопрос миграции касается новых пользователей – каждый новый Fire TV Stick, который пользователь купит с конца 2025 года, будет Vega-устройством, и зритель, не видящий ваше приложение в Vega Appstore, уйдёт к вашему конкуренту.
Рекомендация по порядку действий для команды, у которой уже есть приложение для Fire OS и которая хочет тщательно подойти к миграции:
- Держите Fire OS-приложение в выпуске на установленной базе. Только баг-фиксы; никаких новых инвестиций.
- Параллельно стартуйте Vega-приложение на React Native + web-инструментарии Amazon. Это новый проект; кадры выделяйте соответственно. Планируйте 3–6 месяцев на сборку с нуля для базового приложения с логином, каталогом, просмотром и базовой телеметрией; дольше, если есть live, скачивание или гейтинг премиального контента.
- Выкатите Vega-приложение в Vega Appstore сразу после сертификации Amazon.
- Дату сансета Fire OS-приложения определяйте по реальной телеметрии установленной базы в 2027–2028. Не фиксируйте дату, которую сам Amazon не объявил.
Более глубокая картина: Vega OS – это попытка Amazon избавиться от зависимости от Android, которая десятилетиями давала Google неофициальное право вето на дорожную карту Fire TV. С точки зрения разработчика приложений – это вынужденная переписывание кода. С точки зрения отрасли – это самое разрушительное событие для платформы Smart TV со времён выхода tvOS от Apple в 2015 году.
Vidaa: HTML5-платформа Hisense, которую не стоит игнорировать
Самая маленькая из шести по глобальной доле – при этом самая быстрорастущая операционная система в сегменте бюджетных телевизоров. Vidaa OS – это Linux-смарт-ТВ ОС от Hisense, устанавливаемая на большинство современных телевизоров Hisense, а также на модели Toshiba, которые Hisense производит по лицензии для рынков, таких как Европа, Индия и Южная Америка. Активная установленная база насчитывает десятки миллионов устройств к 2026 году и продолжает расти с каждым новым проданным телевизором Hisense (VIDAA, VIDAA OS, 2026).
Модель программирования – HTML5-веб-приложения, по структуре схожая с Tizen и webOS. Приложение Vidaa представляет собой упакованную HTML-страницу, работающую внутри HTML5-движка Vidaa – на базе Linux-браузерного стека, специфичного для Vidaa, но не являющегося форком WebKit или Chromium. Веб-движок предоставляет платформенные device-API в стиле Tizen Web APIs: модуль плагина медиаплеера, поддерживающий HTTP, HLS, MPEG-DASH и Microsoft Smooth Streaming, менеджер DRM для обработки лицензионного потока, менеджер стриминга для сессий воспроизведения и API ввода с пульта, сопоставляющее клавиши специального пульта Vidaa (VIDAA, WebApp Development Technical Guide, 2025).
DRM в Vidaa построен на основе PlayReady и Widevine для премиального контента и специфичного для Vidaa DRM – для партнёрского. Поддерживаемая кодековая лестница включает H.264 (AVC) и H.265 (HEVC) на всех современных моделях, причём HEVC активно используется, поскольку партнёр Hisense по чипсетам на протяжении многих лет поставляет HEVC-декодеры в кремниевых решениях телевизоров. AV1 доступен на топовых моделях линейки Hisense 2024–2025 годов, однако рассчитывать на его внедрение в production-код пока не стоит.
Причина, по которой Vidaa нельзя игнорировать, – это партнёрская экономика. Vidaa на Toshiba в Европе и Vidaa на Hisense в глобальном сегменте среднего ценового диапазона – это платформы, которые используются в домохозяйствах, не выбравших Samsung или LG. Таких домохозяйств много на рынках, где цена телевизора играет ключевую роль. Стриминговый сервис, который не работает с Vidaa, автоматически теряет доступ ко всей бюджетной аудитории.
Переиспользование кода между приложениями Tizen/webOS и Vidaa на уровне HTML5 очень высокое: те же <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-системам через три различных лицензионных потока.
| Платформа | Модель программирования | HLS | MPEG-DASH | Widevine | PlayReady | FairPlay | HEVC | AV1 |
|---|---|---|---|---|---|---|---|---|
| Samsung Tizen | HTML5 + AVPlay | да | да | да (вторичный) | да (основной) | нет | да | частично (баг браузера AV1+DASH) |
| LG webOS | HTML5 + MSE/EME | да (HLS v7 ограниченно) | частично (через MSE) | да | да | нет | да | только 8K-модели |
| Roku OS | BrightScript + SceneGraph | да | да | да | да | нет | да | новые модели |
| Android TV / Google TV | Kotlin/Java + Media3 ExoPlayer | да | да | да (L1) | нет (не разворачивают) | нет | да | да (современные чипсеты) |
| Fire TV (Fire OS) | Kotlin/Java + Media3 ExoPlayer | да | да | да (L1) | нет | нет | да | да (современные модели) |
| Fire TV (Vega OS) | React Native + web | да | да | да | да | нет | да | да |
| Vidaa OS | HTML5 + плагин-плеер | да | да | да | да | нет | да | новые модели |
Из матрицы следуют три импликации.
Во-первых, ваш пайплайн кодирования может быть собран из одного источника (single-sourced). Если каждый контент упакован один раз в формате 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: формат упаковки, объединивший HLS и DASH – служит референсом, как такая упаковка выглядит в продакшене.
Во-вторых, стратегия лицензионного сервера по умолчанию – 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. Любой премиальный продукт использует все три DRM через одного поставщика лицензионного сервера (PallyCon, EZDRM, Axinom, BuyDRM, AWS или собственный in-house) и настраивает плеер на каждой платформе так, чтобы он обращался к соответствующему лицензионному эндпоинту, поддерживаемому DRM, который предоставляет сама платформа. Подробности кросс-DRM-механики – в подробном разборе Common Encryption.
В-третьих, безопасный верхний кодек – HEVC, а не AV1. Все платформы для телевизоров в матрице оснащены аппаратными декодерами HEVC. Поддержка AV1 развивается неравномерно: она хорошо реализована на современных Android TV-чипсетах, доступна в новых моделях Roku, ограничена 8K-апгрейдером в webOS и сломана в браузере при воспроизведении DASH у телевизоров Samsung с 2021 года – минимум до середины 2025-го. Команда, которая использует HEVC как основной кодек, а AV1 – как опциональный следующий уровень, делает безопасную ставку на 2026 год. А команда, которая выпускает продукт только с AV1, выпускает продукт, который не воспроизводится на значительной части установленной базы.
История телеметрии и QoE на ТВ
То, что должен эмитить production-плеер на любой TV-платформе, выглядит одинаково на всех шести: время запуска (миллисекунды от play() до появления первого кадра), события повторной буферизации с указанием причины (сеть, перегрузка декодера, ожидание ABR-перехода), ABR-переходы с причиной, коды ошибок с контекстом, CDN-хост, отдавший каждый сегмент, скользящее среднее пропускной способности и скользящее среднее уровня буфера. Схема та же, что и для веб-плееров в Observability плеера и метриках, которые реально едут в прод. Вендоры – те же: Mux Data, Conviva, Bitmovin Analytics, Datazoom, NPAW. Различия – только в форме интеграции.
На Tizen AVPlay-API генерирует медиа-события через JS-коллбэки (onstreamcompleted, onbufferingstart, onbufferingcomplete, onerror), которые вы подключаете к аналитическому SDK так же, как подключали бы HTML5 video element в вебе. На webOS стандартные HTML5-медиа-события и события буфера MSE выполняют ту же функцию. На Roku видео-ноды выставляют observer-поля (state, position, bufferingStatus, errorCode), которые BrightScript-наблюдатели отслеживают и отправляют в систему аналитики. На Android TV и Fire OS интерфейс AnalyticsListener в ExoPlayer предоставляет все необходимые события для Mux Data и Conviva без дополнительного связующего кода (их SDK включают интеграцию с Android TV, которая напрямую слушает AnalyticsListener). На Vidaa медиа-события генерируются через стандартные HTML5-обработчики и специфичные для платформы колбэки состояния плеера, обеспечивая ту же функциональность. На Vega OS медиа-события выставляются через React Native player API с использованием жизненного цикла компонента React; интеграция аналитики Amazon описана в руководстве разработчика Vega.
Неочевидное в TV-телеметрии – события выглядят почти идентично веб-телеметрии, но device-state контекст отличается существенно. У ТВ есть события standby-режима, которых нет в вебе. У ТВ есть события переключения HDMI-входа, которых нет в вебе. У ТВ часто возникает memory pressure, который запускает сборку мусора в моменты, не предусмотренные вашей логикой таймлайна, и это проявляется как события ребуфера, которые QoE-дашборд изначально приписывает сети. Телеметрия, включающая модель устройства и версию прошивки в каждое событие, позволяет аналитическому слою отделить «баг в приложении» от «баг в прошивке» – оба варианта распространены на ТВ.
Где здесь Фора Софт
Фора Софт разрабатывает видеопродукты с 2005 года, и телевидение было в числе приоритетных платформ с самого начала. Мы реализуем решения для стриминговых и OTT-платформ с приложениями под Tizen, webOS, Android TV и Roku в production для клиентов из сфер e-learning, live shopping, телемедицинского образования и видеонаблюдения; создаём WebRTC-продукты, интегрируемые в ТВ через HLS/ DASH-выход (архитектура – в мосте WebRTC → HLS); а также AR/VR-решения, где компаньон-приложение на телевизоре использует тот же CMAF-источник, что и шлем.
TV-слой редко становится первым, о котором задумывается продуктовая команда, но почти всегда оказывается одним из самых прибыльных по количеству viewer-часов после запуска. Мы разрабатываем ТВ-приложения как часть стриминговых проектов и поддерживаем их на устаревших версиях прошивок, с которыми инженерная команда уже не работает.
Распространённая ошибка, которую стоит назвать
Самая частая ловушка для Smart TV, с которой сталкивается команда в первый год – тестировать только на Samsung Tizen TV последних 12 месяцев и полагать, что весь остальной рынок ведёт себя так же. Линейка Tizen 2025 года работает на Tizen 9.0 с переработанным меню настроек, AVPlay с новыми функциями, поддержкой декодирования AV1 на топовых моделях и современным Web Engine, способным корректно обрабатывать современный JavaScript. Ни одна из этих особенностей не переносится на другие устройства. Линейка Tizen 2022 года использует старую версию Tizen и устаревший Web Engine. Линейка webOS 2022 года поддерживает HLS версии 7, но имеет длинный список неподдерживаемых тегов. Roku Express, купленный пользователем в 2022 году, оснащён 256 МБ ОЗУ и одноядерным процессором с тактовой частотой ниже 1 ГГц. Hisense Vidaa 2024 года использует кастомный браузер, не реализующий все API Chromium. Тестовая матрица, проверяющая только актуальные топовые модели Samsung, не тестирует рынок Smart TV – она проверяет лишь его небольшую часть. Правильная тестовая матрица должна включать хотя бы по одному устройству за последние четыре модельных года на каждой целевой платформе, причём самое дешёвое устройство на Roku, самый бюджетный Hisense Vidaa и типичная прошивка webOS – это три самых сложных сценария тестирования.
Заметка про tvOS и Vizio SmartCast
Две TV-платформы мы намеренно не рассматривали подробно – каждая умещается в одно предложение. Apple tvOS – операционная система на приставке Apple TV, единственная на рынке телевизоров, где работает настоящее нативное приложение на Swift поверх AVFoundation и AVPlayer; подробности – в статье про нативный плеер в iOS и Safari, поскольку медиа-стек Apple объединяет обе платформы. Vizio SmartCast – операционная система на телевизорах Vizio (американский бренд, приобретённый Walmart в 2024 году), чья модель приложений – закрытый партнёрский магазин (partner-only managed store): стриминговый сервис не может выпустить приложение для Vizio так, как делает это для Tizen; Vizio напрямую одобряет лишь небольшое число партнёрских приложений. Стриминговому сервису с фокусом на США стоит отдельно изучить программу партнёрства Vizio; с точки зрения инженерии она ближе к серверной интеграции, чем к сборке под телевизор.
Ключевые выводы
- Шесть платформ, три группы моделей программирования: HTML5-веб-приложения (Tizen, webOS, Vidaa), нативные Android-приложения с ExoPlayer (Android TV / Google TV, Fire OS), BrightScript (Roku) – плюс Vega OS как новый универсальный вариант.
- Продукт с приоритетом США стартует на Roku и Tizen; европейский – на 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) покрывают все платформы в матрице.
- HEVC – безопасный основной кодек на всех шести платформах в 2026 году; AV1 внедряется неравномерно, а баг браузера Samsung с AV1+DASH сохраняется.
- QA-матрица, тестирующая только текущие топовые телевизоры, пропускает длинный хвост устаревших прошивок разных модельных лет, где сосредоточено большинство зрителей.
Что читать дальше
- Encrypted Media Extensions (EME): как DRM живёт в браузере – базовый механизм, с помощью которого любое HTML5 TV-приложение получает лицензию.
- CMAF: формат упаковки, объединивший HLS и DASH – единый источник, который вы кодируете один раз и используете на ТВ везде.
- Observability плеера и метрики, которые реально едут в прод – слой телеметрии, превращающий баги прошивок ТВ в данные, по которым можно действовать.
CTA
- Поговорить со стриминговым инженером – обсудим дорожную карту вашего TV-приложения с тем, кто уже выпустил его на все шесть платформ.
- Посмотреть наши кейсы – TV-приложения для e-learning, live shopping и OTT.
- Скачать Smart TV cheat sheet – одна страница со всеми кодеками, DRM, форматами и версиями движков, которые будут важны в 2026 году. Скачать Smart TV cheat sheet (PDF)