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:
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).
http://img.youtube.com/vi/ID/0.jpg http://img.youtube.com/vi/ID/1.jpg http://img.youtube.com/vi/ID/2.jpg 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.
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:
<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.
function getYoutubeID($url) { $tube = parse_url($url); if ($tube["path"] == "/watch") { parse_str($tube["query"], $query); $id = $query["v"]; } else { $id = ""; } return $id; }
Finalmente podemos mostrar el thumbnail del video en alta calidad de la siguiente forma:
<?php $url = "http://www.youtube.com/watch?v=aDaOgu2CQtI"; ?> <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.
[download id=»56″ autop=»false»]
Comentarios Total 9 comentarios
Publicado: 31/07/2011 6:04 am
Genial, muchas gracias por compartir esto, me ha sido de suma utilidad. ¡Gracias otra vez!
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!
Publicado: 04/08/2011 5:04 pm
[…] unijimpe nos enseñan que también podemos crear una función en PHP que nos devuelva el identificador de un […]
Publicado: 12/10/2011 9:52 am
[…] 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 […]
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
Publicado: 18/11/2011 10:18 am
Genial!! … muchas gracias me sirvióoo mucho!!!
Publicado: 15/05/2012 1:24 am
muchas gracias, excelente post, me has solucionado un problema que tenia con esto.
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…
Publicado: 05/06/2012 8:53 pm
[…] 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 […]