Obtener thumbnails de los videos de Youtube

Al crear webs que muestren vídeos de Youtube surge la necesidad de mostrar las imágenes del vídeos, esto para los usuarios que no tienen flash o para dispositivos móviles. Obtener estas imágenes es muy sencillo, solo hace falta tener el identificador del vídeo.

Obtener la ruta de las Imágenes

La ruta de las imágenes de los vídeos están basadas en el identificador del video que lo representamos como ID en nuestros ejemplos.

La imagen utilizada por defecto utilizada por Youtube es:

code
  1. http://img.youtube.com/vi/ID/default.jpg

Además se pueden obtener 4 imágenes adicionales, donde la primera es en alta calidad (480×360 pixels) y las siguientes en baja calidad (120×90 pixels).

code
  1. http://img.youtube.com/vi/ID/0.jpg
  2. http://img.youtube.com/vi/ID/1.jpg
  3. http://img.youtube.com/vi/ID/2.jpg
  4. http://img.youtube.com/vi/ID/3.jpg

Obtener las imágenes de Forma Manual

Lo primero que se necesita es el identificador del video, para ello nos fijamos en el URL del vídeo que deseamos e identificamos el parámetro GET con nombre v.

code
  1. http://www.youtube.com/watch?v=aDaOgu2CQtI

En el URL de ejemplo tendríamos el identificador del video: aDaOgu2CQtI. Luego de ello si deseamos mostrar la imágen por defecto tendríamos:

HTML4
  1. <img src="http://img.youtube.com/vi/aDaOgu2CQtI/default.jpg" />

Obtener las Imágenes con PHP

Lo que necesitamos en este caso es crear una función que devuelva el identificador del vídeo para posteriormente utilizarlo en la creación del URL de la imagen. Entonces creamos una función llamada getYoutubeID que parsea el URL ingresado y obtiene el Identificador y si la ruta es invalida devuelve una cadena vacía.

php
  1. function getYoutubeID($url) {
  2.     $tube = parse_url($url);
  3.     if ($tube["path"] == "/watch") {
  4.         parse_str($tube["query"], $query);
  5.         $id = $query["v"];
  6.     } else {
  7.         $id = "";  
  8.     }
  9.     return $id;
  10. }

Finalmente podemos mostrar el thumbnail del video en alta calidad de la siguiente forma:

HTML4
  1. <?php $url = "http://www.youtube.com/watch?v=aDaOgu2CQtI"; ?>
  2. <img src="http://img.youtube.com/vi/<?php echo getYoutubeID($url); ?>/0.jpg" />

Para finalizar he creado una página de ejemplo: PHP Youtube Image donde pueden ingresar el URL del vídeo y visualizar todas las imágenes disponibles. Tambíen les dejo el código fuente de este ejemplo para que lo pueden utilizar libremente.

Comentarios Total 9 comentarios


Nico
Publicado: 31/07/2011 6:04 am

Genial, muchas gracias por compartir esto, me ha sido de suma utilidad. ¡Gracias otra vez!

Andreu
Publicado: 03/08/2011 1:27 pm

Muy bueno! Hace un tiempo hice algo similar para un reproductor de youtube integrado en Moodle como plugin, estaba buscando para hacer algo similar porque ya no me acordaba como iba, gracias!


[...] unijimpe nos enseñan que también podemos crear una función en PHP que nos devuelva el identificador de un [...]


[...] Obtener thumbnails de los videos de Youtube Rate this: Compartir Artículo:Correo electrónicoImprimirDiggLike this:LikeBe the first to like this post. Etiquetas: API, Imagenes, Videos, Youtube [...]

charlescuellar
Publicado: 24/10/2011 5:45 pm

gracias amigo por la info muy buena

pero como le haga para que tambien me muestre el Titulo del Video la Categoria y descripcion de el??

estaria muy agradecido si me ayudaras con eso ps ya llego horas haciendole y nada :(
lo unico que he visto q esta es la url q te devuelve esta esa info es

en donde
el id=aDaOgu2CQtI
http://gdata.youtube.com/feeds/api/videos/aDaOgu2CQtI

Andy
Publicado: 18/11/2011 10:18 am

Genial!! … muchas gracias me sirvióoo mucho!!!

mihalo
Publicado: 15/05/2012 1:24 am

muchas gracias, excelente post, me has solucionado un problema que tenia con esto.

Samir
Publicado: 26/05/2012 4:35 am

Esta muy bueno el tutorial, pero quizas se podrá hacer lo mismo con una imagen grande que al subir al servidor se genere una imagen Thumbnails espero me puedan ayudar tambien le llaman redimensionar imagenes en php, creo…


[...] te ayuda… pucp – YouTube Sigue esto para sacar las imagenes o, si quieres, los thumbnails: Obtener thumbnails de los videos de Youtube | unijimpe Como obtener imagen de un video de youtube usando javascript o php como guardar una imagen de un [...]

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)