全部产品
Search
文档中心

视频点播:下载媒体文件

更新时间:Feb 06, 2026

将视频点播(VOD)中的音视频、图片等媒体文件下载至本地,是媒资管理、内容分发和离线播放等场景的常见需求。本文介绍了通过控制台、API/SDK以及移动端SDK等多种方式,快速、安全、经济地获取媒体文件下载地址并完成下载的完整方法。

适用场景

  • 通过控制台下载:适用于少量文件的快速验证或临时导出。

  • 通过API下载:适用于批量文件的自动化处理。

  • 通过播放器SDK离线下载:适用于自研应用场景。

场景一:通过控制台下载

下载单个文件

控制台提供了直观下载方式,适合少量文件或业务测试场景。

  1. 登录视频点播控制台

  2. 在左侧导航栏选择媒资库 > 音/视频,进入音/视频列表页面。

  3. 点击目标文件操作列下的管理,选择视频地址(音频地址)标签页,点击对应清晰度操作列下的复制地址

  4. 将复制的地址粘贴到浏览器或下载工具中即可开始下载。

下载多个文件

当需要下载多个媒资文件时,控制台提供了批量导出媒资信息功能。

  1. 登录视频点播控制台

  2. 在左侧导航栏选择媒资库,根据文件类型选择音/视频或者图片,进入列表页。

  3. 在列表页面,可以使用筛选或搜索功能定位需要导出的媒体文件并勾选。

  4. 点击页面右上方image图标,完成媒资信息导出。

  5. 将媒资对应的地址粘贴到浏览器或下载工具中即可开始下载。

场景二:通过API下载

获取下载地址

API提供了灵活的下载地址获取方式,可以获取源文件、转码文件、封面图等多种媒体资源的下载地址。获取不同媒体文件下载地址的对应API如下:

媒资类型

获取API

地址字段

说明

源文件

获取源文件信息

Mezzanine.FileURL

上传的原始音视频文件。

转码文件

获取音视频播放地址

PlayInfoList.PlayInfo.PlayURL

转码输出流地址。

视频封面

获取单个音视频信息

Video.CoverURL

视频的封面图片。

视频截图

获取单个音视频信息

Video.Snapshots

视频的截图地址数组。

图片文件

获取单个图片信息

ImageInfo.URL

图片地址。

批量获取下载地址

地址类型

获取API

地址字段

说明

批量搜索

搜索媒体信息

MediaList.Video/Audio/Image

可一次性搜索多种媒体信息,包含上述所有地址。

说明

推荐使用服务端SDK调用API来获取和更新媒资信息,详情请参见VOD SDK使用说明

执行下载操作

使用API可以将下载能力集成到应用程序中,实现自动化处理。以下为Python SDK示例,更多SDK示例请参见OpenAPI 门户

  1. 准备环境。

    安装VOD Python SDK。

    pip install aliyun-python-sdk-vod
  2. 获取下载地址。

    调用获取源文件信息接口获取源文件信息。

    import json
    from aliyunsdkcore.client import AcsClient
    from aliyunsdkvod.request.v20170321 import GetMezzanineInfoRequest
    
    # 初始化客户端
    # 请替换为AccessKey ID、AccessKey Secret和地域ID
    client = AcsClient('YOUR_ACCESS_KEY_ID', 'YOUR_ACCESS_KEY_SECRET', 'cn-shanghai')
    
    # 1. 创建请求
    request = GetMezzanineInfoRequest()
    request.set_accept_format('json')
    request.set_VideoId("YOUR_VIDEO_ID") # 替换为视频ID
    request.set_OutputType("oss")  # 推荐:返回OSS存储地址,成本更低
    request.set_AuthTimeout(3600)  # 设置地址有效期为1小时(3600秒)
    
    # 2. 发送请求并获取响应
    response = client.do_action_with_exception(request)
    result = json.loads(response)
    
    # 3. 解析下载地址
    download_url = result['Mezzanine']['FileURL']
    print(f"源文件下载地址: {download_url}")
    
    # (可选) 使用requests库下载文件
    import requests
    print("开始下载文件...")
    file_response = requests.get(download_url, stream=True)
    if file_response.status_code == 200:
        with open('downloaded_video.mp4', 'wb') as f:
            for chunk in file_response.iter_content(chunk_size=8192):
                f.write(chunk)
        print("文件下载成功: downloaded_video.mp4")
    else:
        print(f"下载失败,状态码: {file_response.status_code}")
        print(f"错误信息: {file_response.text}")

场景三:通过客户端SDK离线下载

针对移动应用场景,视频点播支持将视频缓存到本地实现离线观看。离线下载分为普通下载和安全下载两种模式。

  • 普通下载:下载的视频文件未加密,可被任意拷贝和播放。适用于公开内容或版权要求不高的场景。

  • 安全下载:下载的视频文件经过加密,只能通过集成了相同密钥的阿里云播放器SDK解密播放。适用于付费课程、独家内容等版权敏感场景。

实现步骤

  1. 配置下载方式。

    1. 登录视频点播控制台,进入配置管理 > 分发加速配置 > 下载设置

    2. 根据需求选择普通下载或安全下载。若选择安全下载需要在此页面生成并妥善保管加密密钥。

  2. 集成播放器SDK。

    在Android或iOS项目中,集成阿里云播放器SDK。详情请参见Android集成SDKiOS集成SDK

  3. 完成视频下载。

    在Android或iOS项目中,集成视频下载模块。详情请参见Android视频下载iOS视频下载

计费说明

媒体文件下载地址,分为以下两类:

  • 存储地址

    • 未配置加速域名,直接使用媒资存储地址,产生存储流出流量费用。

  • 加速地址:

常见问题

下载的视频为何无法播放

若转码输出文件启用了视频加密(如HLS标准加密),下载后仍为加密格式,需通过阿里云播放器SDK进行解密播放。详情请参见视频加密

大量媒体文件如何进行下载

可通过SearchMedia - 搜索媒体信息分页获取媒体文件信息后,参照场景二:通过API下载进行下载。