视频云剪辑
更新时间:2025-12-05
视频云剪辑(视频渲染合成)提供专业的在线视频剪辑服务,支持视频裁剪、拼接、转码、字幕、音频、特效等操作,生产出新的视频。 文本介绍如何通过API使用视频云剪辑服务。
| 操作支持 | 描述 |
|---|---|
| 多轨道 | 支持视频剪辑所必需的多个图层叠加,音频混合 |
| 剪辑操作 |
|
| 字幕 | 支持为视频添加文字字幕(字体见文末) |
| 音频 | 支持调整视频的音频音量、添加背景音乐等 |
| 转码 | 将视频转换成不同的格式或分辨率 |
| 添加特效 | 为视频添加运镜特效、滤镜、动画等效果 |
1. 创建视频云剪辑任务
调用该接口可以创建一个视频云剪辑异步任务。发起请求后,任务将被创建并加入到当前用户的任务队列。用户可以在「任务中心」查询到该任务的状态。 如果用户在VOD创建了回调通知事件,则任务被开始处理、处理完成、处理失败时都将自动向用户发送通知。若通知失败会连续尝试3次,均失败后则放弃通知。
请求结构
Http
1POST /v2/media_compose HTTP/1.1
2host: vod.bj.baidubce.com
3authorization: <bce-authorization-string>
4x-bce-date: <bce-authorization-utc-date>
5content-type: application/json
请求参数
| 字段 | 类型 | 必要性 | 说明 |
|---|---|---|---|
| timeline | ComposeTimeline | 是 | 剪辑时间轴 |
| output | ComposeOutput | 是 | 导出配置 |
响应参数
| 字段 | 类型 | 说明 |
|---|---|---|
| taskId | string | 任务ID ,可作为当前任务的唯一标识 |
请求示例
Http
1POST /v2/media_compose HTTP/1.1
2host: vod.bj.baidubce.com
3authorization: <bce-authorization-string>
4x-bce-date: <bce-authorization-utc-date>
5content-type: application/json
JSON
1{
2 "timeline": {
3 "videoTracks": [
4 {
5 "videoItems": [
6 {
7 "sourceUrl": "https://example.com/background.jpg",
8 "type": "image",
9 "showStart": 0,
10 "showDuration": 10
11 }
12 ]
13 },
14 {
15 "videoItems": [
16 {
17 "mediaId": "mda-jlsjdljrwsdfsdfe",
18 "type": "video",
19 "start": 3.5,
20 "duration": 4,
21 "showStart": 0,
22 "showDuration": 4.5,
23 "durationPaddingType": "last_frame",
24 "audioOperations": [
25 {
26 "volume": 1.5
27 }
28 ],
29 "imageOperations": [
30 {
31 "speed": 1.2,
32 "crop": {
33 "xpos": 0.6,
34 "ypos": 0.6,
35 "width": 0.4,
36 "height": 0.4
37 }
38 }
39 ],
40 "xpos": 0.0,
41 "ypos": 0.0,
42 "width": 1.0,
43 "height": 1.0
44 },
45 {
46 "sourceUrl": "https://example.com/video2.mp4",
47 "type": "video",
48 "start": 0.5,
49 "duration": 5.5,
50 "showStart": 4.5,
51 "showDuration": 5.5,
52 "imageOperations": [
53 {
54 "posMovement": {
55 "viewBox": "fixed",
56 "type": "zoomIn",
57 "speed": 0.001
58 }
59 }
60 ]
61 }
62 ]
63 }
64 ],
65 "audioTracks": [
66 {
67 "audioItems": [
68 {
69 "sourceUrl": "https://example.com/audio1.mp3",
70 "start": 0.5,
71 "duration": 5.5,
72 "showStart": 0.0,
73 "showDuration": 10,
74 "durationPaddingType": "loop",
75 "imageOperations": [
76 {
77 "speed": 0.5
78 }
79 ]
80 }
81 ]
82 }
83 ]
84 },
85 "output": {
86 "fileName": "my_first_video.mp4",
87 "compression": "low",
88 "width": 1280,
89 "height": 720
90 }
91}
响应示例
JSON
1{
2 "taskId": "tsk-jiowe4f89j394f93"
3}
2. 任务状态回调通知事件
当任务状态发生变更时,VOD支持向用户设定的通知服务地址以POST请求方式发送通知消息。
请注意,通知只在短时间内最多尝试3次,若均未成功响应,则放弃通知。因此,为保证用户不丢失任务状态,建议用户端增加主动轮询机制。
回调消息体参数
| 字段名 | 类型 | 说明 |
|---|---|---|
| eventId | string | 通知事件的唯一id |
| eventType | string(枚举) | 通知事件的类型,取值:COMPOSE_TASK_STATUS_CHANGE |
| eventTime | string | 通知事件的发生时间,例如2024-10-11T13:48:01Z |
| composeTaskStatusChangeEvent | ComposeTaskStatusChangeEvent | 视频合成任务状态变更事件 |
回调消息体示例
JSON
1{
2 "eventId": "evt-ekaqzhzm3nzts0ws",
3 "eventTime": "2024-11-01T06:50:07Z",
4 "eventType": "COMPOSE_TASK_STATUS_CHANGE",
5 "composeTaskStatusChangeEvent": {
6 "taskId": "tsk-ekaqbp3ghsk2syyz",
7 "status": "SUCCESS",
8 "createTime": "2024-11-01T06:49:06Z",
9 "finishTime": "2024-11-01T06:50:07Z",
10 "composeTaskInfo": {
11 "errMsg": "OK",
12 "output": {
13 "mediaId": "mda-ekaqqmfj2a2f1fqf",
14 "url": "https://sefsgrvsdegvde.exp.bcevod.com/mda-ekaqqmfj2a2f1fqf/_src/mda-ekaqqmfj2a2f1fqf.mp4"
15 }
16 }
17 }
18}
3. 查询视频云剪辑任务
调用该接口可以查询一个视频云剪辑异步任务的状态和结果。
请求结构
Http
1GET /v2/tasks/{taskId} HTTP/1.1
2host: vod.bj.baidubce.com
3authorization: <bce-authorization-string>
4x-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 | 视频云剪辑任务信息 |
请求示例
Http
1GET /v2/tasks/tsk-jiowe4f89j394f93 HTTP/1.1
2host: vod.bj.baidubce.com
3authorization: <bce-authorization-string>
4x-bce-date: <bce-authorization-utc-date>
响应示例
示例1:
JSON
1{
2 "taskId": "tsk-ekapq4e0fdd6v0x1",
3 "type": "COMPOSE",
4 "status": "RUNNING",
5 "createTime": "2024-11-01T05:18:28Z"
6}
示例2:
JSON
1{
2 "taskId": "tsk-ekaqbp3ghsk2syyz",
3 "type": "COMPOSE",
4 "status": "SUCCESS",
5 "createTime": "2024-11-01T06:49:06Z",
6 "finishTime": "2024-11-01T06:50:07Z",
7 "composeTaskInfo": {
8 "output": {
9 "mediaId": "mda-svfsjdssfgdsgds",
10 "url": "https://jwoiejfiow.exp.bcevod.com/mda-svfsjdssfgdsgds/_src/mda-svfsjdssfgdsgds.mp4"
11 }
12 }
13}
4. 附录
字幕字体
字幕目前内置以下字体类型。下面的示例为了便于观察,均使用白色文字、黄色背景,且文字附加了黑色描边。
| 字体名称 | 示例 |
|---|---|
方正黑体简体 |
![]() |
楷体 |
![]() |
思源宋体 CN |
![]() |
Noto Sans SC Black |
![]() |
Noto Sans SC SemiBold |
![]() |
Noto Sans SC Medium |
![]() |
Noto Sans SC Thin |
![]() |
转场示例
圆形关闭
圆形裁剪
圆形打开
向下覆盖
向左覆盖
向右覆盖
向上覆盖
左下对角线
右下对角线
左上对角线
右上对角线
溶解
距离
淡入淡出
黑色淡入淡出
快速淡入淡出
灰度淡入淡出
慢速淡入淡出
白色淡入淡出
水平模糊
水平左切片
水平左风动
水平关闭
水平打开
水平右切片
水平右风动
像素化
径向
矩形裁剪
向下显露
向左显露
向右显露
向上显露
向下滑动
向左滑动
向右滑动
向上滑动
向下平滑
向左平滑
向右平滑
向上平滑
水平挤压
垂直挤压
垂直下切片
垂直下风动
垂直关闭
垂直打开
垂直上切片
垂直上风动
左下擦除
右下擦除
向下擦除
向左擦除
向右擦除
左上擦除
右上擦除
向上擦除
放大







