Javascript YouTube API、视频尺寸或纵横比

Javascript YouTube API、视频尺寸或纵横比,javascript,youtube,youtube-data-api,youtube-javascript-api,Javascript,Youtube,Youtube Data Api,Youtube Javascript Api,这里有很多单词,所以TL;博士,我正在寻找一种方法来获取任何给定YouTube视频的宽度和高度 使用YouTube API从YouTube视频中获得正确的视频分辨率/纵横比是我最困难的事情。长话短说,我需要一个用户选择的视频来完全填充一个容器,作为内容将悬停在其上的背景视频使用——为了做到这一点,同时使溢出的视频量最少,我需要知道视频的尺寸,以便我可以将其放大,并正确设置中心 我已经摆弄了很多东西(你可能也想看看),但似乎找不到任何真正能让我了解视频内容的东西。我能找到的最接近于某些视频(但不是

这里有很多单词,所以TL;博士,我正在寻找一种方法来获取任何给定YouTube视频的宽度和高度

使用YouTube API从YouTube视频中获得正确的视频分辨率/纵横比是我最困难的事情。长话短说,我需要一个用户选择的视频来完全填充一个容器,作为内容将悬停在其上的背景视频使用——为了做到这一点,同时使溢出的视频量最少,我需要知道视频的尺寸,以便我可以将其放大,并正确设置中心

我已经摆弄了很多东西(你可能也想看看),但似乎找不到任何真正能让我了解视频内容的东西。我能找到的最接近于某些视频(但不是所有视频)的正确方法是使用。part=播放器吐了很多我不想要的东西,加上一些嵌入iframe视频的HTML。iframe标记包含宽度和高度,但它们并不总是正确的

例如,ID为XJK_uVyTBHc的视频返回一个宽度为“480”和高度为“360”的iframe,但在YouTube上观看时,我的视口显示为406x722px,当前和最佳分辨率为608x1080px,大致相同的纵横比(右键单击视频,选择stats供书呆子查看)。我还没有做过非常广泛的测试,但可以确认,至少具有1920x1080px分辨率的视频会返回一个iframe标记,该标记在宽度和高度属性上具有正确的纵横比。我想这是因为YouTube控件在视频中所需的最小高度和宽度,但这无助于解决我的问题!:[


因此,我们在2019年来到这里……是否仍然没有好的方法通过简单的API调用获取YouTube视频的宽度和高度?我是否忽略了某个特定的API操作?如果您看到您提供的视频源代码-
videoId
XJK,将不胜感激_uVyTBHc

查看来源:XJK_uVyTBHc

您将看到这样一段代码:

fmt_list":"22\/406x720...
我认为这就是您要寻找的值。正如您所提到的,API返回iframe,这些值与YouTube网站中显示的值不同


在做更多的测试时,我只是随机选择了一些视频,并通过单击(共享)按钮>插入视频来获取iframe“使用YouTube提供的设置”:

YouTube数据API之前的所有结果都会改变其
宽度
高度
值,如下所示:

  • width=“480”
    height=“270”
  • width=“480”
    height=“360”
在我为您准备的演示中也有相同的结果

我还注意到,“
embeddewidth
”和“
embeddeheight
”没有返回-可能这些字段已弃用,但我找不到任何相关文档

不幸的是,YouTube数据API对于某些任务来说有一定的局限性,比如这个任务


编辑(2019年10月26日):感谢:

如果指定
maxWidth

maxHeight
作为
视频:列表
请求的查询参数


如果您看到您提供的视频的源代码-链接:查看源代码:-您将看到如下代码片段:
fmt_列表”:22\/406x720
。我认为这是您正在寻找的值。正如您所提到的,API返回iframe,这些值与YouTube网站上显示的值不一样。不幸的是,YouTube数据API对于像这样的任务来说有点有限。感谢Mauricio,这不是一个完美的解决方案,但我想我至少会开始研究刮片一旦他们选择了视频,我就可以将其存储在某个地方,至少不必在页面加载时动态获取。Nicholas,我添加了我的评论作为答案(包括更多信息和测试)。希望有帮助。如果没有其他人提供的其他重要信息,我绝对会在一两天内接受这个答案。不过,我非常感谢你的回答,谢谢你的时间!@Nicholas anytime,并感谢你的反馈。我希望其他人也有其他信息。embedWidth或embedHeight是retu如果将maxWidth或maxHeight指定为视频:列表请求的查询参数,则此选项无效。请参阅:@mtkopone谢谢您的“max”提示:糟透了,我们必须做所有这些来获取视频的尺寸。Youtube的API非常糟糕。对某些方面来说是好的,但对另一些方面来说是可怕的。10000配额限制是不够的,几乎不可能得到增加…:/不得不求助于手动抓取某些频道的页面来获取我正在处理的内容。@NehaK你能创建一个新的问题联系了这个问题,我可能会试一试。
Microsoft Windows Mixed Reality update | October 2018:    
<iframe width="560" height="315" src="https://www.youtube.com/embed/00vnln25HBg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Test Video Please Ignore - this is your sample video:    
<iframe width="560" height="315" src="https://www.youtube.com/embed/XJK_uVyTBHc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

The Rasmus - In the Shadows [Crow Version] (Official Video):    
<iframe width="560" height="315" src="https://www.youtube.com/embed/7gwO8-oqwFw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Super Street Fighter IV Hakan Trailer:    
<iframe width="560" height="315" src="https://www.youtube.com/embed/m6uxFzaB4sE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>    

lofi hip hop radio - beats to relax/study to:    
<iframe width="560" height="315" src="https://www.youtube.com/embed/hHW1oY26kxQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
{
 "items": [
  {
   "snippet": {
    "title": "Microsoft Windows Mixed Reality update | October 2018"
   },
   "contentDetails": {
    "dimension": "2d"
   },
   "player": {
    "embedHtml": "<iframe width=\"480\" height=\"270\" src=\"//www.youtube.com/embed/00vnln25HBg\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"
   }
  },
  {
   "snippet": {
    "title": "Test Video Please Ignore"
   },
   "contentDetails": {
    "dimension": "2d"
   },
   "player": {
    "embedHtml": "<iframe width=\"480\" height=\"360\" src=\"//www.youtube.com/embed/XJK_uVyTBHc\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"
   }
  },
  {
   "snippet": {
    "title": "The Rasmus - In the Shadows [Crow Version] (Official Video)"
   },
   "contentDetails": {
    "dimension": "2d"
   },
   "player": {
    "embedHtml": "<iframe width=\"480\" height=\"360\" src=\"//www.youtube.com/embed/7gwO8-oqwFw\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"
   }
  },
  {
   "snippet": {
    "title": "Super Street Fighter IV Hakan Trailer"
   },
   "contentDetails": {
    "dimension": "2d"
   },
   "player": {
    "embedHtml": "<iframe width=\"480\" height=\"270\" src=\"//www.youtube.com/embed/m6uxFzaB4sE\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"
   }
  },
  {
   "snippet": {
    "title": "lofi hip hop radio - beats to relax/study to"
   },
   "contentDetails": {
    "dimension": "2d"
   },
   "player": {
    "embedHtml": "<iframe width=\"480\" height=\"270\" src=\"//www.youtube.com/embed/hHW1oY26kxQ\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"
   }
  }
 ]
}