[TF1] – Comment ne plus être dérangé par les publicités des vidéos

Bon début de semaine à tous,

 

Qui d'entre vous n'a pas rêvé de ce bouton magique qui couperait automatiquement le son lorsqu'une publicité passerait à la radio ? ou sur votre téléviseur ?!?
J'étais l'autre jour sur le site de TF1, car un collègue de bureau souhaitait me montrer une vidéo .. et c'était vraiment laborieux  !

Une histoire de pause ...

Le site de TF1 vous oblige à regarder ses publicités jusqu'au bout ...

Et, s'il vous prenait l'envie de changer d'onglet, ou de sortir de votre navigateur pour faire autre chose durant la publicité  !

 ...

Malheur à vous

...

 

La publicité se mettrait alors automatiquement en pause !
Et reprendrait là où elle s'était arrêté lorsque vous reviendrez sur la page !
Impossible pour vous d'y échapper ... du moins ... si vous tenez à pouvoir regarder votre vidéo !

Pour se mettre en pause, celle-ci utilisera une fonction liée à son lecteur vidéo ... la fonction ... "pause" ...
Oui, je sais ça paraît légèrement implicite, mais la fonction s'appelle vraiment "pause".

Alors, jusque-là, rien de compliqué ...

 

Supprimer la fonction "pause"

C'est tout bête, mais c'est l'idée ...
Si nous remplaçons la fonction d'origine qui met en pause la vidéo, par une autre fonction ...
Une fonction qui ne fera rien du tout

Alors lorsque le lecteur vidéo pensera appeller sa fonction "pause", au moment où nous ne regarderons plus sa publicité  ...
Il appellera non pas sa fonction "pause", mais notre fonction ... qui elle, ne fera rien !
La publicité continuera son petit bout de chemin et ne sera pas mise en pause !

Et vous pourrez alors vaquer à vos activités ...

Couper le son de la "publicité"

Ne pas être obligé de regarder une publicité c'est cool !
Mais ... devoir malgré tout supporter de l'entendre ça devient vite pénible ...

"Avez-vous testé le nouveau détachant
rendant votre linge plus blanc que blanc ?!?
Alors rendez-vous dans votre boutique, dépêchez-vous !
Une paire de chaussettes offerte aux 10 premiers clients !"

Ce que nous aimerions ...
C'est la possibilité de couper le son durant la publicité, et de le réactiver lorsque la publicité est finie !
Ce serait en plus un excellent moyen pour savoir lorsque celle-ci est terminée, sans avoir constamment à jeter un œil dessus ...

D'autant que la publicité est toujours plus intempestive ... vous coupez le son, et hop 15 secondes plus tard, celui-ci se réactive ...

Savoir reconnaître une publicité

C'est là que TF1 a pensé à tout !

Ils ont mis en place une "variable" dans la page qui contient votre vidéo.
Cette variable indique si vous regardez une publicité ou non ...
Bien entendu, cette variable est surtout utilisée pour vous restreindre l'accès à d'autre fonctions si vous regardez une pub ...

Cette variable c'est "isAd" ... signifiant probablement "is Advert" => "C'est une publicité"
C'est ce que l'on appelle en programmation un booléen, donc 2 valeurs possible "Vrai" / "Faux" ...

Aussi, en analysant un peu cette variable on se rend compte que lorsque nous regardons une publicité cette variable est à "true" (vrai) et lorsque nous regardons la vidéo, celle-ci passe à "false" (faux) ...

 

Créer un petit script qui s'occupe de tout automatiquement ...

 

J'ai donc concocté un script donc le job est simple, celui-ci va donc tourner tranquillement en tâche de fond sur la page où vous consulterez votre contenu vidéo...
Il interrogera la variable isAd pour savoir si vous regardez une publicité ou pas ...
Il empêchera la vidéo de se mettre en pause, et coupera le son si c'est une publicité, en remplaçant la fonction pause, par une autre fonction !

Dès que la publicité sera terminée, il réactivera la vraie fonction "pause", pour que vous ayez la possibilité de mettre en pause, et activera le son !

setInterval(()=>{
	var vid = this.Murnau.Murnau.videoElement;
	if (this.Murnau.Murnau.isAd){
		vid.muted  	= true;
		vid.volume 	= 0;
		vid.pause2 	= (!vid.pause2)?vid.pause:vid.pause2;
		vid.pause	= ()=>{return -1;};
	}
	else if (! this.Murnau.Murnau.isAd && vid.pause2){
		vid.muted  = false;
		vid.volume = 1;  
		vid.pause  = vid.pause2;
		delete vid.pause2;
	}
},200);

 

Conclusion

Par cet exemple vous aurez appris une forme de raisonnement, qui vous permettra de développer une logique dans des solutions de contournement !

 

Partagez ce contenu

16 comments

  • Bonjour,

    Sympa ton script. Mais je l’utilise comment ? . Avec un truc style Greasemonkey ?

    De toute façon c’est tjrs agréable et instructif de lire tes TRUCS :) , mème si mes connaissances WEB date de l’époque Amiga (ANews). Car depuis je trouve chiant tous ces ‘ langages ‘ que l’ont trouve dans toutes les pages WEB.

    Continu comme ça, Cordialement.
    Patrick

    • Dans Chrome tu tapes F12, puis tu vas dans console, tu colles le script, après 2 ou 3 pubs tu auras ta vidéo.

      Une extension qui la bypass directement ça serait plus sympa, mais ils ont blindé le truc à cause du foot je pense.

  • Sait tu comment faire pour éxécuter ton code automatiquement sur mytf1 au lieu d’avoir à chaque fois le chercher et le coller?

  • Salut, j’ai une petite amélioration pour ton script :

    setInterval(()=>{
    var vid = this.Murnau.Murnau.videoElement;

    if (vid == null)
    return;

    if (this.Murnau.Murnau.isAd){
    vid.muted = true;
    vid.currentTime = vid.duration;
    vid.volume = 0;
    vid.pause2 = (!vid.pause2)?vid.pause:vid.pause2;
    vid.pause = ()=>{return -1;};
    }
    else if (! this.Murnau.Murnau.isAd && vid.pause2){
    vid.muted = false;
    vid.volume = 1;
    vid.playbackRate = 1;
    vid.pause = vid.pause2;
    delete vid.pause2;
    }
    },200);

    Avec cette petite modif ça finit les pubs directement plutôt que d’attendre qu’elles passent.

    J’aurai juste une question, comment tu as su que l’objet vidéo était stocké dans Murnau. (qu’est ce que c’est que ce Murnau ?)

    • C’est génial !!!

      J’aurais tellement aimé le savoir avant x) Surtout si on regarde pleins de vidéo à la suite comme moi, ça évite de perdre tout ce temps avec toutes les pubs à chaque fois !

      Merci beaucoup, tu gères ;)

  • Ouah, merci c’est fabuleux

  • Merci, rien à dire ! Fonction à 100% sur automator sur mac.

  • Vous êtes des héros

  • Bonjour !

    Ce script était extraordinaire, malheureusement il ne marche plus depuis aujourd’hui, car il me semble que mytf1.fr a changé de style de vidéo et ce script mouline dans le vide !!!!

    Help help !

     

    Merci beaucoup par avance !!!!

     

  • Pingback: [TF1] – Comment ne plus être dérangé par les publicités des vidéos (suite) | Dyrk

  • Bonjour a tous,

    mare de la pub……..on est le 24 mars ou est le script promis du 10 mars ? :p

    Cordialement

  • Yep, jattends aussi le script

  • J’ai une piste à creuser (ou exploiter pour le moment en tout cas ;) :

    Dès qu’il y a une pub on met l’avancement de la vidéo (pub du coup) à 99 grace à ce code :

    this.Murnau.htmlHelper.videoElement.plyr.getMedia().currentTime = 99

     

    Pour ceux qui veulent du coup, reste plus qu’a mettre un setInterval et chercher dans l’objet la définition de si c’est une pub ou pas et de faire une condition dans le setInterval.

    Pour le moment je me contenterai juste de mettre ce petit bout de code en raccourcie sur mon Chrome du coup dès qu’il y a pub, j’ai qu’a cliquer.

     

  • Hey guys! Je viens de découvrir cette page. J’étais emmerdé par les pubs comme vous, et avec un ami on a créé une extension Chrome pour ne plus avoir à taper de script js, et que les non-dev puissent en profiter ;)

    🍿 TF1 AdBlock

    Le script qu’on a créé est simple et fonctionne bien :) Si TF1 met à jour son code, je mettrai à jour le script et l’extension. Si vous avez des idées pour améliorer cette extension, vous pouvez contribuer sur Github.

Répondre à Xeilya Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *