【问题标题】:Getting youtube videos in high quality获取高质量的 youtube 视频
【发布时间】:2013-02-13 05:01:25
【问题描述】:

我正在使用 mediaelement 播放器从 youtube 流式传输视频。然而,我得到的视频质量很差。我尝试使用以下命令强制播放最高质量:

  <source type="video/youtube" src='http://www.youtube.com/watch?v=WA4iX5D9Z64&hd=1'></source>

但是,这不起作用。如何以尽可能高的质量取回视频或指定我想要的质量。

【问题讨论】:

    标签: youtube video-streaming youtube-api


    【解决方案1】:

    一般来说,只有当视频窗口足够大以处理更高的分辨率时,Youtube API 才会尊重 hd 参数......因此,如果您的 iFrame 最终只有 640x360,即使使用 hd,您也将获得 360p 视频=1 已添加。这可以通过增加 iFrame 的大小(或传递给 API 的高度/宽度参数)或通过使用 vq 参数来指定您想要的质量(即 vq=720p 或类似的东西)来更改。

    但是,您的情况很复杂,因为您自己没有与 API 交互或使用简单的 iFrame 嵌入,而是使用 mediaelement 播放器包装它。在查看源代码时,似乎当 mediaelement 与 Youtube API 交互时,除了 Youtube ID 本身之外,它没有传递任何参数(在“playerVars”数组中),因此 hd 或 vq 都不会有任何效果.更改播放器的大小仍然有效;例如,

    <video width="1280" height="720" id="player1" preload="none">
        <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI"/>
    </video>
    

    将为您提供比以下质量更高的视频:

    <video width="640" height="360" id="player1" preload="none">
        <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI"/>
    </video>
    

    当你执行 mediaelement 回调时。

    如果您不想增加播放器的大小但仍然有更高质量的视频,您可以修补 mediaelement-and-player.js 文件以确保它将 vq 参数发送到 API,然后在 src 属性中使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      相关资源
      最近更新 更多