Это старая версия документа!
Содержание
Cast Tab Keeper
Cast Tab Keeper — расширение для браузеров на базе Chromium (Chrome, Edge, Brave, Vivaldi и др.), которое возвращает возможность транслировать именно вкладку, а не только медиафайл.
Оно устраняет поведение, когда браузер перехватывает YouTube- или медиастраницы и отправляет на Chromecast/телевизор только сам видеофайл, блокируя полное зеркалирование вкладки.
🔹 Установка
Распаковать в каталог назначения
🔹 Основные функции
Блокировка Cast SDK на выбранных сайтах. Если сайт в списке заблокирован — Chromecast видит поток как «tab mirroring» (полное зеркало вкладки). Если сайт разрешён — работает стандартное «smart cast» (браузер выступает пультом, а устройство само проигрывает контент).
Keep-alive (экспериментально) для трансляции Решает проблему, когда при статичной картинке поток «засыпает», и при возобновлении движения телевизор отстаёт на минуты. Расширение вставляет невидимый «пиксель-триггер» (1×1 px с микроскопическим изменением прозрачности), чтобы поток всегда обновлялся.
Светлый интерфейс (в стиле системных настроек).
🔹 Интерфейс
Popup (быстрый доступ)
Отображает текущий сайт и его статус (разрешён / заблокирован / отсутствует в списке).
Кнопки:
Allow here — добавить сайт и разрешить нативный Cast.
Block here — добавить сайт и блокировать Cast SDK (будет использоваться tab mirroring).
Remove — удалить сайт из каталога.
Options… — открыть страницу расширенных настроек.
Глобальный чекбокс Keep-alive (global) — позволяет быстро включить/выключить механизм удержания трансляции.
Options Page (полные настройки)
Управление каталогом сайтов (добавление, удаление, импорт/экспорт списка).
Быстрый пресет для YouTube (все основные домены).
Счётчик количества сайтов в каталоге.
Темы (Blue / Green / Red).
Управление Keep-alive:
включение/выключение,
интервал обновления (120–2000 мс),
выбор угла для «пикселя» (4 варианта).
🔹 Техническая реализация
Manifest V3 (совместим с актуальными Chrome и Edge).
Content script (keepalive.js) добавляет невидимый 1×1 элемент и переключает его прозрачность.
DeclarativeNetRequest — фильтрует запросы Cast SDK, подменяя логику.
Storage sync — хранение списка сайтов, темы и параметров keep-alive между браузерами (если включена синхронизация).
UI — HTML+CSS с переменными для кастомизации цветов.
🔹 Преимущества
Позволяет использовать телевизор как полноценный дополнительный монитор.
Работает на всех Chromium-браузерах (Chrome, Edge, Brave, Vivaldi, Opera).
Можно гибко выбирать:
для видео (аниме, фильмы, стримы) — tab mirroring,
для музыки (YouTube Music, радио) — нативный Cast.
Решает проблему «минутной задержки» при паузе/статике.
🔹 Ограничения
Расширение работает только в Chromium-браузерах. В Firefox API отличаются.
При публикации в Chrome Web Store может быть отклонено, если Google сочтёт вмешательством в Cast SDK. Для личного использования ограничений нет.
Для работы с file:-страницами нужно включить в chrome:extensions пункт «Allow access to file URLs».
Примечание
Проблема некорректной трансляции вкладок связана не с браузером, а с подгружаемым сайтом внешним скриптом Cast SDK:
https://www.gstatic.com/cv/js/sender/v1/cast_sender.js
Этот скрипт меняет поведение Chrome/Edge: вместо зеркалирования вкладки начинает работать прямой Cast API.
Поэтому решение можно реализовать двумя способами:
Простое — блокировать загрузку cast_sender.js (через firewall, hosts или правила браузера). Тогда всегда будет tab mirroring.
Расширенное — использовать расширение Cast Tab Keeper, которое:
даёт интерфейс для гибкого управления (разные сайты — разные режимы),
имеет keep-alive, чтобы трансляция не «засыпала» на статике,
позволяет быстро управлять через popup.