强制YouTube的高质量缩略图

时间:2012-01-29 11:15:35

标签: javascript youtube youtube-api

有没有办法强制为YouTube提供高品质的THUMBNAIL?

我的视频质量非常高,一旦开始流式传输,它们在720p内运行良好,但视频的缩略图质量可变 - 有时它很高,有时它真的很模糊。

有没有办法强制使用高质量的缩略图?我在API文档中发现了这一点 - http://code.google.com/apis/youtube/2.0/reference.html#youtube%5Fdata%5Fapi%5Ftag%5Fmedia:thumbnail但它没有详细说明如何使用媒体标记。

5 个答案:

答案 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)

此处已报道问题:
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,这应该会得到一个漂亮的缩略图。

答案 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