SearchMedia
https://rtc-api.zego.im/
用户进行 CDN 录制时,会把录制好的媒体文件存放在 CDN 服务器上,用户可以调用本接口查询自己名下的媒体文件相关信息,例如媒体文件名、创建时间等。
首次使用本接口之前,请确认是否已经开通 CDN 直播服务。若未开通,请前往 ZEGO 控制台 自助开通,详情请参考 控制台 - 服务配置 - CDN,或联系 ZEGO 技术支持开通。
Request
Query Parameters
- Tencent:腾讯云。
- Ws:网宿。
- Huawei:华为云。
- 第一次调用本接口,入参 Marker 传入为空。
- 再次调用本接口时,入参 Marker 取值为 NextMarker(返回结果中的标记位信息)。
Possible values: [SearchMedia
]
接口原型参数
https://rtc-api.zego.im?Action=SearchMedia
💡公共参数。AppId,ZEGO 分配的用户唯一凭证。
💡公共参数。随机字符串。
💡公共参数。Unix 时间戳,单位为秒。最多允许 10 分钟的误差。
💡公共参数。签名,用于验证请求的合法性。
Possible values: [2.0
]
Default value: 2.0
💡公共参数。签名版本号。
Possible values: [true
, false
]
Default value: false
💡公共参数。是否为测试环境。设为 true 表示使用测试环境。2021-11-16 及之前在 ZEGO 控制台创建的项目默认是测试环境,可根据业务需求设置此参数;而之后创建的项目默认是正式环境。
Possible values: [Tencent
, Ws
, Huawei
]
可能的取值及对应的 CDN 厂商:
文件名前缀,前缀匹配媒体文件的文件名,最长支持 20 个字节。
注意:
使用时,需对其内容执行 URL 编码(UrlEncode)处理。
搜索文件的开始时间(文件创建时间),Unix 时间戳,精确到秒。
该参数仅在 Vendor 取值为 Tencent 时有效。
搜索文件的结束时间(文件创建时间),Unix 时间戳,精确到秒。
该参数仅在 Vendor 取值为 Tencent 时有效。
返回的记录条数,默认值为 10。取值范围:PageNumber * PageSize + PageSize 不超过 5000。
该参数仅在 Vendor 取值为 Tencent 时有效。
取得第几页。取值范围:PageNumber * PageSize + PageSize 不超过 5000。
该参数仅在 Vendor 取值为 Tencent 时有效。
Possible values: >= 1
, <= 10
文件 ID 列表,最多支持输入 10 个 FileId,单个 FileId 的最大长度为 40 个字符。
该参数仅在 Vendor 取值为 Tencent 时有效。
Possible values: >= 1
, <= 10
CDN 录制的流 ID 列表,最多支持输入 10 个 StreamId,匹配集合中的任意元素。
该参数仅在 Vendor 取值为 Tencent 时有效。
检索信息时的标记位,该参数不填写时,默认返回检索到的第一页信息列表。
每次调用本接口发起请求时,响应结果中都会返回 NextMarker,开发者需要判断是否检索到最后一页。
该参数在 Vendor 取值为 Ws、Huawei 时有效。
Possible values: >= 1
and <= 1000
Default value: 1000
调用一次本接口,返回记录的最大条数,取值范围 [1, 1000],默认为 1000。
超过 MaxKeys 取值的信息列表,需要根据前一次调用本接口时、返回结果中的 NextMarker 取值,再次调用本接口进行查询。
该参数在 Vendor 取值为 Ws、Huawei 时有效。
Responses
- 200
- application/json
- Schema
- Example (from schema)
- Example
Schema
- Array[
- Video:视频文件。
- Audio:音频文件。
- Image:图片文件。
- Normal:正常。
- Forbidden:封禁。
- STANDARD:标准存储。
- STANDARD_IA:低频存储。
- ARCHIVE:归档存储。
- DEEP_ARCHIVE:深度归档存储。
- Array[
- Array[
- SDR:Standard Dynamic Range 标准动态范围。
- HDR:High Dynamic Range 高动态范围。
- hdr10
- hlg
- ]
- Array[
- ]
- Trace:表示经过溯源水印处理。
- CopyRight:表示经过版权水印处理。
- None:表示没有经过任何水印处理。
- ]
- ]
- Array[
- ]
- Array[
- ]
以下仅列出了接口业务逻辑相关的部分返回码,完整返回码请参考 全局返回码。
返回码 | 说明 | 处理建议 |
---|---|---|
0 | 请求成功。 | - |
2 | 输出参数错误。 | - |
3 | 未开通相关权限。 | 请联系 ZEGO 技术支持。 |
4 | CDN 类型不匹配。 | 请检查参数。 |
5 | 配置错误。 | 请联系 ZEGO 技术支持。 |
6 | 请求过于频繁。 | 请稍后重试。 |
7 | 鉴权失败。 | 请检查鉴权参数是否正确。 |
8 | 获取鉴权配置失败。 | 请联系 ZEGO 技术支持是否开通此服务。 |
1000 | 请求失败。 | 请联系 ZEGO 技术支持。 |
操作结果描述。
请求 ID,由 ZEGO 服务端返回。
Data object
Tencent object
腾讯云
返回内容(Vendor 取 Tencent 时返回本参数)。唯一请求 ID,由请求参数 Vendor 取值对应的 CDN 厂商(即 Tencent)返回,定位问题时需要提供该次请求的 RequestId。
符合搜索条件的记录总数。最大值为 5000。当命中记录数超过 5000 时,该参数将返回 5000,而非实际命中总数。
MediaInfoSet object[]
文件唯一标识,即 录制文件生成回调 中的 FileID。
BasicInfo object
媒体名。
媒体文件描述。
媒体文件的创建时间,使用 "ISO 日期格式"。
媒体文件的最近更新时间(如修改视频属性、发起视频处理等会触发更新媒体文件信息的操作),使用 "ISO 日期格式"。
媒体文件的过期时间,使用 "ISO 日期格式"。过期后该媒体文件及其相关资源(转码结果、雪碧图等)将被永久删除。"9999-12-31T23:59:59Z" 表示永不过期。
媒体文件的分类 ID。
媒体文件的分类名称。
媒体文件的分类路径,分类间以 "-" 分隔,如 "新的一级分类 - 新的二级分类"。
媒体文件的封面图片地址。
媒体文件的封装格式,例如 mp4、flv 等。
原始媒体文件的 URL 地址。
SourceInfo object
来源类型。
来源流。
媒体文件存储地区,如 ap-guangzhou。
直播录制文件的唯一标识。
文件类型。
文件状态。
文件的存储类型。
TranscodeInfo object
TranscodeSet object[]
转码后的视频文件地址。
转码规格 ID,取值 0 表示原始文件。
“视频流码率”的平均值与“音频流码率”的平均值之和,单位:bps。
视频流高度的最大值,单位:px。
视频流宽度的最大值,单位:px
媒体文件总大小,单位:字节。当媒体文件为 HLS 时,大小是 m3u8 和 ts 文件大小的总和。
视频时长,单位:秒。
视频的 md5 值。
容器类型,例如 m4a,mp4 等。
VideoStreamSet object[]
视频流的码率,单位:bps。
视频流的高度,单位:px。
视频流的宽度,单位:px。
视频流的编码格式,例如 h264。
帧率,单位:hz。
编码标签,仅当 Codec 为 hevc 时有效。
DynamicRangeInfo object
画面动态范围信息。
高动态范围类型标准,当 Type 为 HDR 时有效。
AudioStreamSet object[]
音频流的码率,单位:bps。
音频流的采样率,单位:hz。
音频流的编码格式,例如 aac。
数字水印类型。
版权信息。
Huawei object
华为云
返回内容(Vendor 取 Huawei 时返回本参数)。下一次检索时的索引。在下次调用本接口时,传入到请求参数 Marker 中。
Keys object[]
媒体文件的 md5 值。
媒体文件的唯一标识,即 录制文件生成回调 中的 ObsObject。
媒体文件的最后一次修改时间。
媒体文件的大小。
媒体文件的地址。
Ws object
网宿云
返回内容(Vendor 取 Ws 时返回本参数)。下一次检索时的索引。在下次调用本接口时,传入到请求参数 Marker 中。
Keys object[]
媒体文件的 md5 值。
媒体文件的唯一标识,即 录制文件生成回调 中的 PersistentId。
媒体文件的最后一次修改时间。
媒体文件的大小。
媒体文件的地址。
{
"Code": 0,
"Message": "success",
"RequestId": "6877226848471811505",
"Data": {
"Tencent": {
"RequestId": "c827629f-08b4-406c-b063-b660126e922f",
"TotalCount": 1,
"MediaInfoSet": [
{
"FileId": "3270835011057780896",
"BasicInfo": {
"Name": "1690354361.mp4",
"Description": "",
"CreateTime": "2023-07-26T06:52:49Z",
"UpdateTime": "2023-07-26T10:21:33Z",
"ExpireTime": "9999-12-31T23:59:59Z",
"ClassId": 0,
"ClassName": "其他",
"ClassPath": "其他",
"CoverUrl": "",
"Type": "mp4",
"MediaUrl": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"SourceInfo": {
"SourceType": "VideoProcessing",
"SourceContext": ""
},
"StorageRegion": "ap-chongqing",
"Vid": "3270835011057780896",
"Category": "Video",
"Status": "Normal",
"StorageClass": "STANDARD"
},
"TranscodeInfo": {
"TranscodeSet": [
{
"Url": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"Definition": 0,
"Bitrate": 576721,
"Height": 360,
"Width": 640,
"Size": 2239086,
"Duration": 31.104,
"Md5": "",
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"VideoStreamSet": [
{
"Bitrate": 530177,
"Height": 360,
"Width": 640,
"Codec": "h264",
"Fps": 14,
"CodecTag": "",
"DynamicRangeInfo": {
"Type": "SDR",
"HDRType": ""
}
}
],
"AudioStreamSet": [
{
"Bitrate": 46544,
"SamplingRate": 16000,
"Codec": "aac"
}
],
"DigitalWatermarkType": "None",
"CopyRightWatermarkText": ""
}
]
}
}
]
},
"Huawei": {
"NextMarker": "",
"Keys": [
{
"ETag": "\"ef4e0314095b8aae02d7a5adaa60c94f\"",
"Key": "record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4",
"LastModified": "2023-07-28T09:31:29.176Z",
"Size": 2172786,
"MediaUrl": "http://push.url/record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4"
}
]
},
"Ws": {
"NextMarker": "",
"Keys": [
{
"ETag": "lv1tsU6T8r9hDZietipfSphc806Y",
"Key": "app-alinxu_test--20230728181527.mp4",
"LastModified": "2023-07-28T10:16:44Z",
"Size": 6441553,
"MediaUrl": "http://push.url/app-alinxu_test--20230728181527.mp4"
}
]
}
}
}
{
"Code": 0,
"Message": "success",
"RequestId": "6877226848471811505",
"Data": {
"Tencent": {
"RequestId": "c827629f-08b4-406c-b063-b660126e922f",
"TotalCount": 1,
"MediaInfoSet": [
{
"FileId": "3270835011057780896",
"BasicInfo": {
"Name": "1690354361.mp4",
"Description": "",
"CreateTime": "2023-07-26T06:52:49Z",
"UpdateTime": "2023-07-26T10:21:33Z",
"ExpireTime": "9999-12-31T23:59:59Z",
"ClassId": 0,
"ClassName": "其他",
"ClassPath": "其他",
"CoverUrl": "",
"Type": "mp4",
"MediaUrl": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"SourceInfo": {
"SourceType": "VideoProcessing",
"SourceContext": ""
},
"StorageRegion": "ap-chongqing",
"Vid": "3270835011057780896",
"Category": "Video",
"Status": "Normal",
"StorageClass": "STANDARD"
},
"TranscodeInfo": {
"TranscodeSet": [
{
"Url": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"Definition": 0,
"Bitrate": 576721,
"Height": 360,
"Width": 640,
"Size": 2239086,
"Duration": 31.104,
"Md5": "",
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"VideoStreamSet": [
{
"Bitrate": 530177,
"Height": 360,
"Width": 640,
"Codec": "h264",
"Fps": 14,
"CodecTag": "",
"DynamicRangeInfo": {
"Type": "SDR",
"HDRType": ""
}
}
],
"AudioStreamSet": [
{
"Bitrate": 46544,
"SamplingRate": 16000,
"Codec": "aac"
}
],
"DigitalWatermarkType": "None",
"CopyRightWatermarkText": ""
}
]
}
}
]
},
"Huawei": {
"NextMarker": "",
"Keys": [
{
"ETag": "\"ef4e0314095b8aae02d7a5adaa60c94f\"",
"Key": "record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4",
"LastModified": "2023-07-28T09:31:29.176Z",
"Size": 2172786,
"MediaUrl": "http://push.url/record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4"
}
]
},
"Ws": {
"NextMarker": "",
"Keys": [
{
"ETag": "lv1tsU6T8r9hDZietipfSphc806Y",
"Key": "app-alinxu_test--20230728181527.mp4",
"LastModified": "2023-07-28T10:16:44Z",
"Size": 6441553,
"MediaUrl": "http://push.url/app-alinxu_test--20230728181527.mp4"
}
]
}
}
}
{
"Code": 0,
"Message": "success",
"Data": {
"Tencent": {
"TotalCount": 1,
"MediaInfoSet": [
{
"BasicInfo": {
"Name": "1690354361.mp4",
"Description": "",
"CreateTime": "2023-07-26T06:52:49Z",
"UpdateTime": "2023-07-26T10:21:33Z",
"ExpireTime": "9999-12-31T23:59:59Z",
"ClassId": 0,
"ClassName": "其他",
"ClassPath": "其他",
"CoverUrl": "",
"Type": "mp4",
"MediaUrl": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"SourceInfo": {
"SourceType": "VideoProcessing",
"SourceContext": ""
},
"StorageRegion": "ap-chongqing",
"Vid": "3270835011057780896",
"Category": "Video",
"Status": "Normal",
"StorageClass": "STANDARD"
},
"TranscodeInfo": {
"TranscodeSet": [
{
"Url": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"Definition": 0,
"Bitrate": 576721,
"Height": 360,
"Width": 640,
"Size": 2239086,
"Duration": 31.104,
"Md5": "",
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"VideoStreamSet": [
{
"Bitrate": 530177,
"Height": 360,
"Width": 640,
"Codec": "h264",
"Fps": 14,
"CodecTag": "",
"DynamicRangeInfo": {
"Type": "SDR",
"HDRType": ""
}
}
],
"AudioStreamSet": [
{
"Bitrate": 46544,
"SamplingRate": 16000,
"Codec": "aac"
}
],
"DigitalWatermarkType": "None",
"CopyRightWatermarkText": ""
},
{
"Url": "http://push.url/43a5b1devodtranscq1500020831/03c1ada53270835011057780896/v.f100020.mp4",
"Definition": 100020,
"Bitrate": 427974,
"Height": 540,
"Width": 960,
"Size": 1677353,
"Duration": 31.151,
"Md5": "4f51593ed8e28b5d35553f4977d39547",
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"VideoStreamSet": [
{
"Bitrate": 363857,
"Height": 540,
"Width": 960,
"Codec": "h264",
"Fps": 25,
"CodecTag": "avc1",
"DynamicRangeInfo": {
"Type": "SDR",
"HDRType": ""
}
}
],
"AudioStreamSet": [
{
"Bitrate": 64117,
"SamplingRate": 44100,
"Codec": "aac"
}
],
"DigitalWatermarkType": "None",
"CopyRightWatermarkText": ""
}
]
},
"FileId": "3270835011057780896"
}
],
"RequestId": "c827629f-08b4-406c-b063-b660126e922f"
},
"Huawei": {
"Keys": [
{
"ETag": "\"ef4e0314095b8aae02d7a5adaa60c94f\"",
"Key": "record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4",
"LastModified": "2023-07-28T09:31:29.176Z",
"Size": 2172786,
"MediaUrl": "http://push.url/record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4"
}
],
"NextMarker": ""
},
"Ws": {
"Keys": [
{
"ETag": "lv1tsU6T8r9hDZietipfSphc806Y",
"Key": "app-alinxu_test--20230728181527.mp4",
"LastModified": "2023-07-28T10:16:44Z",
"Size": 6441553,
"MediaUrl": "http://push.url/app-alinxu_test--20230728181527.mp4"
}
],
"NextMarker": ""
}
},
"RequestId": "6877226848471811505"
}
{
"Code": 0,
"Message": "success",
"Data": {
"Tencent": {
"TotalCount": 1,
"MediaInfoSet": [
{
"BasicInfo": {
"Name": "1690354361.mp4",
"Description": "",
"CreateTime": "2023-07-26T06:52:49Z",
"UpdateTime": "2023-07-26T10:21:33Z",
"ExpireTime": "9999-12-31T23:59:59Z",
"ClassId": 0,
"ClassName": "其他",
"ClassPath": "其他",
"CoverUrl": "",
"Type": "mp4",
"MediaUrl": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"SourceInfo": {
"SourceType": "VideoProcessing",
"SourceContext": ""
},
"StorageRegion": "ap-chongqing",
"Vid": "3270835011057780896",
"Category": "Video",
"Status": "Normal",
"StorageClass": "STANDARD"
},
"TranscodeInfo": {
"TranscodeSet": [
{
"Url": "http://push.url/6cbbc436vodcq1500020831/03c1ada53270835011057780896/9e505713fb216f0b0232064f.mp4",
"Definition": 0,
"Bitrate": 576721,
"Height": 360,
"Width": 640,
"Size": 2239086,
"Duration": 31.104,
"Md5": "",
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"VideoStreamSet": [
{
"Bitrate": 530177,
"Height": 360,
"Width": 640,
"Codec": "h264",
"Fps": 14,
"CodecTag": "",
"DynamicRangeInfo": {
"Type": "SDR",
"HDRType": ""
}
}
],
"AudioStreamSet": [
{
"Bitrate": 46544,
"SamplingRate": 16000,
"Codec": "aac"
}
],
"DigitalWatermarkType": "None",
"CopyRightWatermarkText": ""
},
{
"Url": "http://push.url/43a5b1devodtranscq1500020831/03c1ada53270835011057780896/v.f100020.mp4",
"Definition": 100020,
"Bitrate": 427974,
"Height": 540,
"Width": 960,
"Size": 1677353,
"Duration": 31.151,
"Md5": "4f51593ed8e28b5d35553f4977d39547",
"Container": "mov,mp4,m4a,3gp,3g2,mj2",
"VideoStreamSet": [
{
"Bitrate": 363857,
"Height": 540,
"Width": 960,
"Codec": "h264",
"Fps": 25,
"CodecTag": "avc1",
"DynamicRangeInfo": {
"Type": "SDR",
"HDRType": ""
}
}
],
"AudioStreamSet": [
{
"Bitrate": 64117,
"SamplingRate": 44100,
"Codec": "aac"
}
],
"DigitalWatermarkType": "None",
"CopyRightWatermarkText": ""
}
]
},
"FileId": "3270835011057780896"
}
],
"RequestId": "c827629f-08b4-406c-b063-b660126e922f"
},
"Huawei": {
"Keys": [
{
"ETag": "\"ef4e0314095b8aae02d7a5adaa60c94f\"",
"Key": "record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4",
"LastModified": "2023-07-28T09:31:29.176Z",
"Size": 2172786,
"MediaUrl": "http://push.url/record/app/command_record/alinxu_test/2023-07-28-09-30-06.mp4"
}
],
"NextMarker": ""
},
"Ws": {
"Keys": [
{
"ETag": "lv1tsU6T8r9hDZietipfSphc806Y",
"Key": "app-alinxu_test--20230728181527.mp4",
"LastModified": "2023-07-28T10:16:44Z",
"Size": 6441553,
"MediaUrl": "http://push.url/app-alinxu_test--20230728181527.mp4"
}
],
"NextMarker": ""
}
},
"RequestId": "6877226848471811505"
}
- curl
- python
- go
- nodejs
- ruby
- csharp
- php
- java
- powershell
- CURL
Click the "Send" button above and see the response here!