【问题标题】:Youtube - How to force 480p video quality in embed link / <iframe>Youtube - 如何在嵌入链接/<iframe> 中强制 480p 视频质量
【发布时间】:2012-05-01 00:41:29
【问题描述】:

如何为 iframed Youtube 视频强制 480p 视频质量?

示例代码:

<iframe width="560" height="315" src="http://www.youtube.com/embed/FqRgAs0SOpU" frameborder="0" allowfullscreen></iframe>

【问题讨论】:

    标签: iframe youtube


    【解决方案1】:

    您可以使用YouTube JavaScript player API,它本身具有设置播放质量的功能。

    player.setPlaybackQuality(suggestedQuality:String):Void
    

    此函数设置当前视频的建议视频质量。该功能使视频以新质量重新加载到其当前位置。如果播放质量确实发生了变化,它只会随着正在播放的视频而变化。调用此函数并不能保证播放质量会真正改变。但是,如果播放质量确实发生了变化,onPlaybackQualityChange 事件将触发,并且您的代码应该响应该事件,而不是它调用 setPlaybackQuality 函数的事实。 [source]

    【讨论】:

    • 我无法直接控制页面代码。我希望我可以在嵌入 URL 中只使用某个参数... :(
    • 不幸的是,他们删除了您可以用来执行此操作的 &fmt= 选项,我不知道为什么..
    • 哦,我不知道 fmt= 被删除了! :(
    【解决方案2】:

    您可以使用fmt=参数并根据下表填写值:

    http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs

    例如:您的网址将变为:

    http://www.youtube.com/embed/FqRgAs0SOpU?fmt=35
    

    【讨论】:

    • 哦,Noooo :( 他们怎么能那样做?
    【解决方案3】:

    我发现,截至 2012 年 5 月,如果您将帧大小设置为使最小像素区域(宽度 • 高度)高于某个阈值,如果您是视频,它会将质量从 360p 提升到 480p至少为 640 x 360。

    我发现将嵌入帧的帧大小设置为 780 x 480 会触发 480p 质量,而不会扭曲视频(放大)。 640 x 585 也以这种方式工作。我也使用了&amp;hd=1 参数,但如果您的视频不是以高清(720p 或更高)上传,我怀疑这有很大的控制力。

    例如:

    <iframe width="780" height="480" src="http://www.youtube.com/embed/[VIDEO-ID]?rel=0&fs=1&showinfo=0&autohide=1&hd=1"></iframe>
    

    当然,缺点是通过设置这些静态框架尺寸,您很可能会在侧面或上方和下方看到黑条,具体取决于您的喜好。

    如果您不关心被截断的控件,您可以继续使用 CSS 和 overflow: hidden 将黑条从框架中裁剪出来,前提是您知道视频的确切尺寸。

    希望这会有所帮助,并希望 Embed 方法有朝一日再次获得离散质量参数!

    【讨论】:

      【解决方案4】:

      将以下参数附加到 Youtube-URL:

      144p: &vq=小
      240p: &vq=小
      360p:&vq=中等
      480p:&vq=large
      720p:&vq=hd720

      例如:

      src="http://www.youtube.com/watch?v=oDOXeO9fAg4"
      

      变成:

      src="http://www.youtube.com/watch?v=oDOXeO9fAg4&vq=large"
      

      【讨论】:

      • 它对我不起作用。只有当我尝试?rel=0&amp;vq=large 时才会这样做。
      • 还要检查youtube视频是否提供360p、480p、720p等。如果缺少480p,设置参数将无效。
      • @pepper_chico:使用标准 iframe 嵌入时需要的 ?rel=0&amp;vq=large,例如&lt;iframe width="560" height="315" src="//www.youtube.com/embed/VIDEOID?rel=0&amp;vq=large" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
      • 它只适用于嵌入视频(你不能在 youtube 网站上使用它),你应该使用src="https://www.youtube.com/embed/VIDEO-ID"src="http://www.youtube.com/watch?v=VIDEO-ID" 甚至没有显示任何视频(至少如果我只是在网络浏览器中打开我的 test.html,而不是从服务器)。如果 iframe 窗口的大小小于 1920x1080px(或 mb 取决于您的显示器),它不会设置为例如 1080p
      • 这个答案仅适用于在浏览器中观看视频,而不是通过 iframe 嵌入,根据原始问题。
      【解决方案5】:

      您也可以使用 1080 高清值:

      240p: &vq=small , 360p: &vq=medium , 480p: &vq=large , 720p: &vq=hd720 , &vq=hd1080

      【讨论】:

        猜你喜欢
        • 2016-07-25
        • 1970-01-01
        • 2011-05-22
        • 2012-05-29
        • 2012-01-14
        • 2011-06-09
        • 1970-01-01
        • 2012-04-11
        • 1970-01-01
        相关资源
        最近更新 更多