Lý do là do độ phân giải trên Making the Most of Maps không phải là ít nhất 720p.
Nhìn vào api for this specific video, bạn có thể thấy rằng không có maxresdefault
.
Chỉ những video có độ phân giải 720p trở lên mới có maxresdefault
. Điều này không được liệt kê trong API trong video cao hơn. Vì vậy, để có được độ phân giải cao nhất, bạn cũng nên kiểm tra xem maxresdefault
có hoạt động không.
<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'/>
đặt cược tốt nhất của bạn cho các thumbnail chất lượng cao nhất là sử dụng các API và nhận được hình ảnh với yt:name
thuộc tính lớn nhất.
Trình tự là:
default
mqdefault
hqdefault
sddefault
Ví dụ mã này trong hành động:
<?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.'">';
này hoạt động cả trên $youtub_id = "Cj6ho1-G6tw";
và $youtub_id = "VGazSZUYyf4";
.
Nguồn
2013-08-03 05:30:56
+1, tôi muốn chỉ ra rằng điều này có thể xảy ra với máy chủ nhiều lần hơn mức cần thiết. –
Vâng, bạn nói đúng. Sử dụng API sẽ hiệu quả hơn. –
Không phải là 'break' ở đây là hoàn toàn không cần thiết? – redanimalwar