本接口用于搜索视频点播生产的视频、音频和图片等媒资信息,调用本接口配合媒资搜索协议可实现在视频点播中进行指定返回字段、精确匹配、模糊匹配、多值查询、范围查询、排序字段等多方式多维度的搜索查询。
接口说明
获取命中数据条数限制说明如下:
-
方法一:分页遍历
对于命中的搜索结果,您可以通过设置分页参数“PageNo”(页码)和“PageSize”(每页显示的记录数)来逐步遍历最多 5000 条数据。如果搜索结果超出了 5000 条,为了保证有效地遍历数据,请调整搜索条件以缩小结果范围。需要注意的是,此方法无法遍历完整数据集。若要遍历更多数据,请参考方法二。
-
方法二:全量遍历(限音视频搜索)
此方法适用于视频和音频内容的搜索,支持遍历最多 200 万条的全部搜索结果。如果搜索结果数量超过 200 万条,您应该通过增加更多筛选条件来减少结果数量。使用此方法时,除了“PageNo”和“PageSize”,您还需使用“ScrollToken”参数实现分页。请注意,每次仅支持向后遍历最多 100 条记录。 使用“PageSize”为 20 为例,以下是分页逻辑:
- 若“PageNo”为 1,您可以查询接下来的最多 5 页数据。
- 若“PageNo”为 2,您可以查询接下来的最多 6 页数据。
请确保在搜索时合理设置分页参数,并根据结果集大小选择适当的遍历方法。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
vod:SearchMedia | List |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
SearchType | string | 否 | 搜索媒资数据类型。取值范围:
说明
当本参数取值为 video 或 audio,且需要遍历搜索条件命中的所有数据时,必须设置 ScrollToken 参数。
| video |
Fields | string | 否 | 搜索结果中返回的媒资字段。 默认只返回基本媒资字段,可指定返回更多媒资字段,请参见使用示例。 | Title,CoverURL |
Match | string | 否 | 过滤条件。语法规则,请参见搜索协议语法。 | field = value |
SortBy | string | 否 | 排序字段和排序顺序。多个使用半角逗号(,)分隔。取值:
说明
| CreationTime:Desc |
PageNo | integer | 否 | 当前页码。默认值为 1。 说明
当本参数取值超过 200 时,建议同时设置 ScrollToken 参数。
| 1 |
PageSize | integer | 否 | 每页返回的数据条数。默认值为 10,最大值为 100。 | 10 |
ScrollToken | string | 否 | 翻页标识。长度为 32 个字符。 第一次执行搜索请求时不用设置本参数。搜索请求命中数据时,服务端会返回该参数值,用于记录当前搜索数据的位置地址。请记录返回的参数值,下一次搜索时按下述要求或建议设置本参数:
| 24e0fba7188fae707e146esa54**** |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "3E0CEF83-FB09-4E34-BA1451814B03****",
"Total": 10,
"ScrollToken": "24e0fba7188fae707e146esa54****",
"MediaList": [
{
"CreationTime": "2018-07-19T03:45:25Z",
"MediaType": "video",
"MediaId": "a82a2cd7d4e147bbed6c1ee372****",
"Video": {
"Status": "UploadSucc",
"CreationTime": "2018-07-19T03:45:25Z",
"StorageLocation": "outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com",
"CateId": 10000123,
"Tags": "tag1",
"ModificationTime": "2018-07-19T03:48:25Z",
"MediaSource": "general",
"Description": "视频测试",
"AppId": "app-****",
"CoverURL": "https://example.aliyundoc.com/image01.png",
"VideoId": "a82a2asdasqadaf3faa0ed6c1ee372****",
"DownloadSwitch": "on",
"CateName": "video1",
"TranscodeMode": "FastTranscode",
"PreprocessStatus": "Preprocessing",
"RestoreExpiration": "2023-03-30T10:14:14Z",
"RestoreStatus": "Success",
"StorageClass": "Standard",
"Size": 123,
"Duration": 123,
"Title": "ceshi",
"SpriteSnapshots": [
"{“http://example.aliyundoc.com/image02.jpg”}"
],
"Snapshots": [
"{“http://example.aliyundoc.com/image03.jpg”}"
]
},
"Audio": {
"Status": "Normal",
"CreationTime": "2018-07-19T03:45:25Z",
"StorageLocation": "outin-aaa*****aa.oss-cn-shanghai.aliyuncs.com",
"CateId": 10000123,
"Tags": "tag1,tag2",
"ModificationTime": "2018-07-19T03:48:25Z",
"MediaSource": "general",
"Description": "音频描述",
"AppId": "app-****",
"CoverURL": "http://example.com/image04.jpg",
"AudioId": "a82a2cd7d4e147bbed6c1ee372****",
"DownloadSwitch": "on",
"CateName": "ceshi",
"TranscodeMode": "FastTranscode",
"PreprocessStatus": "UnPreprocess",
"RestoreExpiration": "2023-03-30T10:14:14Z",
"RestoreStatus": "Success",
"StorageClass": "Standard",
"Size": 123,
"Duration": 123,
"Title": "音频",
"SpriteSnapshots": [
"{“http://example.aliyundoc.com/image02.jpg”}"
],
"Snapshots": [
"{“http://example.aliyundoc.com/image03.jpg”}"
]
},
"Image": {
"StorageLocation": "outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com",
"CreationTime": "2018-07-19T03:45:25Z",
"Status": "Uploading",
"CateId": 1000123,
"Tags": "tag1",
"ModificationTime": "2018-07-19T03:48:25Z",
"CateName": "美图1",
"Description": "图片测试",
"AppId": "app-****",
"URL": "https://example.com/****.png",
"Title": "image1",
"ImageId": "11130843741se99wqmoes****"
},
"AttachedMedia": {
"CreationTime": "2018-07-19T03:45:25Z",
"Status": "Normal",
"StorageLocation": "outin-bfefbb90a47c11*****7426.oss-cn-shanghai.aliyuncs.com",
"Tags": "测试",
"ModificationTime": "2018-07-19T03:48:25Z",
"MediaId": "a82a2cd7d4e147ba0ed6c1ee372****",
"BusinessType": "watermark",
"Description": "测试",
"AppId": "app-****",
"URL": "https://example.com/****.png",
"Title": "测试",
"Categories": [
{
"ParentId": -1,
"CateName": "测试",
"CateId": 10027394,
"Level": 1
}
]
},
"AiData": {
"AiLabelInfo": [
{
"Category": "交通工具",
"LabelName": "车",
"LabelId": "10310250338",
"Occurrences": [
{
"Score": 0.75287705,
"From": 1.4,
"To": 2.5
}
]
}
],
"OcrInfo": [
{
"From": 1.4,
"To": 2.5,
"Content": "我是皮皮\n"
}
]
},
"AiRoughData": {
"SaveType": "TEXT\n",
"Status": "SaveSuccess",
"AiJobId": "cd35b0b0025f71edbfcb472190a9xxxx",
"AiCategory": "电视剧\n"
}
}
]
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-04-11 | OpenAPI 返回结构发生变更 | 查看变更详情 |
接口错误码
下表列举了本接口特有的错误码。
错误代码 | 错误信息 | HTTP 状态码 | 说明 |
---|---|---|---|
SortByExceededMax | The SortBy parameter only supports one sort field when traversing all data. | 400 | 遍历所有数据时,仅支持一个排序字段。 |
ErrorMatchSyntax | The parameter Match.%s has an error syntax, please check it. | 400 | Match 参数语法错误,请检查后重试。 |
InvalidScrollToken.Expired | The ScrollToken is expired,please refresh it. | 400 | 翻页标识过期,请从第一页重新获取数据。 |