IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Creation d'un Manifest Http Dynamic Streaming


Sujet :

Langage Perl

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut Creation d'un Manifest Http Dynamic Streaming
    Bonjour,

    Pour le fun , j'utilise un script Adobe.php pour télécharger du Http Dynamic Streaming dont voici un exemple de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php AdobeHDS.php --manifest "http://bl.rutube.ru/45c3cff061d343cb8245f83f94c239d6.f4m?referer=http://rutube.ru/video/b146d244715030d71c600dcb9bee49c6/&PID=A412000F-E9B9-B38D-F64B-E1D1DB3209F21" --delete
    Celui ci est généré pour un add-ons de firefox HDS Link detector. J'aimerai créer un script perl pour générer ce manifeste. J'ai commencé mais je me suis retrouvé vite bloqué car les sources HTML n'ont pas les infos que l'Add-ons trouve quand je démarre la vidéo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #!/usr/bin/perl
    use strict;
    use warnings;
    use autodie;
    use LWP::Simple;
     
    my $target ="classid";
    my $url =get('http://rutube.ru/video/b146d244715030d71c600dcb9bee49c6/');
     print "$url \n";
    # cherche PID pour Manifest
         foreach ($url) {
             if (m/(?:$target)([^"> ]+)/){
                 print " $target $1\n";
     
             }
        }
    Est ce une question de cookies du module LWP ?

    Dans l'inspecteur de Fiefox on trouve le classid du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body><object id="playerID" class="flash-player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"></object></body>
    Merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Non, je ne pense pas que cela vienne des cookies. Je pense plutôt que cela provient de code HTML généré dynamiquement par du javascript, car si tu regardes le contenu de la page HTML (Firefox -> Code source de la page), tu verras que l'élément
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div width="100%" id="video-object-container" class="b-movie__item-object">
    										</div>
    est vide, alors qu'il est rempli avec un iframe (et un document HTML) lorsque la page est chargée dans FF.
    La plugin branche donc sans doute des procédures Jquery (au autre javascript) pour capter les code HTML inséré et récupérer le contenu classid de l'objet. En perl, il faudrait donc mimer ce que fais le javascript, pour autant que ce soit possible...
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Cela dit, dans cette même page, on trouve une balise iframe avec une source pointant plus directement vers la vidéo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="block-blog-code" class="block-blog-code hidden">
      <textarea class="blog-code-ta"><iframe width="720" height="405" src="http://rutube.ru/video/embed/6349307" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>  </textarea>
    </div>
    Peut-être quand récupérant cette URL et en la "gettant", tu trouveras plus facilement le manifeste ?
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Merci Philou,

    Oui c'est bien la vidéo mais pas le Manifest. L'URL de la vidéo est très facile à générer. le plus difficile est que la vidéo est envoyé en Http Dynamic Streaming. C'est à dire qu'elle est découpée en petit morceau qui sont recollés à la lecture.
    Le script PHP fait cela très bien. Il télécharge tout les fragments puis les colles ensemble tu obtiens une vidéo flv, si tu arrives à lui donner le PID associé à la vidéo Voici le lien du script PHP :
    https://github.com/K-S-V/Scripts/blo...r/AdobeHDS.php


    Comment pourrais je guetter l'activité des URL à travers mon script ?? Quel serait la bonne fonction du LWP ou le bon module, s'ils existent?

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Pour moi, tu ne peux pas "guetter", car le code Javascript qui fait ces requêtes n'est pas exécuté.
    Peux-être devrais-tu d'abord regarder avec l'extension "Tamper Data" de FF pour identifier les requêtes http qui sont faites lors du chargement de la page, afin d'identifier dans quel code javascript les requêtes sont faites.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

Discussions similaires

  1. Player HLS (Http Live Streaming) sur tablette
    Par broadpeak dans le forum Android
    Réponses: 5
    Dernier message: 31/05/2012, 12h44
  2. Android et HTTP Adaptative Streaming
    Par Cdic83 dans le forum Android
    Réponses: 2
    Dernier message: 29/06/2010, 17h24
  3. Creation projet Web dynamic
    Par menuge dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/10/2006, 15h27
  4. [Net] Creation serveur HTTP en C++
    Par Yannos94 dans le forum C++
    Réponses: 13
    Dernier message: 14/11/2005, 12h05
  5. [C#] Probleme de creation de fichier avec Stream
    Par freddyboy dans le forum C#
    Réponses: 7
    Dernier message: 07/06/2004, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo