媒体文件
创建基础媒体文件¶
[POST] /api/v1/medias
输入参数¶
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| classId | 否 | string | 分类uid |
| displayName | 否 | string | 媒体名称 |
| description | 否 | string | 媒体描述 |
| tag | 否 | string | 媒体 tag |
| type | 是 | int | 媒体类型:1=视频;2=音频 |
| cloudProviderType | 是 | int | 媒体存储云厂商:1:MOS、2:Tencent、3:Aliyun、4:Haweiyun,当基础媒体文件存放在第三方对象存储中时,需要云存储厂商类型 |
| bucket | 是 | string | 媒体存储桶,当基础媒体文件存放在第三方对象存储中时,需要指定文件存放的桶名称 |
| fileUri | 是 | string | 媒体存储路径,当基础媒体文件存放在第三方对象存储中时,需要指定对象存储中文件的Object Key,格式为桶名称/ObjectKey |
| internalWorkflowParam | 否 | *InternalWorkflowParam(object类型) | 内置工作流参数,如果需要修改基础媒体文件创建成功后自动执行的内置工作流的默认行为,需要传入指定的工作流参数 |
InternalWorkflowParam 结构定义
| 参数名称 | 类型 | 描述 |
|---|---|---|
| proxy | ConfigSwitch | 内置工作流生产预览流开关配置 |
| audit | ConfigSwitch | 内置工作流技审任务开关配置 |
| poster | ConfigSwitch | 内置工作流海报图生产开关配置 |
| snapshot | SnapShotConfig | 内置工作流截图(雪碧图等)开关配置 |
| mediainfo | ConfigSwitch | 内置工作流媒体信息生产开关配置 |
ConfigSwitch 结构定义
| 参数名称 | 类型 | 描述 |
|---|---|---|
| enable | int | 1:开,0:关 |
SnapShotConfig 结构定义
| 参数名称 | 类型 | 描述 |
|---|---|---|
| type | string | 截图类型 1,雪碧图类型 2 |
| start | float | 截图的起始时间,单位毫秒 |
| interval | int | 截图间隔时间。 若指定则表示序列截图,且值必须大于0。 如果 interval 和 num 都不指定,表示截取单张图片 单位:秒 默认:10 |
| width | int | 截图输出图片宽度。(为雪碧图时,为小图片大小) 取值范围:[0, 4096] 为0时,表示按比例缩放 |
| height | int | 截图输出图片高度。(为雪碧图时,为小图片大小) 取值范围:[0, 4096] 为0时,表示按比例缩放 |
| tileOut | TileOut | 雪碧图输出配置信息,type为 2 时必填 |
TileOut 结构定义
| 参数名称 | 类型 | 描述 |
|---|---|---|
| lines | string | 图片拼合行数。 整型 取值范围:(0,10000] 默认:10 |
| columns | string | 图片拼合列数。 整型 取值范围:(0,10000] 默认:10 |
返回结果¶
| 参数名称 | 类型 | 描述 |
|---|---|---|
| data | String | 新建的基础媒体文件数据的唯一标识 |
示例¶
以下为
Javascript语言的代码示例, 示例中Authorization参数均以字符串"token"表示
输入示例
var data = JSON.stringify({
"bucket": "hermes-video-converter-1304062298",
"cloudProviderType": 2,
"description": "upgc-测试视频",
"displayName": "测试视频",
"fileUri": "hermes-video-converter-1304062298/video/source/hangye/2023/09/21/19790251/0920jianji.mp4",
"type": 1
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "http://vod.test.mediacloud.imgo.tv/api/v1/medias");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "token");
xhr.send(data);
{
"requestId": "506793ec-fbc8-4725-9de0-7a64eda76786",
"code": 200,
"msg": "创建成功",
"data": "f3a71971-d13d-4d44-9da8-53b07f415358"
}
查询基础媒体文件¶
[get] /api/v1/medias/{uid}
查询指定 uid 的基础媒体文件数据
输入参数¶
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| uid | 是 | string | 唯一标识 |
返回结果¶
| 参数名称 | 类型 | 描述 |
|---|---|---|
| uid | string | 媒体的唯一标识符,用于区分不同的媒体资源。 |
| classId | string | 分类ID,标识媒体所属的分类或类别。 |
| displayName | string | 媒体的显示名称,通常用于用户界面展示。 |
| description | string | 媒体的详细描述,提供关于媒体内容的额外信息。 |
| duration | float | 媒体的时长,单位为秒。 |
| tag | string | 媒体标签,用于分类或搜索时的关键词。 |
| type | int | 媒体类型,媒体类型:1=媒体;2=音频。 |
| format | string | 媒体的文件格式,如.mp4、.avi等。 |
| thumbnail | string | 媒体的缩略图链接,用于预览媒体的封面图。 |
| cloudProvider | string | 云服务提供商的唯一标识符,表示媒体存储的云服务。 |
| cloudProviderType | int | 云服务提供商的类型:1:MOS、2:Tencent、3:Aliyun、4:Haweiyun |
| bucket | string | 媒体存储的桶名称,通常与云服务提供商相关。 |
| fileUri | string | 基础媒体文件的URI,表示媒体在云存储中的具体路径。 |
| creator | string | 上传者的唯一标识符,表示上传该媒体的用户或系统。 |
| isPublish | int | 媒体的发布状态,通常用于控制媒体是否对外公开。 |
| phase | string | 媒体的当前阶段 |
| status | string | 媒体的状态 |
示例¶
以下为
Javascript语言的代码示例, 示例中Authorization参数均以字符串"token"表示
输入示例
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "http://vod.test.mediacloud.imgo.tv/api/v1/medias/f3a71971-d13d-4d44-9da8-53b07f415358");
xhr.setRequestHeader("Authorization", "token");
xhr.send();
{
"requestId": "a7439e75-cd4d-4eae-ac52-3efa7f4714ac",
"code": 200,
"msg": "查询成功",
"data": {
"uid": "f3a71971-d13d-4d44-9da8-53b07f415358",
"classId": "0",
"displayName": "测试视频",
"description": "upgc-测试视频",
"duration": 0,
"tag": "",
"type": 1,
"format": ".mp4",
"thumbnail": "",
"cloudProvider": "e5725707-8b18-4165-9ca7-0c12557e4b90",
"cloudProviderType": 2,
"bucket": "hermes-video-converter-1304062298",
"fileUri": "hermes-video-converter-1304062298/video/source/hangye/2023/09/21/19790251/0920jianji.mp4",
"creator": "f2362daa-bdfd-47c1-a2ba-7b509be09245",
"isPublish": 0,
"phase": "uploaded",
"status": "uploaded",
"createdAt": "2024-04-10 16:12:01",
"updatedAt": "2024-04-10 16:12:01"
}
}
查询基础媒体文件分页列表¶
[get] /api/v1/medias?limit=5&page=1
查询基础媒体文件列表数据
输入参数¶
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| page | 否 | int | 页数,默认1 |
| limit | 否 | int | 单页数据条数,默认10 |
| uid | 否 | string | 唯一标识符,用于区分不同的基础媒体文件。 |
| classId | 否 | string | 分类ID,标识基础媒体文件所属的分类或类别。 |
| displayName | 否 | string | 基础媒体文件的显示名称,通常用于用户界面展示。 |
| format | 否 | string | 基础媒体文件的文件格式,如.mp4、.avi等。 |
| phase | 否 | string | 基础媒体文件的当前阶段 |
| status | 否 | string | 基础媒体文件的状态 |
| cloudProviderType | 否 | int | 云服务提供商的类型:1:MOS、2:Tencent、3:Aliyun、4:Haweiyun。 |
| beginTime | 否 | string | 基础媒体文件创建的开始时间,用于搜索创建时间的区间范围。 |
| endTime | 否 | string | 基础媒体文件创建的结束时间,用于搜索创建时间的区间范围。 |
返回结果¶
| 参数名称 | 类型 | 描述 |
|---|---|---|
| count | int | 数据总条数 |
| limit | int | 单页数据条数 |
| page | int | 当前页码 |
| list | ObjectArray | 基础媒体文件数组 |
示例¶
以下为
Javascript语言的代码示例, 示例中Authorization参数均以字符串"token"表示
输入示例
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "http://vod.test.mediacloud.imgo.tv/api/v1/medias/f3a71971-d13d-4d44-9da8-53b07f415358");
xhr.setRequestHeader("Authorization", "token");
xhr.send();
{
"requestId": "a7439e75-cd4d-4eae-ac52-3efa7f4714ac",
"code": 200,
"msg": "查询成功",
"data": {
"uid": "f3a71971-d13d-4d44-9da8-53b07f415358",
"classId": "0",
"displayName": "测试视频",
"description": "upgc-测试视频",
"duration": 0,
"tag": "",
"type": 1,
"format": ".mp4",
"thumbnail": "",
"cloudProvider": "e5725707-8b18-4165-9ca7-0c12557e4b90",
"cloudProviderType": 2,
"bucket": "hermes-video-converter-1304062298",
"fileUri": "hermes-video-converter-1304062298/video/source/hangye/2023/09/21/19790251/0920jianji.mp4",
"creator": "f2362daa-bdfd-47c1-a2ba-7b509be09245",
"isPublish": 0,
"phase": "uploaded",
"status": "uploaded",
"createdAt": "2024-04-10 16:12:01",
"updatedAt": "2024-04-10 16:12:01"
}
}
删除基础媒体文件¶
[DELETE] /api/v1/medias
删除指定 id 的基础媒体文件,可以批量删除。
输入参数¶
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| uids | 是 | StringArray | 指定需要删除的分类ID |
返回结果¶
| 参数名称 | 类型 | 描述 |
|---|---|---|
| data | string | 成功删除的基础媒体文件的UID |
示例¶
以下为
Javascript语言的代码示例, 示例中Authorization参数均以字符串"token"表示
输入示例
var data = JSON.stringify({
"uids": [
"f3a71971-d13d-4d44-9da8-53b07f415358"
]
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "http://vod.test.mediacloud.imgo.tv/api/v1/medias");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "token");
xhr.send(data);
{
"requestId": "d79b7187-92a4-485a-a473-1cd7ab5a2ec5",
"code": 200,
"msg": "删除成功",
"data": [
"f3a71971-d13d-4d44-9da8-53b07f415358"
]
}