gpt4 book ai didi

php - 获取 YouTube 最高缩略图分辨率

转载 作者:IT王子 更新时间:2023-10-29 00:00:44 25 4
gpt4 key购买 nike

我想获得youtube最高缩略图“maxresdefault.jpg”

喜欢这个

http://i.ytimg.com/vi/Cj6ho1-G6tw/maxresdefault.jpg

我正在使用这个简单的 php 代码

<?php

$youtub_id = "Cj6ho1-G6tw";
echo "http://i.ytimg.com/vi/".$youtub_id."/maxresdefault.jpg";

?>

上面代码的问题是有像这样的视频http://youtu.be/VGazSZUYyf4 非高清

结果是youtube的灰色小404图片

http://i.ytimg.com/vi/VGazSZUYyf4/maxresdefault.jpg

那么如何获得最高的 youtube 缩略图,如果“maxresdefault”不可用,则获取下一个大缩略图“hqdefault”,如果不可用,则获取下一个“mqdefault”等......

我尝试使用 gdata youtube但无论哪种方式,视频高清或不显示“maxresdefault”。

最佳答案

原因是因为Making the Most of Maps上的决议至少不是 720p。

查看 api for this specific video ,可以看到没有maxresdefault

只有分辨率为 720p 或更高的视频才有 maxresdefault。这未在较高视频的 API 中列出。因此,为了获得最高分辨率,您还应该检查 maxresdefault 是否也能正常工作。

<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/default.jpg' height='90' width='120' time='00:15:12.500' yt:name='default'/>
<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/mqdefault.jpg' height='180' width='320' yt:name='mqdefault'/>
<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/hqdefault.jpg' height='360' width='480' yt:name='hqdefault'/>
<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/1.jpg' height='90' width='120' time='00:07:36.250' yt:name='start'/>
<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/2.jpg' height='90' width='120' time='00:15:12.500' yt:name='middle'/>
<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/3.jpg' height='90' width='120' time='00:22:48.750' yt:name='end'/>

要获得最高质量的缩略图,最好的办法是使用 API 并获取具有最大 yt:name 属性的图像。

顺序是:

default
mqdefault
hqdefault
sddefault

此操作的示例代码:

<?php

$youtub_id = "VGazSZUYyf4";

$images = json_decode(file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$youtub_id."?v=2&alt=json"), true);
$images = $images['entry']['media$group']['media$thumbnail'];
$image = $images[count($images)-4]['url'];

$maxurl = "http://i.ytimg.com/vi/".$youtub_id."/maxresdefault.jpg";
$max = get_headers($maxurl);

if (substr($max[0], 9, 3) !== '404') {
$image = $maxurl;
}

echo '<img src="'.$image.'">';

这适用于 $youtub_id = "Cj6ho1-G6tw";$youtub_id = "VGazSZUYyf4";

关于php - 获取 YouTube 最高缩略图分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com