skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

dimanche 7 novembre 2010

Liste des thumbnails d'une vidéo YouTube

Publié par Infinite Loop, à 10 h 53 0 commentaire

Je vous ai montré plus tôt cette semaine comment valider la syntaxe d'un lien YouTube et extraire la clé de l'URL. Maintenant, je vais vous montrer comment, à l'aide d'un composant du Zend Framework, obtenir la liste des thumbnails d'une vidéo YouTube.

Pour ce faire, j'ai utilisé la classe Zend_Gdata_YouTube. Si vous comptez récupérer des données en mode lecture seule, vous n'aurez pas besoin de vous authentifier au service.

Liez d'abord la classe principale à votre projet :

require_once('Zend/Gdata/YouTube.php');
Si vous n'utilisez pas l'autoloader, vous risquez d'obtenir le message suivant :

Fatal error: Class 'Zend_Uri_Http' not found

Si c'est le cas, vous avez le choix d'utiliser le mécanisme d'autoload ou bien d'inclure la classe Zend_Uri_Http :
require_once('Zend/Uri/Http.php');
Vous pouvez alors instancier l'objet et récupérer les informations d'une vidéo en passant la clé extraite de l'URL à la fonction getVideoEntry(). Idéalement, utilisez un try/catch pour attraper les exceptions, par exemple au cas où la clé fournie est érronée ou n'existe plus.
# clé de la vidéo à récupérer
$key = 'lX1r6fQjBq4';

$youtube = new Zend_Gdata_YouTube();
$youtube->setMajorProtocolVersion(2);

try{
$video = $youtube->getVideoEntry($key);
$thumbnails = $video->getVideoThumbnails();

foreach($thumbnails as $image){
echo $image['url'] . "\n";
echo $image['width'] . "\n";
echo $image['height'] . "\n";

# correspond à quel moment de la vidéo la capture a été prise
# echo $image['time'] . "\n";
}
}
catch(Exception $e){
# Expected response code 200, got 400 GData InvalidRequestUriException Invalid id
echo $e->getMessage();
# throw new Exception($e);
}
Si vous ne réussissez pas à faire fonctionner cet exemple et que le message d'erreur ci-dessous est affiché, vérifiez votre version du ZF. Je n'ai eu qu'à mettre à jour ma vieille version du ZF vers la version 1.10.8 pour qu'il disparaisse.

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1 bytes)

Enfin, vous devez savoir qu'il y aura toujours une image nommée default.jpg, que les autres seront numérotées [1-n].jpg et que l'image haute définition est hqdefault.jpg. Autrement dit, si vous connaissez la clé unique, vous pouvez recomposer le lien vers les images en l'insérant dans l'URL :
  • http://i.ytimg.com/vi/CLÉ/default.jpg
  • http://i.ytimg.com/vi/CLÉ/hqdefault.jpg


Tags: PHP, Zend Framework

0 réponse à "Liste des thumbnails d'une vidéo YouTube"


Publier un commentaire

Message plus récent Messages plus anciens Accueil
S'abonner à : Publier des commentaires (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (56)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ►  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ►  octobre 2013 (3)
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ▼  2010 (398)
      • ►  décembre 2010 (29)
      • ▼  novembre 2010 (28)
        • Des arbres en 3D dans Google Earth 6
        • Tracer une zone circulaire sur une carte Google
        • Citation no. 109 sur Facebook
        • Instrument de musique fabriqué avec des tuyaux
        • Disque dur DeLorean USB de BTTF
        • Les programmeurs mélangent l'Halloween et Noël
        • Top 5 des sites complètement inutiles
        • Désolé, vous ne savez pas compter
        • Comment démarrer une vidéo YouTube à un temps spéc...
        • Citation no. 108 sur le programmeur
        • Clé USB à écran de 16 pouces
        • Mike Patton ressemble tout à fait à Johnny Depp
        • L'éthique des hackers
        • Piège avec un URL en paramètre GET
        • La cohérence chez Brick, c'est imbattable
        • Le framework est-il synonyme de mal ?
        • Citation no. 107 sur l'intelligence
        • Piège JavaScript no. 8 avec delete
        • Acheter une maison à Montréal
        • 1750 RIPJSB Hacker et Musique
        • Convertir un fichier Word docx en format doc
        • Liste des thumbnails d'une vidéo YouTube
        • Citation no. 106 sur l'apprentissage
        • De la base 60 vers le binaire
        • Regex de validation de lien YouTube
        • La poutine, d'un océan à l'autre
        • Zero Clipboard pour pallier à un manque des fureteurs
        • Windows 3.1 en JavaScript dans un browser
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (430)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (37)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft