获取YouTube视频缩略图并与PHP一起使用

7 php youtube api youtube-api video-thumbnails

如何使用YouTube API中的视频链接访问YouTube视频的缩略图集.我希望使用PHP使用存储在变量中的视频ID在网站上显示缩略图$link

Ron*_*ews 28

YouTube在其服务器上为不同的设备存储了许多不同类型的缩略图.您可以使用每个YouTube视频所拥有的视频ID来访问它.您可以使用$link保存视频ID的变量在您的网站上显示图像,并将其替换为链接中video_ID的位置.

低质量缩略图:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/sddefault.jpg
Run Code Online (Sandbox Code Playgroud)

中等质量缩略图:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/mqdefault.jpg
Run Code Online (Sandbox Code Playgroud)

高品质缩略图:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/hqdefault.jpg
Run Code Online (Sandbox Code Playgroud)

最高质量缩略图:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/maxresdefault.jpg
Run Code Online (Sandbox Code Playgroud)

例:

如果要访问以下视频的缩略图:

https://www.youtube.com/watch?v=Q-GYwhqDo6o
Run Code Online (Sandbox Code Playgroud)

视频ID: Q-GYwhqDo6o

所以,这就是视频缩略图链接的样子:

http://img.youtube.com/vi/Q-GYwhqDo6o/mqdefault.jpg
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.享受编码.


小智 8

要获得高质量的图像,您可以使用从youtube API获取的以下URL

$video_id = explode("?v=", $link);
$video_id = $video_id[1];
$thumbnail="http://img.youtube.com/vi/".$video_id."/maxresdefault.jpg";
Run Code Online (Sandbox Code Playgroud)


小智 7

您可以使用以下代码。这对我来说是工作。根据您的要求选择图像质量。

<?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;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)