La vidéo en morceaux (f4f)… [MAJ 03/12/2015]

Depuis un moment je cherche comment récupérer des vidéos qui sont diffusées par morceaux sur le Net, comme les multiples morceaux de vidéos au format f4f par exemple.

J’ai cherché et trouver le truc qui marche avec Linux. Il semble que ça fonctionne aussi avec Windows, mais je ne développe ici que ce que j’ai mis en place, c’est à dire la solution sous Linux (Emmabuntu 12.04 pour ma part).

Mes prérequis sont les suivants:

  1. Navigateur Internet Firefox À propos de Mozilla Firefox
  2. PHP installé
  3. Téléchargement du script PHP « AdobeHDS.php« 
  4. Add-on Firefox « HDS Link Detector« 
  1. Pour l’installation de Firefox, je ne m’étendrais pas, il vous suffit de faire une recherche sur Internet et de l’installer si ce n’est déjà le cas sur votre Linux.

  2. Pour pouvoir faire fonctionner le script de récupération des vidéos au format f4f, il faut que PHP soit installé sur votre Linux. Il suffit d’avoir le paquet « php5-cli » et « php5-curl« . Vous pouvez les installer en lançant un terminal de commande et ensuite en tapant la commande suivante:

sudo apt-get install php5-cli php5-curl

Votre mot de passe vous sera demandé, vous confirmez l’installation.

Une fois l’installation effectuée, laissez le terminal de commande ouvert, nous en aurons besoin afin de tester que tout fonctionne correctement.

  1. Pour pouvoir récupérer les fichiers f4f et en faire un seul fichier flv, nous avons besoin d’un script: AdobeHDS.php.

Vous pouvez en récupérer le code ici: AdobeHDS.php

Vous pouvez aussi récupérer le code ici (AdobeHDS), dans un fichier LibreOffice. Il vous suffira d’ouvrir le fichier, de faire un copier du code, puis de suivre la procédure en dessous.

Il vous suffit de faire un copier/coller du script dans la fenêtre (copiez tout, y compris <?php et ?>). Vous ouvrez votre éditeur de fichier texte préféré sur votre Linux (pour moi Leafpad), vous collez le code et ensuite vous enregistrez le fichier sous le nom AdobeHDS.php. Pour ma part, j’ai enregistré le fichier dans /home/christophe, c’est assez pratique, car chaque fois que je lance le terminal de commande, je tombe à cet endroit. Vous pouvez bien sur le mettre ailleurs, dans le répertoire Vidéos par exemple. Vous devrez vous placer dans ce répertoire avant de lancer la ligne de commande de récupération de la vidéo.

  1. Installation de l’add-on de Firefox, en passant par le menu « Outils », puis « Modules complémentaires » de Firefox, vous choisissez « Catalogue » sur la gauche de l’écran, et ensuite vous tapez dans la zone de recherche « HDS Link Detector ». L’add-on apparaît, vous n’avez qu’à installer. Le redémarrage n’est normalement pas nécessaire. Une icône apparaît en bas à droite (pour ma part), il suffit de cliquer sur l’icône pour activer l’add-on.

Nous sommes prêt pour récupérer notre première vidéo.

Lorsque vous irez sur un site qui décompose une vidéo au format Adobe Flash en plusieurs vidéos, HDS Link Detector le détectera, et il vous affichera une bulle contenant le lien de téléchargement à copier. Il suffit de cliquer sur le lien pour le copier. Vous n’aurez ensuite qu’à copier ce lien dans le terminal de commande, puis taper sur Entrée de votre clavier afin de lancer la récupération de tous les morceaux de vidéos et, au final, obtenir un seul fichier flv. A vous de le renommer ensuite afin d’avoir un nom clair de fichier vidéo. Le tour est joué, vous pouvez regarder votre vidéo au delà des 7 jours de disponibilité de la télé à la demande.

Un petit exemple sur pluzz, en prenant une vidéo au hasard (j’aime bien le jardinage, optons donc pour le dernier « Silence ça pousse » sur France5):

Emission Silence ça pousse pluzz

Le lien à cliquer s’affiche en haut sous la forme d’une info-bulle:

Lien à cliquer HDS

Cliquer sur le lien, l’info-bulle disparaît. Ne fermez pas la fenêtre pluzz dans Firefox, mais arrêtez la vidéo (en cliquant sur pause du lecteur de vidéo).

Dans le terminal de commande resté ouvert, avec le menu, faire Édition -> Coller:

Terminal Silence ça pousse HDS

puis Entrée au clavier pour lancer la récupération:

Terminal Silence ça pousse Récupération

Il n’y a plus qu’à attendre la fin du téléchargement et de l’assemblage des fichiers f4f en un seul fichier flv:

Terminal Silence ça pousse Téléchargement terminé

Vous avez votre vidéo désormais, mais sous un nom assez barbare:

Silence ça pousse sous un nom barbare

A vous maintenant de renommer le fichier et de le déplacer dans le bon répertoire le cas échéant.

Je donne cette astuce car je ne trouve pas normal de ne pas pouvoir tout simplement enregistrer, comme au temps des magnétoscopes, une émission de télévision et la regarder à mon gré, plus tard, quand je le veux. Il ne s’agit pas ici d’en faire commerce bien sur, mais simplement de garder une copie privée d’une émission que l’on a pas vu et de pouvoir la regarder selon son bon vouloir.

Bonnes vidéos…

PS: l’encryptage Akamai DRM, n’est pas lisible avec ce script. (Merci Pailhes)

[MAJ 29/01/2015] : le script AdobeHDS a été mis à jour, si vous avez déjà fait l’installation avant Novembre 2014, récupérer la dernière version du script ici.

Vous pouvez récupérer l’intégralité des scripts dans ce fichier zip aussi.

[MAJ 27/10/2015]: le script AdobeHDS a été mis à jour, récupérer donc la dernière version ici. Vous rencontrerez peut-être une erreur concernant « mcrypt », il vous suffira d’installer « mcrypt » et éventuellement (je l’ai fait) « php5-mcrypt ». Ensuite vous taperez la commande suivante: sudo php5enmod mcrypt. Ensuite redémarrez apache avec: sudo apachectl restart. Normalement, si vous retournez sur le site, l’extension devrait vous donner le lien, que vous coller ensuite dans votre terminal et le téléchargement commencera.

[MAJ 03/12/2015]: le script AdobeHDS a été mis à jour le 30/11/2015, récupérer donc la dernière version ici.

22 réflexions au sujet de “La vidéo en morceaux (f4f)… [MAJ 03/12/2015]”

  1. Ping : Anonyme
      • dans votre texte vous dites:
        il vous suffit de faire un copier/coller du script dans la fenêtre (ne gardez que ce qui est compris entre : inférieur interrogation php et interrogation supérieur
        [ ).]
        avant d’enregistrer AdobeHDS.php, j’avais supprime la première ligne (inférieur…php)
        et la dernière ligne (interrogation supérieur).
        ça ne fonctionnait pas, j’ai donc remis la première ligne et la dernière ligne et tout a fonctionné parfaitement.
        Un grand merci.

        Répondre
  2. Bonjour,
    Sous environnement windows (WAMP) j’ai les erreurs suivantes :
    hdcore n’est pas reconnu
    q n’est pas reconnu (dans votre exemple il s’agit de ‘g’ qui suis le hdcore)
    est ce que cela vous parle?

    Répondre
    • La colle dites-moi…
      J’avoue avoir complètement abandonné windows, et je n’ai donc pas testé le contenu de cet article sur cet environnement. Je vais chercher et vous dire ce que je trouve.
      Êtes-vous sur d’avoir les bonnes versions de PHP, du plugin Firefox ?
      La solution décrite ici fonctionne correctement sur Linux et elle est décrite en ce sens.
      Je vois si je trouve quelque chose, et je vous tiens au courant.
      Pourriez-vous donner le contenu exact du (ou des) messages d’erreur afin de faciliter la recherche svp ?

      Répondre
    • Voici un lien concernant l’installation sous windows pour faire fonctionner adobe hds: http://neo-net.fr/forum/viewtopic.php?f=22&t=17611
      Il est question à l’intérieur d’un variable d’environnement qui doit exister afin de pointer le répertoire d’installation de PHP: à voir et vérifier.
      Je n’ai pas testé cette procédure, donc à vous de voir.
      Donnez-moi des nouvelles si ça fonctionne et précisez alors ce que vous avez fait pour que ce soit le cas.

      Répondre
      • Bonjour,
        tout d’abord, merci pour ces infos, ce qui m’a permis d’avancer. Maintenant cela bloque après la détection des fragments.
        J’ai la ligne :
        Fragments Total: 194, first:1, Start: 1, Parallel: 8
        puis
        Access Denied! Unable to download fragments.

        Répondre
        • Vous avez bien vérifié les versions (PHP …) et les variables d’environnement je suppose ?
          Le répertoire de destination possède bien les autorisations d’écriture ?
          Je ne peux pas vraiment vous aider plus, n’ayant plus du tout de windows chez moi….
          Mais je suis preneur de toute information qui permettra à moi et à d’autres d’avancer sur ce point…
          Désolé de ne pouvoir vous aider plus concernant windows (quelle version de windows déjà ?).
          Je chercherai tout de même dès que j’aurai un peu de temps devant moi, et laisserai l’information ici (même si je ne peux la vérifier).
          Bonne semaine fred.

          Répondre
  3. Win 7.
    En plus, dans votre script, il n’est pas fait mention d’un répertoire de sortie pour la sauvegarde du fichier, après recherche sur d’autres site, j’ai rajouté la commande –outfile « mon repertoire\mon fichier ».
    Je ne pense pas que que problème de là.
    De plus lorsque je lance mon script je n’ai pas toujours le même message d’erreur, comme si les informations du manifest changeaient. je suis obligé de relancer la procédure depuis le début.

    Répondre
    • Lorsque vous copiez le lien, vous devez laisser la fenêtre de la vidéo ouverte dans votre navigateur, le temps du téléchargement complet. Si vous fermez la fenêtre web, alors il y a plantage du téléchargement.
      Le répertoire de téléchargement est celui qui contient le fichier AdobeHDS.php (sous linux).
      J’espère que ça vous aidera.

      Répondre
  4. le problème signalé le 22 septembre a disparu le 27 septembre.
    Il est probable que le verrou a été oté.
    Il s’agissait des nouveaux épisodes de l’inspecteur murdoch.

    Répondre
    • Merci de la précision. Je sais que certains groupes audiovisuels cherchent à bloquer complètement ces systèmes. Mais il semble que le CSA est bloqué ces velléités…
      Si ça fonctionne, tant mieux, c’est le but…
      Bon week-end.

      Répondre
  5. Bonjour Christophe et merci pour votre truc qui marche parfaitement sur Mac OSX 10.6.
    En 2 mn c’était fait grâce à vos explications simples et claires.
    Vraiment merci beaucoup pour LA solution qui marche après deux heures perdues vainement à essayer d ‘autres choses.

    Répondre
  6. Bravo pour ce tuto très clair.
    Il m’a permis de récupérer une vidéo de TF1 sans souci. Heureusement que j’avais un Linux sous la main.

    Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.