Solución:
YouTube almacena muchos tipos diferentes de miniaturas en su servidor para diferentes dispositivos. Puede acceder a él utilizando la identificación de video que tiene cada video de YouTube. Puede mostrar las imágenes en su sitio web usando una variable $link
que contiene la identificación del video y lo sustituye en el lugar de video_ID en el enlace.
Miniatura de baja calidad:
http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/sddefault.jpg
Miniatura de calidad media:
http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/mqdefault.jpg
Miniatura de alta calidad:
http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/hqdefault.jpg
Miniatura de máxima calidad:
http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/maxresdefault.jpg
Ejemplo:
Si desea acceder a la miniatura del siguiente video:
https://www.youtube.com/watch?v=Q-GYwhqDo6o
ID de video: Q-GYwhqDo6o
Entonces, así es como se ve el enlace de la miniatura del video:
http://img.youtube.com/vi/Q-GYwhqDo6o/mqdefault.jpg
Espero eso ayude. Disfrute de la codificación.
Para obtener una imagen de alta calidad, puede usar la siguiente URL que se obtiene de la API de YouTube
$video_id = explode("?v=", $link);
$video_id = $video_id[1];
$thumbnail="http://img.youtube.com/vi/".$video_id."/maxresdefault.jpg";
Puede utilizar el siguiente código. Es un trabajo para mi. Elija la calidad de imagen según sus necesidades.
<?php
$youtubeID = getYouTubeVideoId('youtube video url');
$thumbURL = 'https://img.youtube.com/vi/' . $youtubeID . '/mqdefault.jpg';
print_r($thumbURL);
function getYouTubeVideoId($pageVideUrl) {
$link = $pageVideUrl;
$video_id = explode("?v=", $link);
if (!isset($video_id[1])) {
$video_id = explode("youtu.be/", $link);
}
$youtubeID = $video_id[1];
if (empty($video_id[1])) $video_id = explode("/v/", $link);
$video_id = explode("&", $video_id[1]);
$youtubeVideoID = $video_id[0];
if ($youtubeVideoID) {
return $youtubeVideoID;
} else {
return false;
}
}
?>