✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cómo obtener miniaturas de videos de YouTube, Vimeo y Dailymotion

93

¿Está buscando obtener la miniatura de los videos de YouTube, Vimeo y Dailymotion? Estos 3 son los sitios web para compartir videos más populares en Internet. Cada una de estas plataformas permite a los usuarios obtener la miniatura del video de sus videos. En este artículo, vemos cómo obtener la miniatura usando la URL del video de estas plataformas.

Cuando integra una galería de videos en los sitios web, debe mostrar las miniaturas de los videos. Y luego, al hacer clic en la miniatura, debería reproducirse un video relacionado. No se recomienda incrustar videos con una etiqueta iframe. Se necesita mucho ancho de banda de un servidor y aumenta el tamaño de la página.

Voy a escribir un código que obtenga la miniatura del video a través de la URL de un video. Al hacer clic en estas miniaturas, puede reproducir sus videos usando el fancybox o cualquier otra solución personalizada que prefiera.

Dicho esto, veamos uno por uno cómo obtener miniaturas de videos de YouTube, Vimeo y Dailymotion.

Obtener miniatura de la URL del video de YouTube

Para nuestro tutorial, supongo que está pasando la URL del video para obtener la miniatura de un video. En el caso de YouTube, existen varios tipos de URL válidas disponibles. A continuación se muestran las URL válidas del video de YouTube:

El siguiente método extrae la identificación del video de cualquiera de los formatos de URL anteriores.

<?php
function extractVideoID($url){
    $regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";
    preg_match($regExp, $url, $video);
    return $video[7];
}
?>

Una vez que extrajo la identificación del video de la URL, puede obtener fácilmente una miniatura del video usando el siguiente método:

<?php
function getYouTubeThumbnailImage($video_id) {
    return "//i3.ytimg.com/vi/$video_id/hqdefault.jpg";
}
?>

Aquí, obtenemos la miniatura predeterminada con hqdefault.jpg. Se pueden pasar diferentes valores como 0.jpg, 1.jpgpara obtener diferentes tamaños de miniatura.

Entonces, nuestro código final para obtener la miniatura de la URL del video de YouTube es:

<?php
function extractVideoID($url){
    $regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";
    preg_match($regExp, $url, $video);
    return $video[7];
}
 
function getYouTubeThumbnailImage($video_id) {
    return "https://i3.ytimg.com/vi/$video_id/hqdefault.jpg"; //pass 0,1,2,3 for different sizes like 0.jpg, 1.jpg
}
 
$video_url = 'YOUTUBE_VIDEO_URL';
$video_id = extractVideoID($video_url);
$thumbnail =  getYouTubeThumbnailImage($video_id);
echo "<img src='$thumbnail' />";
?>

Obtener miniaturas de los videos de Vimeo y Dailymotion

Mientras buscaba una solución para extraer la identificación de video de las URL de video de Vimeo y Dailymotion, encontré este recurso. Usé su método para extraer la identificación de video de las URL de video de Vimeo y Dailymotion. Este método admite todos los formatos de URL válidos de los videos de Vimeo y Dailymotion.

En caso de obtener miniaturas de videos de Vimeo, el código será el siguiente:

<?php
function getVimeoId($url)
{
    if (preg_match('#(?:https?://)?(?:www.)?(?:player.)?vimeo.com/(?:[a-z]*/)*([0-9]{6,11})[?]?.*#', $url, $m)) {
        return $m[1];
    }
    return false;
}
 
function getVimeoThumb($id)
{
    $arr_vimeo = unserialize(file_get_contents("https://vimeo.com/api/v2/video/$id.php"));
    return $arr_vimeo[0]['thumbnail_small']; // returns small thumbnail
    // return $arr_vimeo[0]['thumbnail_medium']; // returns medium thumbnail
    // return $arr_vimeo[0]['thumbnail_large']; // returns large thumbnail
}
 
$video_url = 'VIMEO_VIDEO_URL';
$video_id = getVimeoId($video_url);
$thumbnail = getVimeoThumb($video_id);
echo "<img src='$thumbnail' />";
?>

Para los videos de Vimeo, podemos usar 3 valores como thumbnail_small, thumbnail_medium, thumbnail_large para obtener tamaños de miniatura pequeños, medianos y grandes respectivamente.

Finalmente, el código para obtener la miniatura del video de Dailymotion es el siguiente.

<?php
function getDailyMotionId($url)
{
    if (preg_match('!^.+dailymotion.com/(video|hub)/([^_]+)[^#]*(#video=([^_&]+))?|(dai.ly/([^_]+))!', $url, $m)) {
        if (isset($m[6])) {
            return $m[6];
        }
        if (isset($m[4])) {
            return $m[4];
        }
        return $m[2];
    }
    return false;
}
 
function getDailymotionThumb($id) {
    $thumbnail_large_url = 'https://api.dailymotion.com/video/'.$id.'?fields=thumbnail_360_url'; //pass thumbnail_360_url, thumbnail_480_url, thumbnail_720_url, etc. for different sizes
    $json_thumbnail = file_get_contents($thumbnail_large_url);
    $arr_dailymotion = json_decode($json_thumbnail, TRUE);
    $thumb = $arr_dailymotion['thumbnail_360_url'];
    return $thumb;    
}
 
$video_url = 'DAILYMOTION_VIDEO_URL';
$video_id = getDailyMotionId($video_url);
$thumbnail = getDailymotionThumb($video_id);
echo "<img src='$thumbnail' />";
?>

Espero que comprenda cómo obtener la miniatura de los videos de YouTube, Vimeo y Dailymotion. Si está utilizando cualquier otro método para lograr esto, hágamelo saber en la sección de comentarios a continuación.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More