Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Obtener thumbnails de los videos de Youtube
#1
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:
Código PHP:
http://img.youtube.com/vi/ID/default.jpg 
Además se pueden obtener 4 imágenes adicionales, donde la primera es en alta calidad (480x360 pixels) y las siguientes en baja calidad (120x90 pixels).

Código PHP:
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.
Código PHP:
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:

Código PHP:
<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.

Código PHP:
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:

Código PHP:
?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.

Descarga script en PHP de Aqui


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  como obtener efecto nieve fercol 13 399 02-01-2017, 11:38 PM
Último mensaje: onspot
  Obtener la fecha y hora actual en PHP CarlosAlberto 12 623 21-12-2016, 06:16 AM
Último mensaje: yayito21
  script simple para embeber videos en sitio canpios 1 277 18-01-2015, 05:58 AM
Último mensaje: garcon
  Link online para obtener html de una imagen desde word u otra página canpios 0 267 17-12-2014, 10:29 PM
Último mensaje: canpios
  thumbnails papanoel 0 231 22-01-2014, 05:04 AM
Último mensaje: papanoel
Bombilla El menu de youtube para tu foro! Jona 11 1,218 18-01-2014, 07:07 PM
Último mensaje: JsAlexM
  [PHP] Usando $_GET para obtener datos torgar22 7 591 15-05-2013, 06:35 AM
Último mensaje: drako
  Script Php para descargar Videos de Youtube torgar22 3 2,034 03-05-2013, 01:01 AM
Último mensaje: KeviNxDTM
  Galería Canal Youtube forsa 0 585 20-04-2013, 08:16 PM
Último mensaje: forsa
  Obtener datos de goEar con PHP (Fácil) torgar22 3 739 16-04-2013, 05:37 AM
Último mensaje: Iro



Usuarios navegando en este tema: 1 invitado(s)