有没有办法强制为YouTube提供高品质的THUMBNAIL?
我的视频质量非常高,一旦开始流式传输,它们在720p内运行良好,但视频的缩略图质量可变 - 有时它很高,有时它真的很模糊。
有没有办法强制使用高质量的缩略图?我在API文档中发现了这一点 - http://code.google.com/apis/youtube/2.0/reference.html#youtube%5Fdata%5Fapi%5Ftag%5Fmedia:thumbnail但它没有详细说明如何使用媒体标记。
答案 0 :(得分:22)
还有一个“maxres”版本,如果视频分辨率足够高,这是一张“全高清”图片。
http://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
但是,如果视频分辨率不够高,则似乎不会创建此图像。因此,如果“maxres”版本不存在,您可能希望有一个显示质量较低版本的功能。
查看How do I get a YouTube video thumbnail from the YouTube API?了解详情。
答案 1 :(得分:4)
谢谢,Johan回答。
http://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
如果您还想将播放设置为HQ,请使用Javascript API https://developers.google.com/youtube/js_api_reference?hl=fi-FI#Playback_quality
var qualityLevels = self.players[iframeID].getAvailableQualityLevels();
/* Set highest quality */
self.players[iframeID].setPlaybackQuality(qualityLevels[0]);
为了实现这一点,我们首先需要致电:
self.players[iframeID].playVideo();
然后它会触发
self.players[iframeID] = new YT.Player(iframeID, {
events: {
'onReady': function(event) {
var iframe = $(event.target.getIframe());
self.players[iframe.attr('id')].loaded = true;
},
'onStateChange': function(event) {
var iframe = $(event.target.getIframe());
var iframeID = iframe.attr('id');
if(event.data == 1) /* playing */
{
var qualityLevels = self.players[iframeID].getAvailableQualityLevels();
if(self.players[iframeID].getPlaybackQuality() != qualityLevels[0])
{
/* Set highest quality */
self.players[iframeID].setPlaybackQuality(qualityLevels[0]);
}
}
}
}
});
答案 2 :(得分:3)
示例:
http://img.youtube.com/vi/xjFouf6j81g/hqdefault.jpg
其中xjFouf6j81g,videoid
答案 3 :(得分:1)
不是修复或解决方法,但如果您想避免获得低分辨率缩略图,则您的播放器应该大于430px
宽。
因此建议的完美16:9方面的最小尺寸为432 x 243 pixels
,这应该会得到一个漂亮的缩略图。
答案 4 :(得分:0)
据我所知,YouTube仅提供4个缩略图:
http://i.ytimg.com/vi/VIDEO_ID/default.jpg
http://i.ytimg.com/vi/VIDEO_ID/1.jpg
http://i.ytimg.com/vi/VIDEO_ID/2.jpg
http://i.ytimg.com/vi/VIDEO_ID/3.jpg
上传后会生成一次缩略图,因此您无法以任何方式更改缩略图。
修改强>
YouTube JS API可让您强制视频质量,但我不知道它是否会影响视频预览。有关详细信息,请参阅the docs。