Présentation

iSponsorBlockTV est une application auto‑hébergée qui se connecte aux applications YouTube TV compatibles et utilise l’API SponsorBlock pour ignorer automatiquement les segments marqués comme sponsors ou intros. Le service peut également couper le son des publicités et déclencher le bouton Skip Ad dès qu’il apparaît, ce qui repose sur l’interaction directe avec l’interface de l’application YouTube.

Architecture et composants

Le cœur du projet est écrit en Python et s’appuie sur asyncio et aiohttp pour gérer les communications réseau de façon asynchrone. La bibliothèque pyytlounge assure l’interaction avec le dispositif YouTube TV, tandis que ssdp fournit la découverte automatique du dispositif sur le réseau local pendant la phase d’appairage. Un cache asynchrone (async‑cache) mémorise les réponses de l’API SponsorBlock afin de limiter les requêtes HTTP et d’améliorer la latence du saut de segment. L’interface graphique, développée avec Textual, offre un configurateur en mode texte riche, accessible depuis le même ordinateur qui exécute le service.

Fonctionnalités et limites

Le logiciel détecte les codes d’identification d’écran fournis par l’application YouTube TV et les utilise pour établir la connexion. Une mise à jour récente de YouTube a modifié le format de ces codes, ce qui oblige les utilisateurs à ré‑apparier leurs appareils – la procédure est détaillée dans le wiki du projet. Certaines fonctions restent limitées : le mode de muting ne fonctionne pas lorsqu’AirPlay redirige l’audio vers un autre haut‑parleur, et les vidéos Shorts ne sont pas entièrement prises en charge en raison de restrictions imposées par YouTube. La compatibilité est indiquée par une légende (✅ = fonctionnel, ❌ = non fonctionnel, ❔ = non testé) pour chaque modèle de téléviseur.

Le service ne nécessite pas que l’ordinateur hôte partage le même réseau que le dispositif après l’appairage ; il suffit d’un accès à youtube.com. L’auto‑découverte, en revanche, requiert que les deux appareils soient sur le même sous‑réseau pendant la configuration initiale.

Déploiement et contributions

Le déploiement se fait en clonant le dépôt GitHub, puis en exécutant le script Python sur une machine disposant d’une connexion Internet. Le flux de travail de contribution suit le modèle standard de Git :

git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature

Les développeurs sont encouragés à forker le projet, à créer une branche de fonctionnalité, puis à soumettre une pull request. La documentation indique que le projet est maintenu via GitHub et que les contributions sont gérées par le fichier CONTRIBUTING.md. En résumé, iSponsorBlockTV combine une pile asynchrone moderne, une découverte réseau SSDP et une interface Textual pour offrir une solution auto‑hébergée de contournement publicitaire sur les appareils YouTube TV, tout en exposant clairement ses contraintes techniques actuelles.