Télécharger les vidéos de France TV Pluzz

Petit guide pour récupérer une vidéo sur France TV Pluzz. Exemple sur http://france3-regions.francetvinfo.fr/provence-alpes/emissions

Pré-requis : Avoir flash, Firefox et Firebug (ou console de dév, mais ici j’évoquerai seulement Firebug).

Aller sur la page de la vidéo, faire F12, aller dans l’onglet net, lancer la vidéo.
Récupérer la commande curl du manifest. Il va juste nous permettre de voir les différentes qualités. Dans notre exemple, la meilleure qualité est à un bitrate de 1510k avec “url” 3_14ecd6624739e5ba_.
pluzz1pluzz2

Récupérer la commande curl de la première requête avec 3_14ecd6624739e5ba_.
pluzz3Notez que l’URL contient « Seg1-Frag3 ». Il s’agit du segment 1 de la vidéo, fragment 3. La vidéo est fragmenté en morceaux de 1Mo. Comme il n’y a qu’une piste vidéo, le segment est toujours 1. On pourra rejouer cette requête dans une boucle de 1 à 100 par exemple. On peut calculer avec la durée de la vidéo. Par exemple en demandant à Wolfram : 7 minutes with 1510k bitrate, soit 634Mb, 80Mo. 80 fragments de 1Mo donc.

$ for i in {1..80}; do curl https://[…]Seg1-Frag${i}[…] -o ${i}.f4f; done

Vous avez maintenant 80 fichiers .f4f. Il se trouve dans mon cas, qu’il n’y a en fait que 70 fragments et non 80, car les fichiers 71 à 80 sont des fichiers HTML indiquant « mauvaise requête ». On pourra les supprimer.

La suite implique de télécharger un script PHP qui va joindre tous ces fichiers f4f (morceaux de flv). Puis de le lancer ainsi, il va détecter automatique les fichiers et les joindre :

$ php AdobeHDS.php

Et voilà, vous avez votre vidéo Joined.flv. Il vous reste à la convertir dans un format propre, tel du WebM 🙂

3 Replies to “Télécharger les vidéos de France TV Pluzz”

    1. Salut, c’est sympa comme idée pour découvrir, mais vu que youtube-dl est en python, on peut se faire i, débogage du script, le code est raisonnablement “Human Friendly”. En tout cas, merci je vais p’t’être pouvoir tenter de me scripter en 100% shell+coreutils un truc…

Leave a Reply

Your email address will not be published. Required fields are marked *