Récupérer la plus haute résolution de miniatures de YouTube
Je veux obtenir youtube plus haut miniature "maxresdefault.jpg"
Comme celui-ci
http://i.ytimg.com/vi/Cj6ho1-G6tw/maxresdefault.jpg
Je suis en utilisant ce simple code php
<?php
$youtub_id = "Cj6ho1-G6tw";
echo "http://i.ytimg.com/vi/".$youtub_id."/maxresdefault.jpg";
?>
Le problème avec le code ci-dessus est il y a des vidéos comme celui-ci http://youtu.be/VGazSZUYyf4 PAS HD
Et le résultat est gris petit 404 image de youtube
http://i.ytimg.com/vi/VGazSZUYyf4/maxresdefault.jpg
Donc comment obtenir le plus haut vignette de youtube donc si "maxresdefault" n'est pas disponible obtenir la prochaine grande vignette "hqdefault", si pas le côté "mqdefault" etc ...
J'ai essayé d'utiliser gdata youtube mais de toute façon la vidéo hd ou pas "maxresdefault" pas à l'affiche.
source d'informationauteur Jim | 2013-08-03
Vous devez vous connecter pour publier un commentaire.
La raison en est que la résolution sur Faire le Plus de Cartes n'est pas au moins 720p.
à la Recherche à la api pour cette vidéovous pouvez voir qu'il n'y a pas demaxresdefault
.Seulement des vidéos en 720p ou plus dans la résolution ont
maxresdefault
. Ce n'est pas répertoriée dans l'API dans les vidéos qui sont plus élevés. Donc, afin d'obtenir la résolution la plus élevée, vous devriez également vérifier si lamaxresdefault
fonctionne aussi bien.Votre meilleur pari pour la plus haute qualité vignette est de l'utilisation de l'API et de l'image avec le plus grand
yt:name
attribut.L'ordre est:
Exemple de code de cette action:
Cela fonctionne à la fois sur
$youtub_id = "Cj6ho1-G6tw";
et$youtub_id = "VGazSZUYyf4";
.Toutes les autres réponses qui dépendent des url statiques de grattage ne sont pas pris en charge. Ils peuvent se changer et vous devrez peut-être modifier votre application à chaque fois.
Pour cela, vous devez utiliser Les données de l'API v3. Vous devriez aller avec un vidéos->liste demande avec id=videoId et de la partie=extrait. Dans la réponse que vous allez vérifier l'extrait de code.les vignettes.['haute'].url
Télécharger la Miniature exemple dresse aussi la liste des vignettes.
Vous pouvez utiliser
getimagesize()
et de vérifier si l'image existe (il y afile_exists()
trop, mais il ne peut pas fonctionner très bien, dans ce cas).Vous pouvez utiliser cette fonction pour récupérer la résolution la plus grande capture d'écran d'une vidéo en particulier.
Code:
Utilisation:
De sortie:
Remarque: Cela peut ne pas être la meilleure solution, et c'est un travail si vous ne voulez pas utiliser l'API.
Grâce à Ibrahim Ulukaya de réponse, j'étais en mesure de comprendre pourquoi David Chen précédemment réponse correcte ne fonctionne plus; Google a retiré de qui avant de travailler API. (Méchant, méchant, méchant, Google.)
L'URL suivante renvoie la liste des miniatures d'objets à l'aide de la Les données de l'API v3:
La
{VIDEO_ID}
peut être trouvé dans le cadre de toutes les URL de la vidéo YouTube et la{API_KEY}
vous demande:v3 et
Une fois que vous avez les URL avec votre
VIDEO_ID
etAPI_KEY
substitué pour les espaces réservés, vous devriez obtenir de retour JSON qui ressemble à quelque chose comme ceci:À partir de là, je devine que vous saurez quoi faire...?
Espère que cette aide.