You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Vimeo API获取私有.mp4视频直链用于HTML5 video标签?

获取Vimeo视频直链用于自定义HTML5播放器

要拿到能直接给<video>标签用的.mp4直链,你需要调整API请求的两个关键点:权限和返回字段。

1. 确认Token权限

你的Vimeo Access Token必须包含**video_files**权限。如果之前创建token时没勾选这个,得去Vimeo开发者后台重新生成一个带该权限的token。

2. 修改API请求获取视频文件数据

默认的/videos/{id}接口不会返回视频文件的直链,你需要在请求URL里添加fields参数,明确要求返回files字段。修改你的代码如下:

export const getVimeoData = async (id: string) => {
  try {
    const response = await fetch(`https://api.vimeo.com/videos/${id}?fields=files,title,description`, {
      method: 'GET',
      headers: {
        'Content-Type': 'application/json',
        Authorization: `Bearer ${process.env.VIMEO_TOKEN}`,
      },
    });
    
    const data = await response.json();
    
    // 从返回的files数组里挑选合适的分辨率文件
    // 这里示例选最高分辨率的,你也可以根据需求筛选
    const highestQualityFile = data.files?.sort((a, b) => b.width - a.width)[0];
    const videoUrl = highestQualityFile?.link;
    
    console.log('可用视频直链:', videoUrl);
    return { videoUrl, title: data.title, description: data.description };
  } catch (err) {
    console.error('获取Vimeo数据失败:', err);
    return null;
  }
};

注意事项

  • Vimeo返回的视频直链有有效期(通常几小时),不能长期缓存,建议每次播放前重新请求。
  • files数组里包含不同分辨率、码率的视频文件,你可以根据设备性能或用户需求筛选合适的文件(比如通过width、height或quality字段判断)。
  • 确保你的token没有过期,且权限正确,否则会返回403或无法获取files字段。

内容的提问来源于stack exchange,提问作者Filth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 03:42:13