如果我有 YouTube 视频网址,有没有办法使用 PHP 和 cURL 从 YouTube API 获取相关缩略图?
每个 YouTube 视频都有 4 个生成的图片。它们的格式可预测如下:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
列表中的第一个是全尺寸图像,其他是缩略图图像。默认缩略图图像(即1.jpg
, 2.jpg
, 3.jpg
)是:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
对于高质量版本的缩略图,请使用与此类似的网址:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
还有一个中等质量版本的缩略图,使用类似于总部的网址:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
对于缩略图的标准定义版本,请使用与此类似的 URL:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg
对于缩略图的最大分辨率版本,请使用与此类似的 URL:
https://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
所有上述网址都可通过 http 获取。此外,稍微短的主机名i3.ytimg.com
在上面的示例网址中代替img.youtube.com
。
或者,您可以使用YouTube Data API(v3)获取缩略图。
您可以使用YouTube Data API检索视频缩略图,标题,说明,评分,统计信息等。 API 版本 3 需要密钥 *。获取密钥并创建视频:列表请求:
https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=VIDEO_ID
示例 PHP 代码
$data = file_get_contents("https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=T0Jqdjbed40");
$json = json_decode($data);
var_dump($json->items[0]->snippet->thumbnails);
产量
object(stdClass)#5 (5) {
["default"]=>
object(stdClass)#6 (3) {
["url"]=>
string(46) "https://i.ytimg.com/vi/T0Jqdjbed40/default.jpg"
["width"]=>
int(120)
["height"]=>
int(90)
}
["medium"]=>
object(stdClass)#7 (3) {
["url"]=>
string(48) "https://i.ytimg.com/vi/T0Jqdjbed40/mqdefault.jpg"
["width"]=>
int(320)
["height"]=>
int(180)
}
["high"]=>
object(stdClass)#8 (3) {
["url"]=>
string(48) "https://i.ytimg.com/vi/T0Jqdjbed40/hqdefault.jpg"
["width"]=>
int(480)
["height"]=>
int(360)
}
["standard"]=>
object(stdClass)#9 (3) {
["url"]=>
string(48) "https://i.ytimg.com/vi/T0Jqdjbed40/sddefault.jpg"
["width"]=>
int(640)
["height"]=>
int(480)
}
["maxres"]=>
object(stdClass)#10 (3) {
["url"]=>
string(52) "https://i.ytimg.com/vi/T0Jqdjbed40/maxresdefault.jpg"
["width"]=>
int(1280)
["height"]=>
int(720)
}
}
* 您不仅需要密钥,还可能会要求您提供结算信息,具体取决于您计划进行的 API 请求的数量。但是,每天几百万的请求是免费的。
来源文章 。
亚萨说的是对的。但是,并非每个 YouTube 视频都包含所有九个缩略图,但每个视频都有七个缩略图。他们是:
(图像大小取决于视频。)
播放器背景缩略图(480x360 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/0.jpg
开始缩略图(120x90 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/1.jpg
中间缩略图(120x90 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/2.jpg
结束缩略图(120x90 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/3.jpg
高品质缩略图(480x360 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/hqdefault.jpg
中等质量缩略图(320x180 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/mqdefault.jpg
普通质量缩略图(120x90 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/default.jpg
此外,接下来的两个缩略图可能存在也可能不存在。对于 HQ 视频,他们存在。
标准清晰度缩略图(640x480 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/sddefault.jpg
最大分辨率缩略图(1920x1080 像素)
https://i1.ytimg.com/vi/G0wGs3useV8/maxresdefault.jpg
您可以获取 JavaScript 和 PHP 脚本来检索缩略图和其他 YouTube 信息
还可以使用YouTube 视频信息生成工具,通过提交网址或视频 ID 获取YouTube 视频的所有信息。