## 获取视频在线播放地址 ### 基本信息 | 属性 | 内容 | |:-------------|:--------------------------------| | 接口名称 | 获取视频在线播放地址 | | 接口版本 | v1.0 | | 接口路径 | /play | | 请求方法 | GET | | 接口状态 | 生产环境 | ### 接口说明 获取指定视频的在线播放地址、清晰度、音轨及文件基础信息。 ### 接口地址 ``` https://proapi.115.com/open/video/play ``` ### 请求方式 ``` GET ``` ### 认证方式 ``` Authorization: Bearer access_token ``` ### 请求参数 | 参数名 | 类型 | 必填 | 默认值 | 说明 | 约束/示例 | |:----------|:-------|:---|:----|:----------|:-----------------| | pick_code | string | 是 | - | 视频文件提取码 | b53gu6z3hvqji8wrm | ### 请求示例 ```shell curl -G 'https://proapi.115.com/open/video/play' \ -H 'Authorization: Bearer ' \ --data-urlencode 'pick_code=b53gu6z3hvqji8wrm' ``` ### 响应字段说明 | 字段 | 类型 | 描述 | |:---------------------------------|:---------|:----------------------------------------| | state | boolean | 操作结果状态,true:成功;false:失败 | | message | string | 返回信息,成功时为空字符串 | | code | int | 错误码 | | data | object | 视频播放及文件数据 | | data.file_id | string | 文件ID | | data.parent_id | string | 文件父目录ID | | data.file_name | string | 文件名称 | | data.file_size | string | 文件大小,单位为字节 | | data.file_sha1 | string | 文件哈希值 | | data.file_type | string | 文件类型 | | data.is_private | string | 文件是否加密隐藏,0:否;1:是 | | data.play_long | string | 视频时长 | | data.user_def | int | 记忆的清晰度,1:标清;2:高清;3:超清;4:1080P;5:4K;100:原画 | | data.user_rotate | int | 记忆的视频旋转角度,取值为 0、90、180、270 | | data.user_turn | int | 视频翻转方向,0:不翻转;1:水平翻转;2:垂直翻转 | | data.multitrack_list | object | 多音轨列表,键为音轨序号 | | data.multitrack_list.*.title | string | 音轨标题 | | data.multitrack_list.*.is_selected | string | 音轨是否为上次选中,1:是 | | data.multitrack_list.*.sync_time | string | 音轨同步时间 | | data.definition_list | object | 清晰度列表,键为清晰度值,值为清晰度名称 | | data.definition_list_new | object | 新版清晰度列表,键为清晰度值,值为清晰度名称 | | data.video_url | object[] | 各清晰度的播放地址信息 | | data.video_url[].url | string | 播放地址 | | data.video_url[].height | int | 视频高度 | | data.video_url[].width | int | 视频宽度 | | data.video_url[].definition | int | 视频清晰度 | | data.video_url[].title | string | 视频清晰度名称 | | data.video_url[].definition_n | int | 新版视频清晰度 | | data.video_push_state | boolean | 视频尚未完成转码时是否已提交加速转码,仅对应失败响应返回 | ### 响应示例 ```json { "state": true, "message": "", "code": 0, "data": { "file_id": "", "parent_id": "", "file_name": "", "file_size": "0", "file_sha1": "", "file_type": "", "is_private": "0", "play_long": "0", "user_def": 0, "user_rotate": 0, "user_turn": 0, "multitrack_list": {}, "definition_list": {}, "definition_list_new": {}, "video_url": [] } } ``` ### 业务规则 - 切换音轨时,在返回的播放地址后增加整型参数 `audio_track`,参数值取 `multitrack_list` 对应的键;音轨下标从 `0` 开始。 - 年费VIP以下用户不支持播放 4K 视频;选择 4K 清晰度时会返回引导升级的视频地址。 - 接口不返回下载地址字段 `down_url`。 ### 注意事项 - `access_token` 通过 `Authorization` 请求头传递,请将请求示例中的占位符替换为实际访问令牌。 - 播放地址具有时效性,请勿缓存或向无关方披露。 ### 修改历史 | 修改时间 | 修改说明 | |:-----------------------------|:-----| | 2025年04月01日(周二) 00:00:00 | 创建文档 |