如何使用Vimeo API PHP库请求指定视频质量的链接
Vimeo API指定画质链接获取方案说明
- 早年针对Vimeo PHP库获取指定画质问题的解决方案目前依然完全生效,Vimeo官方至今没有调整视频文件列表的返回规则:接口返回的转码文件数组没有固定排序,也不存在可以直接指定返回2K/4K单一条目的请求参数,遍历/筛选文件数组本身就是官方认可的标准处理流程。
- 你当前使用
array_filter()筛选响应结果的方案是合理实现,不存在性能或者逻辑问题,只需要补全匹配规则和兜底逻辑即可,参考代码如下:
// 配置目标画质:4K对应2160p,2K对应1440p,1080p对应1080p $targetQuality = '2160p'; $fileList = $apiResponse['files']; // 接口返回的视频文件数组 // 筛选匹配目标画质的无加密MP4文件 $targetFile = array_filter($fileList, function($item) use ($targetQuality) { return $item['quality'] === $targetQuality && $item['type'] === 'video/mp4' && !isset($item['drm']); }); // 兜底逻辑:目标画质不存在时,自动取当前可用的最高画质文件 if (empty($targetFile)) { usort($fileList, function($a, $b) { return $b['height'] <=> $a['height']; }); $targetFile = reset($fileList); } else { $targetFile = reset($targetFile); } $playLink = $targetFile['link'];
注意:如果对应视频未完成目标画质转码、或者当前账号没有高画质访问权限,接口不会返回对应规格的文件条目,必须配置降级逻辑,避免出现拿不到播放地址的问题。
内容的提问来源于stack exchange,提问作者Moucky
相关产品推荐
相关产品推荐

