强制为 YouTube 提供高质量缩略图
Posted
技术标签:
【中文标题】强制为 YouTube 提供高质量缩略图【英文标题】:Force High Quality Thumbnails for YouTube 【发布时间】:2012-02-21 14:10:33 【问题描述】:有没有办法强制为 YouTube 提供高质量的缩略图?
我的视频质量非常高,一旦开始流式传输,它们在 720p 下运行良好,但是视频的缩略图质量参差不齐 - 有时质量很高,有时真的很模糊。
有没有办法强制生成高质量的缩略图?我在 API 文档中找到了这个 - http://code.google.com/apis/youtube/2.0/reference.html#youtube%5Fdata%5Fapi%5Ftag%5Fmedia:thumbnail 但它没有详细说明如何使用媒体标签。
【问题讨论】:
【参考方案1】:还有一个“maxres”版本,如果视频分辨率足够高,它是“全高清”图片。
http://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
但是,如果视频分辨率不够高,则似乎无法创建此图像。因此,如果“maxres”版本不存在,您可能需要一个显示较低质量版本的功能。
查看How do I get a YouTube video thumbnail from the YouTube API? 了解更多信息。
【讨论】:
嗯,我的视频是 780p,但播放质量很高,但缩略图质量是可变的。问题不在于猜测缩略图,而是让 YouTube 将其显示在“播放”符号下方。不过目前看来不可能。 我不知道您使用的是什么视频或尺寸,但是当我尝试嵌入另一个高清视频时,如果视频播放器对象太小,它似乎会加载低分辨率图片。当我将相同的视频嵌入到大型播放器(即 1000x700)中时,我得到了最大分辨率版本。 感谢您的网址。有没有办法强制在嵌入视频播放器中使用它? 我认为您的 iframe 网址中的要求是&hd=1
,并且 iframe 必须大于 1280x720 像素,但我不能发誓。【参考方案2】:
谢谢约翰的回答。
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]);
);
【讨论】:
【参考方案3】:例子:
http://img.youtube.com/vi/xjFouf6j81g/hqdefault.jpg
其中 xjFouf6j81g,视频 ID
【讨论】:
您的回复是唯一对我有用的回复,即使在多个线程中也是如此。谢谢。 该链接是 YouTube API V3 或更低版本的一部分吗?因为如果它来自 V2 或更低版本,那么我很确定 Google 会弃用它? @Dmitriy - 见:jsoneditoronline.org/?id=eb9de39901849211fd7fc42daabc6c0b。此 json 用于视频 ID:C2omic5yWRQ。它的 maxresdefault.jpg 的分辨率为 1280x720,而 hqdefault.jpg 只有 480x360。 @saurabheights 这个 JSON 是从哪个 URL 请求的? @agrath:youtube.com/watch?v=C2omic5yWRQ。制作很简单,打开任何 youtube 视频并替换 v 参数的值。【参考方案4】:据我所知,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 了解更多信息。
【讨论】:
谢谢,但是如何将它们应用到视频中,以便在“播放”按钮下显示高质量的缩略图?【参考方案5】:问题已在此处报告:https://code.google.com/p/gdata-issues/issues/detail?can=2&start=0&num=100&q=&colspec=API%20ID%20Type%20Status%20Priority%20Stars%20Summary&groupby=&sort=&id=4590
不是修复或解决方法,但如果您想避免获得低分辨率缩略图,您的播放器应该大于 430px
宽。
因此,完美 16:9 纵横比的建议最小尺寸为 432 x 243 pixels
,这应该会得到一个漂亮的缩略图。
【讨论】:
以上是关于强制为 YouTube 提供高质量缩略图的主要内容,如果未能解决你的问题,请参考以下文章
从 YouTube API 中获得 YouTube 视频的缩略图