- YouTube a récemment renforcé ses tests anti-bloqueur de publicité, provoquant chez certains utilisateurs un phénomène de faux buffering
- Ce faux buffering fonctionne en retardant le démarrage de la vidéo d’environ 80 % de la durée de la publicité
- Les utilisateurs peuvent contourner partiellement cet effet en ajoutant certains réglages à leur filtre anti-publicité
- YouTube détecte et contre les bloqueurs de publicité à l’aide de diverses technologies, dont le cache global et le protocole SABR
- Certains scripts de verrouillage JavaScript limitent aussi le fonctionnement du navigateur, des filtres et des extensions
Aperçu
- YouTube a récemment réintroduit et teste de nouveau des fonctions anti-bloqueur de publicité
- Via des tests A/B, ces fonctions expérimentales ne sont appliquées qu’à certains comptes
- Les utilisateurs peuvent utiliser des filtres dans uBlock Origin ou le navigateur Brave pour éviter ces changements (déjà inclus dans les filtres par défaut)
Phénomène de faux buffering
- Le principal symptôme est un buffering plus long au démarrage de la vidéo (pas pendant la lecture)
- La durée de ce faux buffering correspond à 80 % du temps de publicité qui aurait dû être visionné
- Par exemple, si la publicité dure 15 secondes, l’utilisateur subira environ 12 secondes de buffering
- Si plusieurs publicités s’enchaînent, l’effet d’attente correspond à la somme de 80 % de la durée de chacune
- Les utilisateurs de bloqueurs de publicité conservent malgré tout un gain de temps
Structure interne et principe de fonctionnement
- InnerTube est l’API interne officielle de YouTube, utilisée par les clients web et mobiles pour accéder aux vidéos et aux informations associées
- Les flux vidéo sont transmis via GVS (Google Video Services), et les liens expirent avec le temps, ce qui impose leur régénération
- YouTube utilise aussi les serveurs Google Global Cache pour optimiser la charge réseau
- Autrefois, la plage vidéo était définie simplement via des paramètres de requête, mais YouTube utilise désormais un protocole binaire propriétaire appelé SABR (Server ABR)
- SABR peut envoyer un backoff (commande de temporisation) pour amener le client à attendre pendant un certain temps
Cause réelle du faux buffering
- Lorsqu’un bloqueur de publicité est détecté, InnerTube inclut dans le flux GVS un backoff équivalent à 80 % de la durée de la publicité
- Ce backoff est toujours appliqué aux comptes du groupe de test A/B, qu’un bloqueur de publicité soit utilisé ou non
- Pour les utilisateurs chez qui les publicités ne sont pas bloquées, le backend précharge la vidéo de contenu, ce qui masque ce délai
- Les notifications comme "Experiencing interruptions" apparaissent à cause d’un backoff prolongé
- Les rumeurs qui circulent sur le web, comme un problème de surcharge CPU, sont fausses
Comment bloquer les publicités à la source
- Pour ne pas recevoir le flux publicitaire lui-même, il est possible de définir la propriété
isInlinePlaybackNoAd sur true
- Si la requête JSON contient
"isInlinePlaybackNoAd":true, InnerTube n’inclut ni publicité ni backoff
- Les utilisateurs de uBlock Origin peuvent insérer une règle correspondante dans leurs filtres utilisateur pour l’appliquer automatiquement
- Cette propriété peut être vérifiée dans le JavaScript frontend et dans les définitions Protocol Buffers
Limites et effets secondaires
- Cette méthode ne permet le contournement que lors de la navigation (chargement à chaud) à l’intérieur de l’application monopage YouTube déjà chargée
- Lors du premier accès (chargement à froid), elle ne fonctionne pas à cause des données initiales fournies par le backend
- Les tentatives de suppression forcée des données initiales provoquent divers problèmes liés aux flux en direct, à la vitesse de la page et à l’expérience utilisateur
Contournement du script de verrouillage (Locker Script)
- YouTube insère, pour certains groupes de test, un script de verrouillage qui rend les objets globaux non modifiables en haut de la balise ``
- Les extensions comme uBlock Origin ne peuvent effectuer un hooking d’objets qu’avant l’exécution de ce script
- Firefox peut contourner cela via le filtrage HTML, mais les navigateurs Chromium ne prennent pas en charge cette méthode
- En réponse, il est possible de contourner le filtre via une technique de hooking de
Object.assign
- Cette méthode permet, à l’aide de fonctions Proxy avancées, d’insérer
"isInlinePlaybackNoAd":true
1 commentaires
Avis Hacker News
Partage d’une expérience consistant à arrêter complètement YouTube : auparavant, l’utilisateur regardait énormément de contenus éducatifs et scientifiques de grande qualité, jusqu’à plusieurs heures par jour, mais a eu l’impression de réaliser qu’en réalité il n’en avait pas besoin ; il mentionne aussi le fait que cela assainit la vie en supprimant les publicités. Il lui arrive encore de regarder une vidéo si quelqu’un lui en envoie une, mais il ne s’y connecte plus volontairement. Il recommande vivement à tout le monde de réduire cette consommation passive de divertissement comme YouTube et de réinvestir ce temps dans des activités créatives et conscientes.
Certains disent qu’il suffit simplement de payer : toute la famille utilise une formule d’abonnement et vit donc sans publicité. Ils jugent le rapport qualité-prix très correct et estiment qu’ils pourraient sans doute finir leur projet de montage de moto sans vidéos, mais qu’il n’y a pas vraiment de raison de se l’imposer.
Même démarche avec Netflix, puis résiliation de Prime et arrêt complet d’Amazon, sauf AWS qui reste pratiquement incontournable à cause des données. En revanche, YouTube est utilisé avec une formule sans publicité, et si la promesse d’absence de pubs était rompue, YouTube serait aussi banni définitivement.
Suppression du compte YouTube et migration vers Patreon. Les vidéos des créateurs soutenus sur Patreon peuvent toujours être vues via les notifications YouTube, ce qui permet une consommation de contenus bien plus intentionnelle et de meilleure qualité.
Mention du fait qu’une large part de la population est dépendante à ce genre de plateformes, avec la métaphore d’une époque du « tabac 2.0 ».
Astuce : beaucoup des meilleurs programmes scientifiques existent aussi sur des plateformes comme PBS et Nebula.
Tant que Google continuera à imposer la publicité, il faudrait selon certains surveiller de beaucoup plus près le caractère inapproprié ou frauduleux des annonces auxquelles nous sommes exposés. Si le blocage des pubs devient le seul moyen de protéger sa famille et soi-même contre des publicités nuisibles, alors il est légitime d’exiger de Google bien plus de responsabilité sur les publicités qu’il diffuse.
Stupeur face au niveau actuel des publicités YouTube, jugées très médiocres et inappropriées ; les dirigeants sont accusés d’abaisser les standards au plus bas pour leurs KPI, bonus et promotions. L’un dit même avoir vu des pubs pornographiques en miniature sur mobile, pire encore que les anciennes pubs d’Evony Online, et y voit un signe de stagnation de la croissance de YouTube.
À la télévision, la durée des écrans publicitaires est encadrée, alors que YouTube diffuse trop de pubs médiocres et interminables. Il arrive qu’en simple lecture en arrière-plan, après avoir passé une pub de 5 secondes, une réclame de 30 minutes, voire plus, s’enchaîne comme un infomercial. Le fait que YouTube autorise ce genre d’interruption involontaire du visionnage paraît étrange, presque criminel ; on suppose aussi que la plateforme doit facturer très cher ce type d’espace.
Principe rappelé : les efforts et le travail nécessaires à la création de contenus et à la construction d’une plateforme doivent être justement rémunérés. Livres, films, télévision, actualités : tous les contenus ont un coût, payé soit en argent soit en regardant des publicités. Si l’on déteste la publicité, il faut prendre un abonnement payant.
S’il existait un drapeau « Thin Adblock Writer Line » célébrant les développeurs d’adblockers, quelqu’un l’aurait déjà accroché à sa voiture avec plaisir.
Proposition simple : il suffit de payer l’offre Premium ; personne n’oblige quiconque à utiliser YouTube.
Sous Firefox, il est mentionné qu’il est facile de bloquer la publicité avec un filtre HTML ; en revanche, cela serait impossible sur Chromium faute d’API d’extension adéquate, ce qui choque certains au vu de l’écart entre environnements de développement.
Certains subissent souvent ces derniers temps les délais de buffering ajoutés sur YouTube, mais disent que cela ne les dérange pas tant que ça. Ce qui gêne dans la publicité, ce n’est pas le temps perdu mais l’exposition forcée à de l’audio et de la vidéo non désirés. Pendant 12 secondes de buffering, ils regardent leurs e-mails ou restent simplement dans le vide, au point que si cela se répète souvent, le cerveau finit par l’ignorer automatiquement ; ce serait presque plus agaçant si cela n’arrivait qu’une fois sur cinq.
Question de fond : « Pourquoi justifie-t-on le blocage de publicité ? Le contenu a un coût, le stockage et la distribution aussi ; y a-t-il vraiment une base morale ou un sentiment de privilège derrière l’adblock ? » Si la seule réponse est que les pubs sont désagréables, il faudrait aussi se demander pourquoi on considère la gratuité comme allant de soi. La question se veut non morale, mais simplement posée pour comprendre.
Autrefois, Google AdSense limitait à trois publicités par page et les violations pouvaient mener à une suspension ; aujourd’hui, certaines pages en embarquent 10, 15 ou plus. Sur YouTube aussi, on est passé des bannières initiales à des pubs avant et pendant la vidéo, aux segments sponsorisés intégrés, puis même à des annonces en bas de page pour les abonnés Premium. Même la recherche Google remplit le haut de page de publicités au point qu’il faut faire défiler pour atteindre les résultats organiques. Sans revendiquer un droit à l’usage gratuit, certains expliquent utiliser un adblock sur tous leurs appareils simplement parce qu’ils estiment qu’« on est allé trop loin ».
D’autres soulignent que la question « pourquoi se sent-on en droit d’avoir du gratuit ? » ne correspond pas au raisonnement réel des utilisateurs : ils le font parce qu’ils peuvent et en ont envie, et c’est à ceux qui veulent l’interdire de fournir une justification éthique. Il n’existe aucune obligation morale de regarder des publicités. Au contraire, la publicité est décrite comme intrinsèquement manipulatrice et intrusive pour la vie privée, exploitant l’attention humaine à des fins de profit, donc comme un contrat qu’on ne peut pas imposer à la source.
Google fait mine d’être du côté des utilisateurs tout en devenant de plus en plus hostile et anticoncurrentiel ; dans cette logique, bloquer les pubs reviendrait à prendre les armes en temps de guerre. Les publicités étaient autrefois difficiles, voire impossibles, à bloquer, mais la plupart de celles qu’on bloque aujourd’hui sont en réalité des hybrides entre publicité et surveillance. Des liens d’articles et de contexte supplémentaire sont fournis.
Il est rappelé que les créateurs YouTube touchent 55 % des revenus totaux. Même dans une ambiance très critique envers le système de profits massifs de Google, la réalité est qu’une grande partie des coûts majeurs revient bien aux créateurs. Le soutien actif via Patreon ou d’autres moyens reste le fait d’une minorité de fans engagés, tandis que la majorité des utilisateurs préfèrent éviter toute contribution tout en se plaignant, comme des gens qui mangeraient un repas gratuit au restaurant en critiquant le service.
Il est reproché au script utilisant
Object.definePropertypour rendre immuables des propriétés de l’objet global et ainsi contourner le blocage via des objets leurres de reposer sur une faille grave du navigateur ou de la spécification. Le contenu et les scripts d’une page ne devraient pas pouvoir restreindre les capacités d’une extension de navigateur.Une personne précise que son objectif avec le blocage de pub est d’éviter les distractions et les changements de contexte : la surcharge informationnelle apportée par la publicité devient insupportable alors que sa charge cognitive est déjà élevée.
Quelqu’un répond en demandant comment regarder YouTube peut déjà constituer une forte charge cognitive, se demandant avec ironie si la personne est en train d’observer une vidéo de formation chirurgicale sur une greffe du cœur.
Pour 13 dollars par mois, cela se règle facilement sans se soucier des changements de contexte ; si la charge cognitive est si élevée, la personne gagne probablement assez bien sa vie pour que ce soit l’option la plus efficace.
Témoignage sobre d’une personne qui paie volontiers
Youtube Premiumpour toute sa famille afin de supprimer les pubs tout en préservant les revenus des créateurs.Une autre dit ne pas être du tout d’accord et utiliser Newpipe pour profiter de YouTube sans publicité et sans dépenser un centime.
Quelqu’un hésite à savoir si le message précédent est satirique ou non, mais s’il est sincère, trouve surprenant de voir quelqu’un payer volontairement davantage à un grand propriétaire foncier de l’Internet.
Certains trouvent étonnant que YouTube n’injecte pas directement les publicités dans le flux vidéo. En environnement HLS/DASH, il serait facile d’insérer du contenu au milieu du stream, ce qui rendrait le blocage beaucoup plus difficile. En limitant en plus le débit des paquets à la vitesse de lecture, il deviendrait aussi plus compliqué de contourner cela par pré-téléchargement.
Réponse : même dans cet environnement, HLS est tellement optimisé à grande échelle dans le matériel que l’ajout de calcul pour du ciblage publicitaire ferait forcément exploser les coûts. Pour approfondir, il est conseillé de consulter les documents de Netflix sur l’optimisation des performances des serveurs edge de streaming.
D’autres analysent que YouTube cherche à ne pas aller trop vite et préfère avancer progressivement ; selon eux, un scénario d’insertion directe de publicités dans le flux arrivera bientôt. Pour l’instant, les pubs et le stream vidéo restent séparés, mais des expérimentations d’insertion publicitaire côté serveur sont déjà en cours.
Présentation de flux de blocage communautaire basés sur des horodatages, comme SponsorBlock et Tubular ; à l’avenir, certains s’attendent aussi à voir apparaître du blocage publicitaire en temps réel via IA embarquée sur l’appareil, avec reconnaissance de contenu, et restent convaincus que le blocage de pub ne disparaîtra pas facilement.
Il est d’ailleurs signalé que YouTube mène actuellement des tests A/B de publicités insérées côté serveur (SSAI) ; l’auteur dit ne pas encore avoir vu ce type de pub lui-même, mais partage l’état de la situation.
Enfin, certains estiment que si le client peut insérer la publicité dans la vidéo, il peut aussi la découper. Avec une base de données collective comme SponsorBlock, la détection des pubs semble tout à fait faisable, et même les publicités intégrées au stream pourraient être contournées et bloquées.