Si j'ai une URL de vidéo YouTube, existe-t-il un moyen d'utiliser PHP et cURL pour obtenir la miniature associée de l'API YouTube?
2400
Si j'ai une URL de vidéo YouTube, existe-t-il un moyen d'utiliser PHP et cURL pour obtenir la miniature associée de l'API YouTube?
Réponses:
Chaque vidéo YouTube contient quatre images générées. Ils sont formatés comme suit:
La première de la liste est une image en taille réelle et d'autres sont des images miniatures. L'image de la vignette par défaut ( par exemple, l' un des
1.jpg
,2.jpg
,3.jpg
) est la suivante :Pour la version haute qualité de la vignette, utilisez une URL similaire à celle-ci:
Il existe également une version de qualité moyenne de la vignette, utilisant une URL similaire au siège:
Pour la version en définition standard de la vignette, utilisez une URL similaire à celle-ci:
Pour la version à résolution maximale de la vignette, utilisez une URL similaire à celle-ci:
Toutes les URL ci-dessus sont également disponibles via HTTP. En outre, le nom d'hôte légèrement plus court
i3.ytimg.com
fonctionne à la place desimg.youtube.com
URL d'exemple ci-dessus.Vous pouvez également utiliser l' API YouTube Data (v3) pour obtenir des images miniatures.
la source
http://www.img.youtube.com
, seulementhttp://img.youtube.com
mqdefault
16: 9sddefault
etmaxresdefault
NE SONT PAS TOUJOURS DISPONIBLES, certaines vidéos les ont cependant ....Vous pouvez utiliser l' API YouTube Data pour récupérer les vignettes vidéo, la légende, la description, la note, les statistiques et plus encore. L'API version 3 nécessite une clé *. Obtenez la clé et créez une vidéo: demande de liste :
Exemple de code PHP
Production
* Non seulement vous avez besoin d'une clé, mais il se peut que l'on vous demande des informations de facturation en fonction du nombre de demandes d'API que vous prévoyez de faire. Cependant, quelques millions de demandes par jour sont gratuites.
Article d'origine .
la source
jsonc
place dejson
getJSON. Il échoue en raison de votre mauvaise structure JSON.jsonc
. Les exemples jQuery et PHP DOIVENT utiliserjson
. Et j'ai mis à jour le code pour le rendre conforme à la nouvelle structure JSON. J'utilise le code en ce moment et cela fonctionne EN DIRECT. alors ne dites pas que cela ne fonctionne pas sans lire les modifications. Merci!v=2
) prend en charge les modifications d'API.Ce qu'Asaph a dit est juste. Cependant, toutes les vidéos YouTube ne contiennent pas les neuf miniatures. De plus, la taille des images des vignettes dépend de la vidéo (les nombres ci-dessous sont basés sur une seule).
Il existe sept miniatures garanties:
En outre, les deux autres miniatures peuvent ou non exister. Leur présence est probablement basée sur la qualité de la vidéo.
Vous pouvez trouver des scripts JavaScript et PHP pour récupérer des miniatures et d'autres informations YouTube dans:
Vous pouvez également utiliser l' outil Générateur d'informations sur les vidéos YouTube pour obtenir toutes les informations sur une vidéo YouTube en soumettant une URL ou un identifiant vidéo.
la source
Dans YouTube API V3, nous pouvons également utiliser ces URL pour obtenir des miniatures ... Elles sont classées en fonction de leur qualité.
Et pour la résolution maximale ..
Un avantage de ces URL par rapport aux URL de la première réponse est que ces URL ne sont pas bloquées par les pare-feu.
la source
Si vous voulez la plus grande image de YouTube pour un ID de vidéo spécifique, l'URL devrait ressembler à ceci:
En utilisant l'API, vous pouvez récupérer une image miniature par défaut. Le code simple devrait ressembler à ceci:
la source
Si vous voulez vous débarrasser des "barres noires" et le faire comme YouTube le fait, vous pouvez utiliser:
Et si vous ne pouvez pas utiliser l'
.webp
extension de fichier, vous pouvez le faire comme ceci:De plus, si vous avez besoin de la version non mise à l'échelle, utilisez
maxresdefault
plutôt quemqdefault
.Remarque: je ne suis pas sûr du rapport hauteur / largeur si vous prévoyez d'utiliser
maxresdefault
.la source
_webp
et remplacez l'extension par.jpg
. Exemple de travail: i.ytimg.com/vi/mJ8tq8AnNis/mqdefault.jpg , je ne suis pas sûr du rapport d'aspect.J'ai créé une fonction pour récupérer uniquement les images existantes de YouTube
la source
Dans YouTube Data API v3 , vous pouvez obtenir les vignettes des vidéos avec la fonction vidéos-> liste . À partir de snippet.thumbnails. (Clé) , vous pouvez choisir la vignette par défaut, moyenne ou haute résolution, et obtenir sa largeur, sa hauteur et son URL.
Vous pouvez également mettre à jour les miniatures avec la fonctionnalité miniatures-> définir .
Pour des exemples, vous pouvez consulter le projet d' exemples d'API YouTube . ( PHP ).
la source
Vous pouvez obtenir l' entrée vidéo qui contient l'URL de la miniature de la vidéo. Il y a un exemple de code dans le lien. Ou, si vous souhaitez analyser XML, il y a des informations ici . Le XML renvoyé contient un
media:thumbnail
élément, qui contient l'URL de la miniature.la source
la source
YouTube appartient à Google et Google aime avoir un nombre raisonnable d'images pour différentes tailles d'écran, donc ses images sont stockées dans différentes tailles. Voici un exemple de la forme de votre miniature:
Vignette de faible qualité:
Vignette de qualité moyenne:
Vignette de haute qualité:
Vignette de qualité maximale:
la source
La version 3 de l'API YouTube est opérationnelle en 2 minutes
Si tout ce que vous voulez faire, c'est rechercher sur YouTube et obtenir les propriétés associées:
Obtenez une API publique - Ce lien donne une bonne direction
Utilisez la chaîne de requête ci-dessous. La requête de recherche (notée q = ) dans la chaîne URL est stackoverflow à titre d'exemple. YouTube vous enverra alors une réponse JSON où vous pourrez ensuite analyser la vignette, l'extrait de code, l'auteur, etc.
https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=50&q=stackoverflow&key=YOUR_API_KEY_HERE
la source
Une autre bonne alternative serait d'utiliser l' API oEmbed qui est prise en charge par YouTube.
Vous ajoutez simplement votre URL YouTube à l'URL oEmbed et vous recevrez un JSON comprenant une vignette et le code HTML pour l'intégration.
Exemple:
Vous donnerait:
Lisez la documentation pour plus d' informations .
la source
Utilisation:
Ci-dessus est le lien. En utilisant cela, vous pouvez trouver les caractéristiques YouTube des vidéos. Après avoir trouvé les caractéristiques, vous pouvez obtenir des vidéos de la catégorie sélectionnée. Après cela, vous pouvez trouver des images vidéo sélectionnées en utilisant la réponse d'Asaph .
Essayez l'approche ci-dessus et vous pouvez tout analyser à partir de l' API YouTube .
la source
J'ai utilisé les miniatures YouTube de cette manière:
N'oubliez pas que YouTube empêche d'inclure des images directement depuis leur serveur.
la source
J'ai trouvé cet outil astucieux qui vous permet de créer l'image avec le bouton de lecture YouTube placé sur l'image:
la source
Juste pour ajouter / développer les solutions données, je pense qu'il est nécessaire de noter que, comme j'ai eu ce problème moi-même, on peut réellement saisir plusieurs contenus de vidéos YouTube, dans ce cas, des miniatures, avec une demande HTTP:
En utilisant un client de repos, dans ce cas, HTTPFUL, vous pouvez faire quelque chose comme ceci:
la source
API de données YouTube
YouTube nous fournit les quatre images générées pour chaque vidéo via l'API Data (v3), par exemple,
https://i.ytimg.com/vi/V_zwalcR8DU/maxresdefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/sddefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/hqdefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/mqdefault.jpg
Accéder aux images via l'API
Selon cela, vous devez formuler votre URL comme ceci -
Maintenant, changez votre ID vidéo et votre clé API en votre ID vidéo et clé api respectifs et sa réponse sera une sortie JSON vous fournissant les quatre liens dans les vignettes de la variable d'extrait (si tous sont disponibles).
la source
Vous pouvez obtenir l'ID vidéo à partir de l'URL de la vidéo YouTube en utilisant parse_url , parse_str , puis insérer dans les URL prédictives des images. Merci à YouTube pour les URL prédictives
Vous pouvez utiliser cet outil pour générer des miniatures YouTube
https://tools.tutsplanet.com/index.php/get-youtube-video-thumbnails
la source
Une simple fonction PHP que j'ai créée pour la vignette YouTube et les types sont
la source
Si vous utilisez l'API publique, la meilleure façon de le faire est d'utiliser des
if
instructions.Si la vidéo est publique ou non répertoriée, vous définissez la miniature à l'aide de la méthode URL. Si la vidéo est privée, vous utilisez l'API pour obtenir la miniature.
la source
Je pense que ce sont de nombreuses réponses pour les vignettes, mais je veux ajouter d'autres URL pour obtenir la vignette YouTube très facilement. Je prends juste un texte de la réponse d'Asaph. Voici quelques URL pour obtenir des miniatures YouTube:
Pour la version haute qualité de la vignette, utilisez une URL similaire à celle-ci:
Il existe également une version de qualité moyenne de la vignette, utilisant une URL similaire à la haute qualité:
Pour la version en définition standard de la vignette, utilisez une URL similaire à celle-ci:
Pour la version à résolution maximale de la vignette, utilisez une URL similaire à celle-ci:
la source
la source
Voici la meilleure réponse optimisée pour une utilisation manuelle. Le jeton d'identification vidéo sans séparateurs permet de sélectionner avec un double clic.
Chaque vidéo YouTube contient quatre images générées. Ils sont formatés comme suit:
La première de la liste est une image en taille réelle et d'autres sont des images miniatures. (. -À- dire une de l'image de la vignette par défaut
1.jpg
,2.jpg
,3.jpg
) est la suivante :Pour la version haute qualité de la vignette, utilisez une URL similaire à celle-ci:
Il existe également une version de qualité moyenne de la vignette, utilisant une URL similaire au siège:
Pour la version en définition standard de la vignette, utilisez une URL similaire à celle-ci:
Pour la version à résolution maximale de la vignette, utilisez une URL similaire à celle-ci:
Toutes les URL ci-dessus sont également disponibles via HTTP. De plus, le nom d'hôte légèrement plus court
i3.ytimg.com
fonctionne à la place deimg.youtube.com
URL d'exemple ci-dessus.Vous pouvez également utiliser l' API YouTube Data (v3) pour obtenir des images miniatures.
la source
Méthode 1:
Vous pouvez trouver toutes les informations pour une vidéo YouTube avec une page JSON qui a même "thumbnail_url", http://www.youtube.com/oembed?format=json&url= {l'URL de votre vidéo va ici}
Comme l'URL finale + le code de test PHP
Production
Pour plus de détails, vous pouvez également voir Comment obtenir une miniature de vidéo YouTube en utilisant id ou https://www.youtube.com/watch?v=mXde7q59BI8 tutoriel vidéo 1
Méthode 2:
En utilisant le lien d'image YouTube, https://img.youtube.com/vi/ "insert-youtube-video-id-here" /default.jpg
Méthode 3:
Utilisation du code source du navigateur pour obtenir la miniature à l'aide du lien URL vidéo - accédez au code source de la vidéo et recherchez thumbnailurl. Vous pouvez maintenant utiliser cette URL dans votre code source:
Pour plus de détails, vous pouvez également voir Comment obtenir une miniature de vidéo YouTube en utilisant id ou https://www.youtube.com/watch?v=9f6E8MeM6PI tutoriel vidéo 2
la source
https://www.youtube.com/watch?v=mXde7q59BI8
ethttps://www.youtube.com/watch?v=9f6E8MeM6PI
sont (effectivement) rompus.Utilisation
img.youtube.com/vi/YouTubeID/ImageFormat.jpg
Ici, les formats d'image sont différents comme default, hqdefault, maxresdefault.
la source
Ceci est ma solution côté client uniquement sans clé API.
Le code:
Utilitaire
image.js
:Utilitaire
url.js
:la source
Voici une fonction simple que j'ai créée pour obtenir les vignettes. Il est facile à comprendre et à utiliser.
$ link est le lien YouTube copié exactement tel qu'il est dans le navigateur, par exemple, https://www.youtube.com/watch?v=BQ0mxQXmLsk
la source
&t=227s
?Enregistrez ce code dans un fichier .php vide et testez-le.
Merci.
la source
la source