录制视频裁剪
更新时间:2019-06-14
接口描述
裁剪录制视频接口,输入绝对开始时间和结束时间,可以获取视频回放。
- 本接口仅支持已经录制的m3u8视频, 裁剪后输出可以是m3u8或mp4格式。
- 只能剪裁已经录制完成的视频,不能干预直播中正在录制的或即将录制的视频。
请求语法
POST /v5/recording/clip HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: {utc-date-string}
host: lss.bj.baidubce.com
accept: */*
connection: keep-alive
x-bce-request-id: {bce-request-id}
content-type: application/json
authorization: {bce-authorization-string}
请求头域
无特殊请求头域。
请求参数
参数 | 类型 | 是否必须 | 描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
playDomain | String | 是 | 播放域名名称 | - | - |
app | String | 是 | app名称 | - | - |
stream | String | 是 | stream名称 | - | - |
filename | String | 否 | 指定裁剪后的文件名称 | - | 格式为clip_<stream名称>_<startTime>_<endTime> ,startTime与endTime如果未指定也用对应的默认值 |
format | String | 否 | 裁剪后视频的格式 | m3u8,mp4 | m3u8 |
startTime | Number | 否 | 指定录制视频开始时间(unix时间戳,单位秒) | - | 直播录制的最开始时间,不指定或0 表示从直播开始录制。 |
endTime | Number | 否 | 指定录制视频结束时间(unix时间戳,单位秒) | - | 直播录制结束最后时间,不指定或0 表示录制到直播结束。 |
sourceFile | String | 是 | 指定要裁剪的m3u8文件名,需要包括bucket下目录的路径 | - | - |
pipeline | String | format=mp4时必选 | 指定MCT中的转码队列 | - | - |
preset | String | format=mp4时必选 | 指定MCT中的mp4转码模板 | - | - |
clipId | String | 可选 | 查询裁剪MP4结果的id | - | - |
请求示例
m3u8裁剪:
POST /v5/recording/clip HTTP/1.1
content-length: 444
accept-encoding: gzip, deflate
x-bce-date: 2015-07-03T09:28:13Z
connection: keep-alive
accept: */*
user-agent: python-requests/2.4.0 CPython/2.7.9 Darwin/14.3.0
host: lss.bj.baidubce.com
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
content-type: application/json
authorization: bce-auth-v1/e8e4a9ced6794355a9a1b8a20b58d37b/2015-07-03T09:28:13Z/1800/content-type;host;x-bce-date/4a1692dc4bab84f5801f79ea0c1fece3601cf73ecd94409d2a94b3942b971715
{
"playDomain": "play.test.com",
"app": "testapp",
"stream": "teststream",
"filename": "teststream_clip"
"format": "m3u8",
"startTime": 1510627184,
"endTime": 1510628184,
"sourceFile": “yourfile/teststream_clip.m3u8"
}
MP4裁剪:
POST /v5/recording/clip HTTP/1.1
content-length: 444
accept-encoding: gzip, deflate
x-bce-date: 2015-07-03T09:28:13Z
connection: keep-alive
accept: */*
user-agent: python-requests/2.4.0 CPython/2.7.9 Darwin/14.3.0
host: lss.bj.baidubce.com
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
content-type: application/json
authorization: bce-auth-v1/e8e4a9ced6794355a9a1b8a20b58d37b/2015-07-03T09:28:13Z/1800/content-type;host;x-bce-date/4a1692dc4bab84f5801f79ea0c1fece3601cf73ecd94409d2a94b3942b971715
{
"playDomain": "play.test.com",
"app": "testapp",
"stream": "teststream",
"filename": "teststream_clip_mp4"
"format": "mp4",
"startTime": 1510627184,
"endTime": 1510628184,
"pipeline": "test_pipeline",
"preset": "test_preset",
"sourceFile": “yourfile/teststream_clip.m3u8"
}
响应头域
无特殊响应头域。
响应参数
参数 | 类型 | 描述 |
---|---|---|
fileUrl | String | m3u8剪裁:完成裁剪的视频的BOS地址 |
clipId | String | MP4裁剪:用于查询裁剪的MP4结果的id,与最终返回的jobId对应 |
说明:
m3u8剪裁:
- 录制模板需要是m3u8格式,开启一直合并。
- 录制的bucket请设置为公共读,否则返回的链接不能直接访问。
- 如果正在推流时调用本接口,则只能裁剪本次推流之前的录制视频,所以注意指定对应的时间。
- 如果录制的视频时间过长,本接口会有延时。
MP4剪裁:
- preset尺寸伸缩策略需要设置为自适应伸缩(ShrinkToFit)。
- 通过jobId可以从 MCT 查询裁剪后MP4的地址。
- 转码队列的bucket要与LSS直播中存放录制视频的bucket一致。
- 获取clipId后,需要再次请求该接口并带上clipId参数,以获取 MCT 服务的jobId。
响应示例
m3u8裁剪:
{
"fileUrl" : "http://bos-recording-test.bos.gz.qasandbox.bcetest.baidu.com/teststream_clip.m3u8"
}
mp4裁剪:
{
"clipId" : "job-hkvsk1j9gnc19cit"
}