录制视频裁剪

接口描述

裁剪录制视频接口,输入绝对开始时间和结束时间,可以获取视频回放。

  • 本接口仅支持已经录制的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剪裁:

  1. 录制模板需要是m3u8格式,开启一直合并。
  2. 录制的bucket请设置为公共读,否则返回的链接不能直接访问。
  3. 如果正在推流时调用本接口,则只能裁剪本次推流之前的录制视频,所以注意指定对应的时间。
  4. 如果录制的视频时间过长,本接口会有延时。

MP4剪裁:

  1. preset尺寸伸缩策略需要设置为自适应伸缩(ShrinkToFit)。
  2. 通过jobId可以从 MCT 查询裁剪后MP4的地址。
  3. 转码队列的bucket要与LSS直播中存放录制视频的bucket一致。
  4. 获取clipId后,需要再次请求该接口并带上clipId参数,以获取 MCT 服务的jobId。

响应示例

m3u8裁剪:

{
  "fileUrl" : "http://bos-recording-test.bos.gz.qasandbox.bcetest.baidu.com/teststream_clip.m3u8"
}

mp4裁剪:

{
  "clipId" : "job-hkvsk1j9gnc19cit"
}