视频云剪辑
更新时间:2025-03-27
视频云剪辑(视频渲染合成)提供专业的在线视频剪辑服务,支持视频裁剪、拼接、转码、字幕、音频、特效等操作,生产出新的视频。 文本介绍如何通过API使用视频云剪辑服务。
操作支持 | 描述 |
---|---|
多轨道 | 支持视频剪辑所必需的多个图层叠加,音频混合 |
剪辑操作 |
|
字幕 | 支持为视频添加文字字幕(字体见文末) |
音频 | 支持调整视频的音频音量、添加背景音乐等 |
转码 | 将视频转换成不同的格式或分辨率 |
添加特效 | 为视频添加运镜特效、滤镜、动画等效果 |
1. 创建视频云剪辑任务
调用该接口可以创建一个视频云剪辑异步任务。发起请求后,任务将被创建并加入到当前用户的任务队列。用户可以在「任务中心」查询到该任务的状态。 如果用户在VOD创建了回调通知事件,则任务被开始处理、处理完成、处理失败时都将自动向用户发送通知。若通知失败会连续尝试3次,均失败后则放弃通知。
请求结构
POST /v2/media_compose HTTP/1.1
host: vod.bj.baidubce.com
authorization: <bce-authorization-string>
x-bce-date: <bce-authorization-utc-date>
content-type: application/json
请求参数
字段 | 类型 | 必要性 | 说明 |
---|---|---|---|
timeline | ComposeTimeline | 是 | 剪辑时间轴 |
output | ComposeOutput | 是 | 导出配置 |
响应参数
字段 | 类型 | 说明 |
---|---|---|
taskId | string | 任务ID ,可作为当前任务的唯一标识 |
请求示例
POST /v2/media_compose HTTP/1.1
host: vod.bj.baidubce.com
authorization: <bce-authorization-string>
x-bce-date: <bce-authorization-utc-date>
content-type: application/json
{
"timeline": {
"videoTracks": [
{
"videoItems": [
{
"sourceUrl": "https://example.com/background.jpg",
"type": "image",
"showStart": 0,
"showDuration": 10
}
]
},
{
"videoItems": [
{
"mediaId": "mda-jlsjdljrwsdfsdfe",
"type": "video",
"start": 3.5,
"duration": 4,
"showStart": 0,
"showDuration": 4.5,
"durationPaddingType": "last_frame",
"audioOperations": [
{
"volume": 1.5
}
],
"imageOperations": [
{
"speed": 1.2,
"crop": {
"xpos": 0.6,
"ypos": 0.6,
"width": 0.4,
"height": 0.4
}
}
],
"xpos": 0.0,
"ypos": 0.0,
"width": 1.0,
"height": 1.0
},
{
"sourceUrl": "https://example.com/video2.mp4",
"type": "video",
"start": 0.5,
"duration": 5.5,
"showStart": 4.5,
"showDuration": 5.5,
"imageOperations": [
{
"posMovement": {
"viewBox": "fixed",
"type": "zoomIn",
"speed": 0.001
}
}
]
}
]
}
],
"audioTracks": [
{
"audioItems": [
{
"sourceUrl": "https://example.com/audio1.mp3",
"start": 0.5,
"duration": 5.5,
"showStart": 0.0,
"showDuration": 10,
"durationPaddingType": "loop",
"imageOperations": [
{
"speed": 0.5
}
]
}
]
}
]
},
"output": {
"fileName": "my_first_video.mp4",
"compression": "low",
"width": 1280,
"height": 720
}
}
响应示例
{
"taskId": "tsk-jiowe4f89j394f93"
}
2. 任务状态回调通知事件
当任务状态发生变更时,VOD支持向用户设定的通知服务地址以POST请求方式发送通知消息。
请注意,通知只在短时间内最多尝试3次,若均未成功响应,则放弃通知。因此,为保证用户不丢失任务状态,建议用户端增加主动轮询机制。
回调消息体参数
字段名 | 类型 | 说明 |
---|---|---|
eventId | string | 通知事件的唯一id |
eventType | string(枚举) | 通知事件的类型,取值:COMPOSE_TASK_STATUS_CHANGE |
eventTime | string | 通知事件的发生时间,例如2024-10-11T13:48:01Z |
composeTaskStatusChangeEvent | ComposeTaskStatusChangeEvent | 视频合成任务状态变更事件 |
回调消息体示例
{
"eventId": "evt-ekaqzhzm3nzts0ws",
"eventTime": "2024-11-01T06:50:07Z",
"eventType": "COMPOSE_TASK_STATUS_CHANGE",
"composeTaskStatusChangeEvent": {
"taskId": "tsk-ekaqbp3ghsk2syyz",
"status": "SUCCESS",
"createTime": "2024-11-01T06:49:06Z",
"finishTime": "2024-11-01T06:50:07Z",
"composeTaskInfo": {
"errMsg": "OK",
"output": {
"mediaId": "mda-ekaqqmfj2a2f1fqf",
"url": "https://sefsgrvsdegvde.exp.bcevod.com/mda-ekaqqmfj2a2f1fqf/_src/mda-ekaqqmfj2a2f1fqf.mp4"
}
}
}
}
3. 查询视频云剪辑任务
调用该接口可以查询一个视频云剪辑异步任务的状态和结果。
请求结构
GET /v2/tasks/{taskId} HTTP/1.1
host: vod.bj.baidubce.com
authorization: <bce-authorization-string>
x-bce-date: <bce-authorization-utc-date>
请求路径参数
字段名 | 类型 | 说明 |
---|---|---|
taskId | string | 任务ID,任务创建时返回的唯一标识 |
响应参数
字段名 | 类型 | 说明 |
---|---|---|
taskId | string | 任务id |
type | string | 任务类型,值为COMPOSE |
status | string(枚举) | 任务进度,取值:READY (排队中), RUNNING , SUCCESS , FAILED |
createTime | string | 任务创建时间,例如2024-10-11T13:48:01Z |
finishTime | string | 任务完成时间,例如2024-10-11T13:49:59Z |
composeTaskInfo | ComposeTaskInfo | 视频云剪辑任务信息 |
请求示例
GET /v2/tasks/tsk-jiowe4f89j394f93 HTTP/1.1
host: vod.bj.baidubce.com
authorization: <bce-authorization-string>
x-bce-date: <bce-authorization-utc-date>
响应示例
示例1:
{
"taskId": "tsk-ekapq4e0fdd6v0x1",
"type": "COMPOSE",
"status": "RUNNING",
"createTime": "2024-11-01T05:18:28Z"
}
示例2:
{
"taskId": "tsk-ekaqbp3ghsk2syyz",
"type": "COMPOSE",
"status": "SUCCESS",
"createTime": "2024-11-01T06:49:06Z",
"finishTime": "2024-11-01T06:50:07Z",
"composeTaskInfo": {
"output": {
"mediaId": "mda-svfsjdssfgdsgds",
"url": "https://jwoiejfiow.exp.bcevod.com/mda-svfsjdssfgdsgds/_src/mda-svfsjdssfgdsgds.mp4"
}
}
}
4. 附录
字幕字体
字幕目前内置以下字体类型。下面的示例为了便于观察,均使用白色文字、黄色背景,且文字附加了黑色描边。
字体名称 | 示例 |
---|---|
方正黑体简体 |
![]() |
楷体 |
![]() |
思源宋体 CN |
![]() |
Noto Sans SC Black |
![]() |
Noto Sans SC SemiBold |
![]() |
Noto Sans SC Medium |
![]() |
Noto Sans SC Thin |
![]() |