媒资搜索协议
本文主要介绍了视频点播媒资搜索协议的语法。媒资搜索协议需要与搜索媒资信息接口配合使用。该协议是集检索、过滤、排序和翻页于一体的实时搜索协议,用于搜索视频点播生产的视频、音频和图片等媒资信息。
查询语法:Syntax
根据媒资搜索协议中定义的语法规则将媒资字段分为返回字段,精确匹配,模糊匹配,多值查询,范围查询和排序字段。视频点播支持的所有媒资字段及适用的语法规则请参见媒资信息。
调用OpenAPI接口时,需要对查询语句进行URL编码,同时查询语句中使用的等号、双引号、单引号、括号必须为英文半角。搜索协议中包含的特殊字符说明详见特殊字符说明。
以下为媒资搜索协议定义的语法及示例:
名称 |
含义 |
语法 |
示例 |
返回字段 |
指定搜索返回结果中包含哪些字段,默认只返回媒体ID,创建时间和媒体类型。 |
field1,field2 |
|
精确匹配 |
用于搜索与指定字段值完全相等的文档。 |
field = value |
|
模糊匹配 |
搜索包含指定字符或字符串的文档。 |
field in ('value1','value2') 或 field = 'value' |
|
多值查询 |
可以指定多个字段进行过滤,只要命中其中一个字段值的文档即返回。 |
field in ('value1','value2') |
|
范围查询 |
开闭区间规则,匹配字段值在指定范围内的文档。 |
field = (value1,value2) |
|
排序字段 |
用于排序搜索结果的字段值,同时需要为每个字段指定排序方向(Desc或Asc)。多个排序字段时,从左至右排序优先级从高至低。 |
SortBy = field:Desc |
特殊字符说明
名称 |
描述 |
语法 |
and |
位于两个过滤条件之间,表示两个过滤条件同时命中的文档才会返回。 |
field1 = 'value' and field2 = 'value' |
or |
位于两个过滤条件之间,表示命中两个过滤条件之一的文档即可返回,此时过滤条件需要以左括号"("开始,右括号")"结束。 |
(field1 = 'value1' or field2 = 'value2') |
( ) |
括号,范围查询。 |
field = ('value1','value2') |
( ) |
括号,表示多个查询条件之间的或关系。 |
(field1 = 'value1' or field2 = 'value2') |
' ' |
单引号,当指定的查询字段为字符串类型时,字段值需要以单引号开始,单引号结束。 |
field = 'value' |
, |
逗号,多值查询使用。用于分隔多个查询值。 |
field in ('value1','value2') |
( ) [ ] |
开闭区间规则,表示大于、小于、大于等于、小于等于。范围查询使用,表示边界值的大小关系。 |
field = ['value1','value2'] |
in |
多值查询使用,当文档中的字段值在所列举的值中时,该文档返回。 |
field in ('value1','value2') |
媒资信息:Media
视频点播目前支持对视频、音频、图片信息和辅助媒资的搜索,各字段支持的查询语法规则如下所示。以下表格中√表示支持,×表示不支持。
多值查询时:最多支持传入3个值。
模糊匹配查询时:支持传入的单个字符串的最大长度为60字符。
当title和其他字段同时模糊查询不能正确命中时,请检查您的格式是否正确。模糊查询示例:
(Title='测试' and Description = '描述')
。
视频信息:Video
名称 |
类型 |
描述 |
返回字段 |
精确匹配 |
模糊匹配 |
多值查询 |
范围查询 |
排序字段 |
VideoId |
String |
视频ID |
✓ |
✓ |
× |
✓ |
× |
× |
AppId |
String |
应用ID |
✓ |
× |
× |
✓ |
× |
× |
CateId |
Long |
分类ID |
✓ |
✓ |
× |
× |
× |
× |
CateName |
String |
分类名称 |
✓ |
× |
× |
× |
× |
× |
StorageLocation |
String |
存储区域 |
✓ |
✓ |
× |
✓ |
× |
× |
Title |
String |
视频标题 |
✓ |
× |
✓ |
× |
× |
× |
Tags |
String |
视频标签 |
✓ |
× |
✓ |
✓ |
× |
× |
Description |
String |
视频描述 |
✓ |
× |
✓ |
× |
× |
× |
Status |
String |
✓ |
× |
× |
✓ |
× |
× |
|
MediaSource |
String |
✓ |
× |
× |
✓ |
× |
× |
|
PreprocessStatus |
String |
✓ |
× |
× |
✓ |
× |
× |
|
Size |
Long |
视频大小 |
✓ |
× |
× |
× |
✓ |
× |
Duration |
Float |
视频时长 |
✓ |
× |
× |
× |
✓ |
× |
CreationTime |
String |
视频信息创建时间 |
✓ |
× |
× |
× |
✓ |
✓ |
ModificationTime |
String |
视频信息更新时间 |
✓ |
× |
× |
× |
✓ |
✓ |
CoverURL |
String |
封面图片 |
✓ |
× |
× |
× |
× |
× |
Snapshots |
String[] |
自动截图列表 |
✓ |
× |
× |
× |
× |
× |
SpriteSnapshots |
String[] |
雪碧图列表 |
✓ |
× |
× |
× |
× |
× |
DownloadSwitch |
String |
✓ |
× |
× |
× |
× |
× |
|
TranscodeMode |
String |
✓ |
× |
× |
× |
× |
× |
音频信息:Audio
名称 |
类型 |
描述 |
返回字段 |
精确匹配 |
模糊匹配 |
多值查询 |
范围查询 |
排序字段 |
AudioId |
String |
音频ID |
✓ |
✓ |
× |
× |
× |
× |
AppId |
String |
应用ID |
✓ |
× |
× |
✓ |
× |
× |
CateId |
Long |
分类ID |
✓ |
✓ |
× |
× |
× |
× |
CateName |
String |
分类名称 |
✓ |
× |
× |
× |
× |
× |
StorageLocation |
String |
存储区域 |
✓ |
× |
× |
✓ |
× |
× |
Title |
String |
标题 |
✓ |
× |
✓ |
× |
× |
× |
Tags |
String |
标签 |
✓ |
× |
✓ |
✓ |
× |
× |
Description |
String |
描述 |
✓ |
× |
✓ |
× |
× |
× |
Status |
String |
✓ |
× |
× |
✓ |
× |
× |
|
MediaSource |
String |
✓ |
× |
× |
✓ |
× |
× |
|
PreprocessStatus |
String |
✓ |
× |
× |
✓ |
× |
× |
|
Size |
Long |
大小 |
✓ |
× |
× |
× |
✓ |
× |
Duration |
Float |
时长 |
✓ |
× |
× |
× |
✓ |
× |
CreationTime |
String |
创建时间 |
✓ |
× |
× |
× |
✓ |
✓ |
ModificationTime |
String |
更新时间 |
✓ |
× |
× |
× |
✓ |
✓ |
CoverURL |
String |
封面图片 |
✓ |
× |
× |
× |
× |
× |
Snapshots |
String[] |
自动截图列表 |
✓ |
× |
× |
× |
× |
× |
SpriteSnapshots |
String[] |
雪碧图列表 |
✓ |
× |
× |
× |
× |
× |
DownloadSwitch |
String |
✓ |
× |
× |
× |
× |
× |
|
TranscodeMode |
String |
✓ |
× |
× |
× |
× |
× |
图片信息:Image
名称 |
类型 |
描述 |
返回字段 |
精确匹配 |
模糊匹配 |
多值查询 |
范围查询 |
排序字段 |
ImageId |
String |
图片ID |
✓ |
✓ |
× |
× |
× |
× |
AppId |
String |
应用ID |
✓ |
× |
× |
✓ |
× |
× |
CateId |
Long |
分类ID |
✓ |
✓ |
× |
× |
× |
× |
CateName |
String |
分类名称 |
✓ |
× |
× |
× |
× |
× |
StorageLocation |
String |
存储区域 |
✓ |
✓ |
× |
✓ |
× |
× |
FileName |
String |
文件名 |
✓ |
× |
✓ |
× |
× |
× |
Title |
String |
标题 |
✓ |
× |
✓ |
× |
× |
× |
Tags |
String |
标签 |
✓ |
× |
✓ |
✓ |
× |
× |
Description |
String |
描述 |
✓ |
× |
✓ |
× |
× |
× |
Status |
String |
✓ |
× |
× |
✓ |
× |
× |
|
CreationTime |
String |
创建时间 |
✓ |
× |
× |
× |
✓ |
✓ |
ModificationTime |
String |
更新时间 |
✓ |
× |
× |
× |
✓ |
✓ |
URL |
String |
图片URL |
✓ |
× |
× |
× |
× |
× |
辅助媒资信息:AttachedMedia
名称 |
类型 |
描述 |
返回字段 |
精确匹配 |
模糊匹配 |
多值查询 |
范围查询 |
排序字段 |
MediaId |
String |
辅助媒资ID |
✓ |
✓ |
× |
× |
× |
× |
AppIdString |
String |
应用ID |
✓ |
× |
× |
✓ |
× |
× |
CateId |
Long |
分类ID |
× |
✓ |
× |
× |
× |
× |
Categories |
Category[] |
分类ID列表 |
✓ |
× |
× |
× |
× |
× |
StorageLocation |
String |
存储区域 |
✓ |
✓ |
× |
✓ |
× |
× |
FileName |
String |
文件名 |
✓ |
× |
✓ |
× |
× |
× |
Title |
String |
标题 |
✓ |
× |
✓ |
× |
× |
× |
Tags |
String |
标签 |
✓ |
× |
✓ |
✓ |
× |
× |
Description |
String |
描述 |
✓ |
× |
✓ |
× |
× |
× |
Status |
String |
✓ |
× |
× |
✓ |
× |
× |
|
CreationTime |
String |
创建时间 |
✓ |
× |
× |
× |
✓ |
✓ |
ModificationTime |
String |
更新时间 |
✓ |
× |
× |
× |
✓ |
✓ |
URL |
String |
辅助媒资URL |
✓ |
× |
× |
× |
× |
× |
BusinessType |
String |
业务类型 |
✓ |
✓ |
× |
× |
× |
× |
辅助媒资信息:AttachedMedia
预处理状态:PreprocessStatus
预处理完成后的视频才可用于直播导播。
取值 |
描述 |
备注 |
UnPreprocess |
未进行预处理 |
初始状态。 |
Preprocessing |
预处理中 |
无。 |
PreprocessSucceed |
预处理完成 |
无。 |
PreprocessFailed |
预处理失败 |
无。 |
离线下载状态:DownloadSwitch
视频离线下载开关状态,只有状态开启时才允许离线下载。
取值 |
描述 |
备注 |
on |
开启 |
初始状态,允许离线下载。 |
off |
禁用 |
禁用离线下载。 |
媒体来源:MediaSource
取值 |
描述 |
备注 |
general |
点播上传 |
普通上传。 |
short_video |
短视频SDK |
通过短视频SDK上传文件至点播,更多信息,请参见短视频SDK。 |
editing |
剪辑合成 |
通过云剪辑合成上传文件至点播,更多信息,请参见视频合成。 |
live |
直播录制 |
通过直播录制上传文件至点播。 |
转码模式:TranscodeMode
文件上传至点播后,经过不同视频处理后才可用于播放。不同转码模式处理的方式不同。
取值 |
描述 |
备注 |
FastTranscode |
普通转码 |
默认模式,上传完成即开始转码,且转码完成才能播放。 |
NoTranscode |
不转码即分发 |
上传完成不转码,且立即能播放,目前仅以下格式支持不转码直接播放:MP4、FLV、M3U8、MP3、WEBM。 |
AsyncTranscode |
上传即分发并转码 |
上传完成即能播放,同时异步进行转码。 |