将视频点播(VOD)中的音视频、图片等媒体文件下载至本地,是媒资管理、内容分发和离线播放等场景的常见需求。本文介绍了通过控制台、API/SDK以及移动端SDK等多种方式,快速、安全、经济地获取媒体文件下载地址并完成下载的完整方法。
适用场景
通过控制台下载:适用于少量文件的快速验证或临时导出。
通过API下载:适用于批量文件的自动化处理。
通过播放器SDK离线下载:适用于自研应用场景。
场景一:通过控制台下载
下载单个文件
控制台提供了直观下载方式,适合少量文件或业务测试场景。
登录视频点播控制台。
在左侧导航栏选择媒资库 > 音/视频,进入音/视频列表页面。
点击目标文件操作列下的管理,选择视频地址(音频地址)标签页,点击对应清晰度操作列下的复制地址。
将复制的地址粘贴到浏览器或下载工具中即可开始下载。
下载多个文件
当需要下载多个媒资文件时,控制台提供了批量导出媒资信息功能。
场景二:通过API下载
获取下载地址
API提供了灵活的下载地址获取方式,可以获取源文件、转码文件、封面图等多种媒体资源的下载地址。获取不同媒体文件下载地址的对应API如下:
媒资类型 | 获取API | 地址字段 | 说明 |
源文件 |
| 上传的原始音视频文件。 | |
转码文件 |
| 转码输出流地址。 | |
视频封面 |
| 视频的封面图片。 | |
视频截图 |
| 视频的截图地址数组。 | |
图片文件 |
| 图片地址。 |
批量获取下载地址
地址类型 | 获取API | 地址字段 | 说明 |
批量搜索 |
| 可一次性搜索多种媒体信息,包含上述所有地址。 |
推荐使用服务端SDK调用API来获取和更新媒资信息,详情请参见VOD SDK使用说明。
执行下载操作
使用API可以将下载能力集成到应用程序中,实现自动化处理。以下为Python SDK示例,更多SDK示例请参见OpenAPI 门户。
准备环境。
安装VOD Python SDK。
pip install aliyun-python-sdk-vod获取下载地址。
调用获取源文件信息接口获取源文件信息。
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解密播放。适用于付费课程、独家内容等版权敏感场景。
实现步骤
配置下载方式。
登录视频点播控制台,进入配置管理 > 分发加速配置 > 下载设置。
根据需求选择普通下载或安全下载。若选择安全下载需要在此页面生成并妥善保管加密密钥。
集成播放器SDK。
在Android或iOS项目中,集成阿里云播放器SDK。详情请参见Android集成SDK和iOS集成SDK
完成视频下载。
在Android或iOS项目中,集成视频下载模块。详情请参见Android视频下载和iOS视频下载。
计费说明
媒体文件下载地址,分为以下两类:
常见问题
下载的视频为何无法播放
若转码输出文件启用了视频加密(如HLS标准加密),下载后仍为加密格式,需通过阿里云播放器SDK进行解密播放。详情请参见视频加密。
大量媒体文件如何进行下载
可通过SearchMedia - 搜索媒体信息分页获取媒体文件信息后,参照场景二:通过API下载进行下载。