【问题标题】:Force High Quality Thumbnails for YouTube强制为 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 但它没有详细说明如何使用媒体标签。

【问题讨论】:

    标签: javascript youtube youtube-api


    【解决方案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,这应该会得到一个漂亮的缩略图。

      【讨论】:

        猜你喜欢
        • 2014-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-12
        • 2011-10-11
        • 2015-04-23
        • 2021-07-07
        • 1970-01-01
        相关资源
        最近更新 更多