使用Vimeo API php库请求特定的视频质量?
我希望在我的网站上使用Vimeo作为我自己的视频播放器的CDN,但我一直不知道如何为每种质量请求特定的视频URL。我希望做的是检索3个特定质量的3个特定视频链接:4k、3k和2k 问题是Vimeo以数组的形式提供视频数据,视频质量似乎是随机索引的。以下代码将打印特定Vimeo ID的视频URL,但索引为0的视频可能是4k版本、1080 hd版本、3k版本。。。这是随机的。有没有一种方法可以过滤此内容以请求特定的视频质量?Vimeo的API文档对过滤选项不是很清楚使用Vimeo API php库请求特定的视频质量?,php,vimeo-api,Php,Vimeo Api,我希望在我的网站上使用Vimeo作为我自己的视频播放器的CDN,但我一直不知道如何为每种质量请求特定的视频URL。我希望做的是检索3个特定质量的3个特定视频链接:4k、3k和2k 问题是Vimeo以数组的形式提供视频数据,视频质量似乎是随机索引的。以下代码将打印特定Vimeo ID的视频URL,但索引为0的视频可能是4k版本、1080 hd版本、3k版本。。。这是随机的。有没有一种方法可以过滤此内容以请求特定的视频质量?Vimeo的API文档对过滤选项不是很清楚 $config = requir
$config = require(__DIR__ . '/init.php');
$lib = new Vimeo($config['client_id'], $config['client_secret']);
if (!empty($config['access_token'])) {
$lib->setToken($config['access_token']);
$video = $lib->request('/me/videos/250665164');
} else {
$user = $lib->request('/me');
}
?>
<?php print_r($video['body']['files'][0]['link']); ?>
目前无法从Vimeo API请求特定的视频文件质量。视频不会以任何特定顺序返回-某些质量可能会在其他质量之前完成转码,这取决于原始视频的分辨率、视频的视觉复杂性、当时转码机上的服务器负载以及大量其他变量。现在,您需要获取整个
文件响应,并取出所需的视频文件链接
此外,在抓取这些特定的视频文件时,最好根据其高度/宽度尺寸而不是质量来检索或过滤它们。所有尺寸超过720p的文件都标记为Vimeo的“质量”:“hd”
最后,请注意,Vimeo不转码“3K”版本;对于UHD分辨率源视频,Vimeo将转码为360p、540p、720p、1080p、1440p(2K)和3840p(4K)。此处的更多信息:数组本身似乎包含[quality]
键。你为什么不用它来过滤掉呢?谢谢,当我提到3k时,我指的是2732x1366。我最初的想法是检索整个阵列,然后根据宽度(4096、2732和2048)以编程方式挑出我需要的每个视频源。但在这样做之前,我想确定这是最有名的方法。谢谢你的澄清,我很感激!
[files] => Array
(
[0] => Array
(
[quality] => sd
[type] => video/mp4
[width] => 960
[height] => 480
[link] => http://...
[created_time] => 2018-01-11T18:49:01+00:00
[fps] => 29.97
[size] => 5566399
[md5] => ba7546b1aa42aea63b9adad9d2d62b09
[link_secure] => https://...
)
[1] => Array
(
[quality] => hd
[type] => video/mp4
[width] => 4096
[height] => 2048
[link] => http://...
[created_time] => 2018-01-11T18:49:01+00:00
[fps] => 29.97
[size] => 82082650
[md5] => 0ba6049bb2aa75d52ddb934fde208cbc
[link_secure] => https://...
)