标准录制支持从单个录制文件中截取片段和定点截图,以及查询某条直播流已有的录制文件。
从指定流的录制文件中截取片段并生成 M3U8 文件。
POST https://api.sd-rtn.com/v1/projects/{appid}/fls/entry_points/{entry_point}/admin/record/standard/regions/{region}/cutting/{stream_name}
参数 | 类型 | 描述 |
---|---|---|
appid |
String | 必填。在声网控制台获取的 App ID。 |
entry_point |
String | 必填。发布点名称。 |
region |
String | 必填。录制文件对应的区域。 |
stream_name |
String | 必填。流名称。 |
请求包体为 JSON Object 类型,包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
startTime |
String | 必填。截取片段的开始时间,时间格式为 RFC3339,例如:2019-01-07T12:00:00+08:00。 |
endTime |
String | 选填。截取片段的终止时间,时间格式为 RFC3339,例如:2019-01-07T12:30:00+08:00 。该字段不能超过当前时间。如果不填,将使用最新录制文件的创建时间点。 |
fileName |
String | 必填。生成的 M3U8 文件的名称。你需要保证该字段的唯一性。 |
如果返回的 HTTP 状态码为 200,表示请求成功。
如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 HTTP 状态码了解可能的原因。
请求行
POST https://api.sd-rtn.com/v1/projects/{your_appid}/fls/entry_points/live/admin/record/standard/regions/{region}/cutting/{stream_name} HTTP/1.1
请求 body
{
"startTime": "2019-01-07T12:00:00+08:00",
"endTime": "2019-01-07T12:30:00+08:00",
"fileName": "test.m3u8"
}
响应行
HTTP/1.1 200 OK
从指定流的录制文件中截图并生成 JPEG 文件。
POST https://api.sd-rtn.com/v1/projects/{appid}/fls/entry_points/{entry_point}/admin/record/standard/regions/{region}/snapshot/{stream_name}
参数 | 类型 | 描述 |
---|---|---|
appid |
String | 必填。在声网控制台获取的 App ID。 |
entry_point |
String | 必填。发布点名称。 |
region |
String | 必填。录制文件对应的区域。 |
stream_name |
String | 必填。流名称。 |
请求包体为 JSON Object 类型,包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
time |
String | 选填。截图时间点,时间格式为 RFC3339,例如:2019-01-07T12:00:00+08:00。该字段不能超过当前时间。如果不填,将使用最新录制文件的创建时间点。 |
fileName |
String | 必填。生成的 JPEG 文件的名称。你需要保证该字段的唯一性。 |
如果返回的 HTTP 状态码为 200,表示请求成功。
如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 HTTP 状态码了解可能的原因。
请求行
POST https://api.sd-rtn.com/v1/projects/{your_appid}/fls/entry_points/live/admin/record/standard/regions/{region}/snapshot/{stream_name} HTTP/1.1
请求 body
{
"time": "2019-01-07T12:30:00+08:00",
"fileName": "test.jpg"
}
响应行
HTTP/1.1 200 OK
查询指定流在指定时间范围内的录制文件。
GET https://api.sd-rtn.com/v1/projects/{appid}/fls/entry_points/{entry_point}/admin/record/standard/regions/{region}/preview_list?start_time={start_time}&end_time={end_time}&stream_name={stream_name}
参数 | 类型 | 描述 |
---|---|---|
appid |
String | 必填。在声网控制台获取的 App ID。 |
entry_point |
String | 必填。发布点名称。 |
region |
String | 必填。录制文件对应的区域。 |
参数 | 类型 | 描述 |
---|---|---|
start_time |
String | 必填。查询范围的起始时间,RFC3339 格式,例如:2019-01-07T12:00:00Z 。 |
end_time |
String | 必填。查询范围的结束时间,RFC3339 格式,例如:2019-01-07T12:00:00Z 。 |
stream_name |
String | 必填。流名称。 |
如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:
list
:JSON Array 型,录制文件列表,根据录制开始的时间从早到晚排序。一条录制记录对应一个 JSON Object,包含以下字段:
startTime
:String 型,录制开始的时间,RFC3339 格式,例如 "2019-01-07T12:00:00Z"
。endTime
:String 型,录制结束的时间。RFC3339 格式,例如 "2019-01-07T12:00:00Z"
。fileName
:String 型,录制文件的存储路径。position
:Integer 型,播放位置相对于录制开始时间的偏移,单位为秒。如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 HTTP 状态码了解可能的原因。
请求行
GET https://api.sd-rtn.com/v1/projects/{your_appid}/fls/entry_points/live/admin/record/standard/regions/{region}/preview_list?start_time={start_time}&end_time={end_time}&stream_name={stream_name} HTTP/1.1
响应行
HTTP/1.1 200 OK
响应 body
{
"list": [
{
"fileName": "record/{entry_point}/{stream_name}/{m3u8_file_name}",
"startTime": "2021-08-25T10:44:40+08:00",
"endTime": "2021-08-25T11:01:49+08:00",
"position": 3
},
{
"fileName": "record/{entry_point}/{stream_name}/{m3u8_file_name}",
"startTime": "2021-08-25T12:19:23+08:00",
"endTime": "2021-08-25T14:42:58+08:00",
"position": 2
}
]
}
状态码 | 描述 |
---|---|
200 | 请求成功。 |
400 | 参数非法,如 appid 或者 entry_point 为空,或者 region 参数值非法。 |
401 | 未经授权(客户 ID/客户密钥匹配错误)。 |
404 | 服务器无法根据请求找到资源,即请求的发布点不存在,或者请求的 URI 路径非法。 |
500 | 服务器内部错误,无法完成请求。 |
504 | 服务器内部错误。充当网关或代理的服务器未从远端服务器获取请求。 |