由于数据结构较为复杂,单独整理出来
更新说明
更新时间 | 更新说明 |
---|---|
2025.07.30 | 1. 添加字体相关的字段 2. asset 上增加 dirName属性 : type 为 subDir 时,此值为高亮字幕包id 3. musicLyric 上增加 followId 和 fxGroup : followId为高亮字幕包id、fxGroup高亮字幕同一组id,标识字幕为同一个高亮字幕 4. videoFx 上增加 shape : 遮罩形状 5. timelineVideoFx 上增加 shape: 遮罩形状 6. caption 上增加 shape: 遮罩形状 7. keyFrame 上增加 additionalData: 遮罩上设置的关键帧种类 |
2025.07.02 | 云剪辑版本从 3.4.0开始,导出的xml中,musicLyricsTrack的属性和captionTrack保持一致,musicLyrics的属性和caption保持一致。从3.4.0导出的xml要使用同步更新之后的xml2json接口,否则会丢失一些字幕效果 |
2024.12.13 | 1. 添加 watermarkTracks 相关的字段说明 |
2024.08.01 | 1. captions、musicLyricsTracks 下新增 anchorPointX、anchorPointY 字段 |
2024.07.30 | 1. videos下新增 enableRawSourceMode、rawFilterProcessesMode 字段 |
2024.04.25 | 1. timeline下新增 timelineFlags、isDefaultCaptionFade、safeFrameSize字段 2. videos下新增 refImageWidth、refImageHeight 字段 |
2024.04.22 | 1. musicLyric下新增 animationPeroid、inAnimationDuration、outAnimationDuration字段 2. musicLyricTrack下新增type、direction、rendererId、contextId、animationId、inAnimationId、outAnimationId、letterSpacingType、letterSpacing、lineSpacing字段 |
2024.04.11 | 1. audio、caption、compoundCaption、musicLyric、sticker、timelineVideoFx、video添加 aliasTag字段 |
一些约定
- 除特别说明外,时间单位统一为微秒
- 颜色值采用#ffffffff颜色格式,颜色通道顺序为a,r,g,b
- 内建特效名称和参数请参见https://www.meishesdk.com/android/doc_ch/html/content/FxNameList_8md.html
- 字幕中如果需要手动换行的话,可以在字幕的text属性中添加换行符\n
json格式
json
{
"output": "16:9",
"timelines": [
{
"duration": 59720000,
"enableRenderOrderByZValue": true,
"encoderMode": "cbr",
"encoderType": "H.264",
"fps": 30,
"nvenc": true,
"outputEnd": -1,
"outputStart": 0,
"outputType": "mp4",
"resHeight": 540,
"resWidth": 960,
"sizeLevel": 1080,
"volume": 0.5226850115488941,
"videoBitrate": 16000000,
"videoSize": "16:9",
"templateId": "",
"videoTracks": [
{
"volume": 0.0,
"show": true,
"videos": [
{
"volume": 1.0,
"blendingMode": 0,
"combination": false,
"combinationOrder": 0,
"curvesSpeedString": "",
"enableClipFreezeFrame": false,
"extraRotation": 0,
"fadeInDuration": 0,
"fadeOutDuration": 0,
"fillMode": 0,
"freezeFrameTrimPos": 0,
"horizontalFlip": false,
"inPoint": 0,
"index": 0,
"keepAudioPitch": true,
"noAudio": false,
"outPoint": 16280000,
"path": "",
"reverse": false,
"reversePath": "",
"separated": false,
"speed": 1.0,
"trimIn": 10200000,
"trimOut": 26480000,
"verticalFlip": false,
"aliasTag": "",
"videoFxs": [
{
"index": 0,
"intensity": 1.0,
"isIgnoreBackground": false,
"isInverseRegion": false,
"isRaw": false,
"isRegional": false,
"name": "",
"regionalFeatherWidth": 0,
"type": "property",
"fxParams": [
{
"key": "Scale X",
"type": "float",
"value": "1"
},
{
"key": "",
"type": "int",
"value": "0"
},
{
"key": "",
"type": "bool",
"value": "true"
},
{
"key": "",
"type": "string",
"value": ""
},
{
"key": "Fill Mode",
"type": "menu",
"value": "AspectFit"
},
{
"key": "Background Mode",
"type": "menu",
"value": "Color Solid"
},
{
"key": "Background Color",
"type": "color",
"value": "#00000000"
},
{
"key": "region",
"objectValue": {
"x1": -0.5,
"x2": -0.5,
"x3": 0.5,
"x4": 0.5,
"y1": 0.5,
"y2": -0.5,
"y3": -0.5,
"y4": 0.5
},
"type": "object"
},
{
"key": "ellipseRegion",
"objectValue": {
"a": 0.35049019607843137,
"angle": 0,
"b": 0.6158892463235295,
"centerX": 0.19117647058823529,
"centerY": -0.10053104575163408
},
"type": "object"
},
{
"key": "curvePoint",
"objectValue": {
"timeSec": 0.0,
"x": -260.31488037109377,
"y": 7.8883209228515629
},
"type": "object"
},
{
"key": "curvePoint",
"objectValue": {
"timeSec": 0.036,
"x": -260.31488037109377,
"y": 7.8883209228515629
},
"type": "object"
},
{
"key": "curvePoint",
"objectValue": {
"timeSec": 0.07500025,
"x": -260.31488037109377,
"y": 7.8883209228515629
},
"type": "object"
}
],
"keyFrames": [
{
"key": "Scale X",
"time": 0,
"type": "float",
"value": "1"
},
{
"key": "",
"time": 0,
"type": "int",
"value": "0"
},
{
"key": "",
"time": 0,
"type": "bool",
"value": "true"
},
{
"key": "",
"time": 0,
"type": "string",
"value": ""
},
{
"key": "Fill Mode",
"time": 0,
"type": "menu",
"value": "AspectFit"
},
{
"key": "Background Mode",
"time": 0,
"type": "menu",
"value": "Color Solid"
},
{
"key": "Background Color",
"time": 0,
"type": "color",
"value": "#00000000"
},
{
"key": "region",
"objectValue": {
"x1": -0.4999999403953552,
"x2": -0.4999999403953552,
"x3": 0.5,
"x4": 0.5,
"y1": 0.5,
"y2": -0.5,
"y3": -0.5,
"y4": 0.5
},
"time": 0,
"type": "object"
}
]
},
{
"id": "02B33530-8663-4A01-A6F1-C9DAB3322590",
"index": 1,
"intensity": 1.0,
"isIgnoreBackground": false,
"isInverseRegion": false,
"isRaw": false,
"isRegional": false,
"regionalFeatherWidth": 0,
"type": "package"
},
{
"fxParams": [
{
"key": "Key Color",
"type": "color",
"value": "#ff02aa02"
},
{
"key": "Spill Removal",
"type": "bool",
"value": "true"
},
{
"key": "Softeness Amendment",
"type": "float",
"value": "0.1"
},
{
"key": "Spill Removal Intensity",
"type": "float",
"value": "0"
},
{
"key": "Shrink Intensity",
"type": "float",
"value": "0"
}
],
"index": 2,
"intensity": 1.0,
"isIgnoreBackground": false,
"isInverseRegion": false,
"isRaw": true,
"isRegional": false,
"name": "Master Keyer",
"regionalFeatherWidth": 0,
"type": "builtin"
}
],
"audioFxs": [
{
"fxParams": [
{
"key": "Level",
"type": "int",
"value": "2"
}
],
"index": 0,
"name": "Audio Noise Suppression",
"type": "builtin"
},
{
"index": 1,
"keyFrames": [
{
"key": "Left Gain",
"time": 0,
"type": "float",
"value": "1"
},
{
"key": "Right Gain",
"time": 0,
"type": "float",
"value": "1"
}
],
"type": "volume"
}
]
}
],
"transitions": [
{
"duration": 1000000,
"id": "8298527D-C479-4A14-B363-BE0528397E2E",
"index": 0,
"type": "package"
},
{
"duration": 1000000,
"index": 1,
"name": "",
"type": "builtin"
}
]
}
],
"audioTracks": [
{
"audios": [
{
"audioFxs": [
{
"index": 0,
"name": "Fast Cartoon Voice",
"type": "builtin"
},
{
"index": 1,
"keyFrames": [
{
"key": "Left Gain",
"time": 0,
"type": "float",
"value": "1"
},
{
"key": "Right Gain",
"time": 0,
"type": "float",
"value": "1"
},
{
"key": "Left Gain",
"time": 3840000,
"type": "float",
"value": "3.02"
},
{
"key": "Right Gain",
"time": 3840000,
"type": "float",
"value": "3.02"
}
],
"type": "volume"
}
],
"audioStreamIndex": 0,
"channelType": "stereo",
"combination": false,
"combinationOrder": 0,
"curvesSpeedString": "",
"fadeInDuration": 0,
"fadeOutDuration": 0,
"inPoint": 0,
"index": 0,
"keepAudioPitch": true,
"outPoint": 59600000,
"path": "",
"speed": 1.0,
"trimIn": 0,
"trimOut": 59600000,
"volume": 1.0,
"aliasTag": ""
}
],
"show": true,
"volume": 1.0
}
],
"timelineVideoFxTracks": [
{
"show": true,
"timelineVideoFxs": [
{
"combination": false,
"combinationOrder": 0,
"duration": 13400000,
"fxParams": [
{
"key": "Radius",
"type": "float",
"value": "23"
},
{
"key": "region",
"objectValue": {
"x1": -0.058823585510253909,
"x2": -0.058823585510253909,
"x3": 0.23529410362243653,
"x4": 0.23529410362243653,
"y1": -0.07382643222808838,
"y2": 0.10002732276916504,
"y3": 0.10002732276916504,
"y4": -0.07382643222808838
},
"type": "object"
}
],
"inPoint": 14920000,
"intensity": 1.0,
"isIgnoreBackground": false,
"isInverseRegion": false,
"isRegional": true,
"keyFrames": [
{
"key": "region",
"objectValue": {
"x1": -0.4999999403953552,
"x2": -0.4999999403953552,
"x3": 0.5,
"x4": 0.5,
"y1": 0.5,
"y2": -0.5,
"y3": -0.5,
"y4": 0.5
},
"time": 0,
"type": "object"
}
],
"name": "Gaussian Blur",
"regionalFeatherWidth": 0,
"type": "builtin",
"zValue": 5,
"aliasTag": ""
}
]
},
{
"show": true,
"timelineVideoFxs": [
{
"combination": false,
"combinationOrder": 0,
"duration": 5000000,
"id": "F845C51E-AFA0-44A5-B18A-87F7E1FA702F",
"inPoint": 6400000,
"intensity": 1.0,
"isIgnoreBackground": false,
"isInverseRegion": false,
"isRegional": false,
"regionalFeatherWidth": 0,
"type": "package",
"zValue": 9
}
]
}
],
"captionTracks": [
{
"captions": [
{
"align": "left",
"animationId": "",
"animationPeroid": 0,
"bgColor": "#00000000",
"bgRadius": 0.0,
"color": "#ffff73ab",
"combination": false,
"combinationOrder": 0,
"contextId": "53CDC64D-3CB6-4AE5-912B-B8F893D6A7E5",
"duration": 8120000,
"enableSpeed": false,
"font": "",
"fontSizeRatio": 0.1,
"fxParams": [],
"inAnimationDuration": 2827,
"inAnimationId": "F09FCB66-C1D5-4F73-8DC1-06B98599237C",
"inPoint": 1880000,
"italic": true,
"keyFrames": [],
"letterSpacing": 100.0,
"letterSpacingType": 0,
"lineSpacing": 0.0,
"outAnimationDuration": 705,
"outAnimationId": "36486C78-EC5F-471E-A5B0-1F41A7E60BBB",
"outline": false,
"outlineColor": "#ffffffff",
"outlineWidth": 0.0,
"recordingUserOperationTrans": true,
"rendererId": "869FD577-F5C7-40A3-A547-7DF806C41273",
"rotation": 0.0,
"scaleX": 1.0,
"scaleY": 1.0,
"shadow": false,
"shadowColor": "#7f808080",
"shadowFeather": 0.0,
"shadowOffsetX": 0.0,
"shadowOffsetY": 0.0,
"spans": [
{
"end": 4,
"start": 2,
"type": "fontFamily",
"value": "ZCOOL_KuHei [ZCOOL_KuHei]"
},
{
"end": 2,
"start": 1,
"type": "color",
"value": "#ff982828"
},
{
"end": 2,
"start": 1,
"type": "color",
"value": "#ffb52b2b"
}
],
"styleId": "",
"text": "浪漫的文字",
"translationX": 284.1484680175781,
"translationY": -146.20086669921876,
"type": "modular",
"underline": true,
"weight": 700,
"zValue": 6,
"aliasTag": ""
}
],
"show": true
}
],
"compoundCaptionTracks": [
{
"compoundCaptions": [
{
"captionItems": [
{
"color": "#ffffffff",
"font": "Noto Sans CJK JP [NotoSansCJKjp-Regular]",
"index": 0,
"text": "Love"
},
{
"color": "#ffffffff",
"font": "Noto Sans CJK JP [NotoSansCJKjp-Regular]",
"index": 1,
"text": "Crush"
}
],
"combination": false,
"combinationOrder": 0,
"duration": 5000000,
"fxParams": [],
"inPoint": 30880000,
"keyFrames": [],
"rotation": 0.0,
"scaleX": 0.6201772689819336,
"scaleY": 0.6201772689819336,
"styleId": "CCCAB518-CA56-465C-8E03-B0B6B10EAE90",
"translationX": -347.81640625,
"translationY": 176.85586547851563,
"zValue": 8,
"aliasTag": ""
}
],
"show": true
}
],
"stickerTracks": [
{
"show": true,
"stickers": [
{
"animationId": "",
"animationPeroid": 0,
"combination": false,
"combinationOrder": 0,
"duration": 15680000,
"fxParams": [],
"horizontalFlip": false,
"id": "ED5E9AF5-AF46-4FA4-8690-7F4D17168CD1",
"inAnimationDuration": 0,
"inAnimationId": "",
"inPoint": 8920000,
"keyFrames": [],
"outAnimationDuration": 0,
"outAnimationId": "",
"rotation": 0.0,
"scaleX": 0.8174743056297302,
"scaleY": 0.8174743056297302,
"translationX": -358.4278564453125,
"translationY": -146.20086669921876,
"type": "general",
"verticalFlip": false,
"volume": 1.0,
"zValue": 7,
"aliasTag": ""
}
],
"volume": 1.0
}
],
"musicLyricsTracks": [
{
"align": "center",
"color": "",
"font": "Noto Sans CJK SC [NotoSansCJKsc-Regular]",
"fontSizeRatio": 0.07037037037037038,
"italic": false,
"musicLyrics": [
{
"duration": 5000000,
"inPoint": 0,
"text": "示例字幕",
"zValue": 100,
"aliasTag": ""
}
],
"outline": false,
"outlineColor": "#ff000000",
"outlineWidth": 1.5,
"rotation": 0.0,
"scaleX": 1.0,
"scaleY": 1.0,
"show": true,
"styleId": "5F772E33-FF29-47F9-AD23-8A46770EEB95",
"translationX": 0.0,
"translationY": 0.0,
"underline": false,
"weight": 400
}
],
"watermarkTracks": [
{
"captionTracks": [
{
"captions": [
{
"type": "modular",
"text": "浪漫的文字",
"inPoint": 1880000,
"duration": 8120000,
"scaleX": 1.0,
"scaleY": 1.0,
"rotation": 0.0,
"recordingUserOperationTrans": true,
"translationX": 284.1484680175781,
"translationY": -146.20086669921876,
"zValue": 6,
"font": "",
"fontSizeRatio": 0.1,
"color": "#ffff73ab",
"weight": 700,
"italic": true,
"underline": true,
"align": "left",
"shadow": false,
"shadowColor": "#7f808080",
"shadowOffsetX": 0.0,
"shadowOffsetY": 0.0,
"shadowFeather": 0.0,
"outline": false,
"outlineColor": "#ffffffff",
"outlineWidth": 0.0,
"bgColor": "#00000000",
"bgRadius": 0.0,
"styleId": "",
"contextId": "53CDC64D-3CB6-4AE5-912B-B8F893D6A7E5",
"rendererId": "869FD577-F5C7-40A3-A547-7DF806C41273",
"animationId": "",
"inAnimationId": "F09FCB66-C1D5-4F73-8DC1-06B98599237C",
"outAnimationId": "36486C78-EC5F-471E-A5B0-1F41A7E60BBB",
"animationPeroid": 0,
"inAnimationDuration": 2827,
"outAnimationDuration": 705,
"letterSpacingType": 0,
"letterSpacing": 100.0,
"lineSpacing": 0.0,
"enableSpeed": false,
"combination": false,
"combinationOrder": 0
}
]
}
],
"stickerTracks": [
{
"volume": 1.0,
"show": true,
"stickers": [
{
"type": "general",
"inPoint": 8920000,
"duration": 15680000,
"scaleX": 0.8174743056297302,
"scaleY": 0.8174743056297302,
"rotation": 0.0,
"translationX": -358.4278564453125,
"translationY": -146.20086669921876,
"horizontalFlip": false,
"verticalFlip": false,
"zValue": 7,
"id": "ED5E9AF5-AF46-4FA4-8690-7F4D17168CD1",
"volume": 1.0,
"animationId": "",
"inAnimationId": "",
"outAnimationId": "",
"animationPeroid": 0,
"inAnimationDuration": 0,
"outAnimationDuration": 0,
"combination": false,
"combinationOrder": 0
}
]
},
{
"volume": 1.0,
"show": true,
"stickers": [
{
"type": "general",
"inPoint": 8920000,
"duration": 15680000,
"scaleX": 0.8174743056297302,
"scaleY": 0.8174743056297302,
"rotation": 0.0,
"translationX": -358.4278564453125,
"translationY": -146.20086669921876,
"horizontalFlip": false,
"verticalFlip": false,
"zValue": 7,
"id": "ED5E9AF5-AF46-4FA4-8690-7F4D17168CD1",
"volume": 1.0,
"animationId": "",
"inAnimationId": "",
"outAnimationId": "",
"animationPeroid": 0,
"inAnimationDuration": 0,
"outAnimationDuration": 0,
"combination": false,
"combinationOrder": 0
}
]
}
]
}
]
}
]
}
root
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
output | string | 输出指定的画幅比 | 是 |
timelins | object[ ] | 所有画幅比的时间线数组 | 是 |
timeline
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
duration | long | 时间线的时长, | 是 |
enableRenderOrderByZValue | boolean | 是否开启时间线特效(包括滤镜、字幕、贴纸等)使用zValue作为混合渲染层级依据, | 否 |
encoderMode | string | 合成成片的编码模式,字符串类型, | 否 |
encoderType | string | 编码格式,字符串类型,支持H.264和MPEG2-IBP | 否 |
fps | int | 合成成片的帧率,正整数类型,支持24、25、30、50、60常用值 | 否 |
nvenc | boolean | 合成成片是否使用硬编码,布尔类型, | 否 |
outputEnd | long | 区间导出结束点位置,整数类型,-1表示到时间线结束,输出图片时outputEnd和outputStart需要一致 | 否 |
outputStart | long | 区间导出开始点位置,整数类型,输出图片时outputEnd和outputStart需要一致 | 否 |
outputType | string | 输出文件格式,字符串类型,视频支持mp4和mov,音频支持m4a、mp3,图片支持jpg、png | 是 |
resHeight | int | 时间线的高度, | 是 |
resWidth | int | 时间线的宽度, | 是 |
sizeLevel | string | 合成成片的分辨率等级,整数类型,表示生成成片的短边值,支持480、720、1080、2160常用值 | 是 |
volume | double | 时间线音量,浮点类型,不设置时,默认值为1 | 否 |
videoBitrate | long | 合成成片的码率,正整数类型, | 否 |
videoSize | string | 画幅比 | 是 |
templateId | string | 模板id,如果是模板应用跳转的会带有此字段标识使用的哪个模板 | 否 |
timelineFlags | int | 时间线标志,整数类型,基本上是固定的,不要轻易修改 | 否 |
isDefaultCaptionFade | boolean | 默认是否开启普通无样式字幕的淡入淡出效果 | 否 |
safeFrameSize | double | 安全框的百分百大小 | 否 |
videoTracks | [ ]object | 视频轨 | 否 |
audioTracks | [ ]object | 音频轨 | 否 |
timelineVideoFxTracks | [ ]object | 视频特效轨 | 否 |
captionTracks | [ ]object | 字幕轨 | 否 |
compoundCaptionTracks | [ ]object | 复合字幕轨 | 否 |
stickerTracks | [ ]object | 贴纸轨 | 否 |
assets | [ ]object | 所有的字体信息 | 否 |
assets
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
type | string | 类型,目前有 字体 font 高亮字幕 subDir | 是 |
fileName | string | type是font时,字体的文件名 | 否 |
fontFamily | string | type是font时,字体的字族信息 | 否 |
dirName | string | type是subDir时,表示高亮字幕的id | 否 |
videoTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
volume | double | 轨道音量,浮点类型,不设置时,默认值为1。 | 否 |
show | boolean | 表示轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
videos | [ ]object | 视频片段 | 是 |
transitions | [ ]object | 转场 | 否 |
videos
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
volume | double | 音量,默认值为1 | 否 |
blendingMode | int | 混合模式 | 否 |
combination | boolean | 是否已经编组 | 否 |
combinationOrder | int | 编组的编号 | 否 |
curvesSpeedString | string | 曲线变速的值序列串 | 否 |
enableClipFreezeFrame | boolean | 是否为定格视频 | 否 |
extraRotation | double | 视频本身带有旋转角度值 | 否 |
fadeInDuration | long | 音频淡入时长,默认为0 | 否 |
fadeOutDuration | long | 音频淡出时长,默认为0 | 否 |
fillMode | int | 填充模式 | 否 |
freezeFrameTrimPos | long | 静帧画面的时间点 | 否 |
horizontalFlip | boolean | 水平翻转,默认为false | 否 |
index | int | 视频片段的索引值,添加转场时使用, | 是 |
inPoint | long | 片段在轨道上的起始点 | 是 |
outPoint | long | 片段在轨道上的终止点, | 是 |
trimIn | long | 视频片段的裁剪起始点,整数类型, | 是 |
trimOut | long | 片段的裁剪终止点 | 是 |
speed | double | 速度,正浮点数类型,默认为1,即没有变速效果 | 否 |
keepAudioPitch | boolean | 变速是否变调,true表示不变调,false表示变调 | 否 |
noAudio | boolean | 是否不带有音频,true表示不带有,视频里的音频会没有声音 | 否 |
path | string | 资源的http路径 | 是 |
reverse | boolean | 是否为倒放,倒放时使用reversePath作为原视频 | 否 |
reversePath | string | 倒放视频的http路径 | 否 |
separated | boolean | 是否是音视频分离的音频,true表示分离的,视频里的音频会没有声音 | 否 |
verticalFlip | boolean | 垂直翻转,默认为false | 否 |
refImageWidth | int | 视频素材的宽度,用于视频裁剪坐标变换的处理 | 否 |
refImageHeight | int | 视频素材的高度,用于视频裁剪坐标变换的处理 | 否 |
aliasTag | string | 标记 | 否 |
enableRawSourceMode | boolean | 是否开启原始画幅的模式,默认为false。目前只有使用Crop内建特效的时候才需要设置为true | 否 |
rawFilterProcessesMode | int | Raw滤镜的处理模式,默认为0。目前只有使用Crop内建特效的时候才需要设置为2,表示所有的Raw滤镜的输出尺寸按照滤镜实际输出大小,最后按照设置的填充模式适配到时间线的尺寸上 | 否 |
videoFxs | [ ]object | 片段特效 | 否 |
videoFxs
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
index | int | 特效索引,值越大效果越靠后 | 是 |
type | string | 特效类型property/builtin/package,property表示属性特效,builtin表示内建特效,package表示特效包 | 是 |
name | string | 内建特效名称,type为builtin时有效且必填 | 否 |
id | string | 特效包ID,type为package时有效且必填 | 否 |
intensity | int | 特效强度, 取值范围[0,1] | |
isRaw | bool | 是否为raw特效,true表示根据原始视频画面做特效处理,false表示适配时间线坐标系之后做特效处理,这个概念比较复杂,所以尽量不要修改这个值 | 否 |
isRegional | bool | 是否为区域特效 | 否 |
isIgnoreBackground | bool | 区域特效情况下,是否忽略背景 | 否 |
isInverseRegion | bool | 区域特效情况下,是否反向选取区域 | 否 |
regionalFeatherWidth | int | 区域特效情况下,边界的羽化值 | 否 |
fxParams | [ ]object | 特效参数 | 否 |
keyFrames | [ ]object | 特效关键帧参数 | 否 |
shape | string | 遮罩形状 | 否 |
fxParams
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
type | string | 特效参数的类型,字符串类型,可以设置float、int、bool、string、menu、color或object,float为浮点数类型,int为整数类型,bool为布尔类型,string为字符串类型,menu为枚举类型,color为颜色类型,object为对象类型, compoundPackage为包类型 | 是 |
key | string | 特效参数的名称 | 是 |
value | string | 特效参数的值,不同参数类型对应不同类型的值,当key为object类型时,不需要设置此值,此时需要参看objectValue标签 | 否 |
id | string | 当type为compoundPackage时特效包的id | 否 |
objectValue | object | 参数的value值,type为object类型时有效 | 否 |
keyFrames
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
type | string | 特效关键帧参数的类型,字符串类型,可以设置float、int、bool、string、menu、color或object,float为浮点数类型,int为整数类型,bool为布尔类型,string为字符串类型,menu为枚举类型,color为颜色类型,object为对象类型, compoundPackage为包类型 | 是 |
time | long | 特效关键帧时间戳,单位微秒 | 是 |
key | string | 特效关键帧参数的名称 | 是 |
value | string | 特效关键帧参数的值,不同参数类型对应不同类型的值,当key为object类型时,不需要设置此值,此时需要参看objectValue标签 | 否 |
id | string | 当type为compoundPackage时特效包的id | 否 |
objectValue | object | 参数的value值,type为object类型时有效 | 否 |
additionalData | string | 遮罩上设置的关键帧种类 | 否 |
objectValue -> 当fxParam或者KeyFrame 的key为ellipseRegion
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
centerX | string | 椭圆区域遮罩的水平中心点 | 是 |
centerY | string | 椭圆区域遮罩的垂直中心点 | 是 |
a | string | 椭圆区域遮罩的长轴半径 | 是 |
b | string | 椭圆区域遮罩的短轴半径 | 是 |
angle | string | 椭圆区域遮罩的旋转角度 | 是 |
objectValue -> 当fxParam或者KeyFrame 的key为region
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
x1 | string | 方形区域遮罩的起始点x坐标 | 是 |
y1 | string | 方形区域遮罩的起始点y坐标 | 是 |
x2 | string | 方形区域遮罩的下一个点x坐标 | 是 |
y2 | string | 方形区域遮罩的下一个点y坐标 | 是 |
x3 | string | 方形区域遮罩的下一个点x坐标 | 是 |
y3 | string | 方形区域遮罩的下一个点y坐标 | 是 |
x4 | string | 方形区域遮罩的终止点x坐标 | 是 |
y4 | string | 方形区域遮罩的终止点y坐标 | 是 |
objectValue -> 当fxParam 的key为curvePoint
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
timeSec | double | 表示手绘粒子的时间戳,单位为秒. 粒子效果比较复杂,所以不建议修改这些参数,手绘粒子本身已经带有时间戳,不适用于关键帧参数形式 | 是 |
x | double | 此时刻粒子的横坐标 | 是 |
y | double | 此时刻粒子的纵坐标 | 是 |
transitions
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
index | int | 转场的前边的源视频片段索引值,就是video的索引值 | 是 |
type | string | 转场的类型,字符串类型,可以设置builtin或package,builtin为内建转场类型,package为转场包类型 | 是 |
name | string | 内建转场名称,字符串类型, | 否 |
id | string | 转场包的ID,字符串类型, | 否 |
duration | long | 转场的时长。该值的一半,不能大于前后两段视频片段各自的时长;如果一个片段前后加了两个转场,两个转场的总时长的一半大于该片段,可能会造成转场效果重叠,最好不要大于 | 否 |
audioTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
audios | [ ]object | 音频属性 | 是 |
show | boolean | 表示轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
volume | double | 轨道音量,浮点类型,不设置时,默认值为1。 | 否 |
audios
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
id | string | 音频片段的索引值,暂时没有用处,考虑后续扩展添加转场时使用 | 是 |
path | string | 音频的http路径 | 是 |
inPoint | long | 音频片段在轨道上的起始点 | 是 |
outPoint | long | 音频片段在轨道上的终止点 | 是 |
trimIn | long | 音频片段的裁剪起始点,需要和trimOut同时设置,参考视频中的描述 | 是 |
trimOut | long | 音频片段的裁剪终止点,需要和trimIn同时设置,参考视频中的描述 | 是 |
volume | double | 音量,默认值为1 | 否 |
speed | double | 速度,正浮点数类型,默认为1,即没有变速效果 | 否 |
keepAudioPitch | boolean | 变速是否变调,true表示不变调,false表示变调 | 否 |
fadeInDuration | long | 淡入时长,默认为0 | 否 |
fadeOutDuration | long | 淡出时长,默认为0 | 否 |
curvesSpeedString | string | 曲线变速的值序列串 | 否 |
audioStreamIndex | int | 多音频流情况下音频流的索引值 | 否 |
channelType | string | 声道类型,立体声或单声道 | 否 |
combination | boolean | 是否已经编组 | 否 |
combinationOrder | int | 编组的编号 | 否 |
aliasTag | string | 标记 | 否 |
audioFxs | object[ ] | 音频特效 | 否 |
audioFx
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
index | int | 音频特效索引值,整数类型 | 是 |
type | string | 音频特效的类型,字符串类型,可以设置为builtin或volume,builtin为内建特效类型,volume为音量特效类型 | 是 |
name | string | 内建特效名称,字符串类型, | 否 |
keyframes | object[ ] | 特效关键帧参数 | 否 |
timelineVideoFxTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
timelineVideoFx | object | 时间线视频特效 | 是 |
show | boolean | 表示轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
timelineVideoFx
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
inPoint | long | 时间线滤镜在时间线上的起始点 | 是 |
duration | long | 时间线滤镜的时长 | 是 |
type | string | 时间线滤镜的类型,字符串类型,可以设置builtin或package,builtin为内建滤镜类型,package为滤镜包类型 | 是 |
id | string | 滤镜包的ID,字符串类型, | 否 |
name | string | 内建滤镜名称,字符串类型, | 否 |
intensity | int | 时间线滤镜的强度,浮点数类型,取值0~1,闭区间,不设置时,默认是1 | 否 |
isRegional | boolean | 是否为区域特效 | 否 |
isIgnoreBackground | boolean | 区域特效情况下,是否忽略背景 | 否 |
isInverseRegion | boolean | 区域特效情况下,是否反向选取区域 | 否 |
regionalFeatherWidth | int | 区域特效情况下,边界的羽化值 | 否 |
zValue | int | 时间线滤镜的渲染层级,整数类型,不设置时,默认是0 | 否 |
combination | boolean | 是否编组 | 否 |
combinationOrder | int | 编组的编号 | 否 |
aliasTag | string | 标记 | 否 |
fxParams | [ ]object | 特效参数 | 否 |
keyFrames | [ ]object | 特效关键帧参数 | 否 |
shape | string | 遮罩形状 | 否 |
captionTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
captions | object[ ] | 字幕属性 | 是 |
show | boolean | 表示轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
captions
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
type | string | 字幕的类型,字符串类型,可以设置general或modular,general为普通字幕类型,modular为模块化字幕类型 | 是 |
styleId | string | 字幕包的ID,字符串类型, | 否 |
text | string | 字幕的文字 | 是 |
inPoint | long | 字幕在时间线上的起始点 | 是 |
duration | long | 持续时长 | 是 |
font | string | 字幕字体,字符串类型,。 | 否 |
fontSizeRatio | int | 字幕字号大小比例值,浮点数类型, | 是 |
scaleX | double | 字幕垂直缩放因子 | 否 |
scaleY | double | 字幕垂直缩放因子 | 否 |
rotation | double | 字幕旋转角度值,浮点数类型,逆时针为正方向 | 否 |
translationX | double | 字幕水平平移值,浮点数类型, | 否 |
translationY | double | 字幕垂直平移值 | 否 |
zValue | int | 字幕的渲染层级,整数类型,不设置时,默认是0 | 否 |
color | string | 字幕文字颜色,字符串类型, | 否 |
weight | int | 字幕的粗细,整数类型, | 否 |
italic | bool | 是否设置斜体 | 否 |
underline | bool | 是否设置下划线 | 否 |
align | string | 字幕文字对齐方式,字符串类型,水平排版的字幕可以设置left、center、right三种对齐方式,left为左对齐,center为居中对齐,right为右对齐,垂直排版的字幕可以设置top、vCenter、bottom三种对齐方式,top为上对齐,vCenter为居中对齐,bottom为下对齐 | 否 |
shadow | bool | 是否设置阴影 | 否 |
shadowColor | string | 阴影颜色 | 否 |
shadowOffsetX | doule | 阴影水平偏移值 | 否 |
shadowOffsetY | doule | 阴影垂直偏移值 | 否 |
shadowFeather | doule | 阴影羽化程度 | 否 |
outline | bool | 是否设置描边 | 否 |
outlineColor | string | 描边颜色 | 否 |
outlineWidth | int | 描边宽度 | 否 |
bgColor | string | 背景颜色 | 否 |
bgRadius | double | 背景圆角值 | 否 |
contextId | string | 字幕气泡样式包ID,字符串类型, | 否 |
rendererId | string | 模块字幕花字样式包ID,字符串类型, | 否 |
animationId | string | 字幕循环动画包ID,字符串类型, | 否 |
inAnimationId | string | 字幕入动画包ID,字符串类型, | 否 |
outAnimationId | string | 字幕出动画包ID,字符串类型, | 否 |
animationPeroid | long | 字幕循环动画的周期值,单位为毫秒 | 否 |
inAnimationDuration | long | 入动画时长,毫秒 | 否 |
outAnimationDuration | long | 出动画时长,毫秒 | 否 |
letterSpacingType | string | 字间距的类型,默认为0表示绝对值类型,尽量不要修改此参数 | 否 |
letterSpacing | int | 字间距 | 否 |
lineSpacing | int | 行间距 | 否 |
enableSpeed | boolean | 是否开启字幕变速,如果开启,字幕会根据设置的时长自动改变运动速度,保证整体平滑运动到结束,默认不开启时,字幕会根据字幕样式包里面设置的时长和速度进行运动。 | 否 |
isRegional | boolean | 是否为区域特效 | 否 |
isIgnoreBackground | boolean | 区域特效情况下,是否忽略背景 | 否 |
isInverseRegion | boolean | 区域特效情况下,是否反向选取区域 | 否 |
regionalFeatherWidth | int | 区域特效情况下,边界的羽化值 | 否 |
recordingUserOperationTrans | boolean | 是否记录用户对字幕的参数设置,默认设置为true表示记录,如果设置为false,有些参数效果会应用不上,所以尽量不要修改此参数 | 否 |
anchorPointX | double | 字幕锚点水平值,浮点数类型, | 否 |
anchorPointY | double | 字幕锚点垂直值,浮点数类型,。 | 否 |
aliasTag | string | 标记 | 否 |
fxParams | [ ]object | 特效参数 | 否 |
keyFrames | [ ]object | 特效关键帧参数 | 否 |
spans | [ ]object | 富文本参数 | 否 |
followId | string | 为高亮字幕包id | 否 |
fxGroup | string | 高亮字幕同一组id,标识字幕为同一个高亮字幕 | 否 |
spans
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
type | string | 【必填】富文本字幕此区域设置的参数名称,字符串类型,可以设置fontSizeRatio、opacity、outlineOpacity、shadowOpacity、outlineWidth、normalText、weight、underline、italic、color、outlineColor、fontFamily和rendererId,fontSizeRatio表示字体大小,opacity表示文字透明度,outlineOpacity表示描边透明度,shadowOpacity表示阴影透明度,outlineWidth表示描边宽度,normalText表示将文本设置为普通字样式(仅有一个body,可能含有一个描边),参数为outlineWidth,当outlineWidth = 0,增加上去的文字样式没有描边 ,weight表示文字粗细,underline表示下划线,italic表示斜体,color表示文字颜色,outlineColor表示描边颜色,fontFamily表示字体,rendererId表示花字样式包ID | 是 |
start | long | 富文本字幕此区域的起始位置 | 是 |
end | long | 富文本字幕此区域的结束位置,整数类型,区域不包含结束位置,属于开区间。 | 是 |
value | string | 富文本字幕此区域设置的参数值,不同参数名称对应不同的值类型,fontSizeRatio、opacity、outlineOpacity、shadowOpacity、outlineWidth和normalText是浮点数类型,weight是整数类型,underline和italic是布尔类型,color和outlineColor是颜色类型,fontFamily和rendererId是字符串类型 | 是 |
compoundCaptionTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
compoundCaptions | object[ ] | 复合字幕属性 | 是 |
show | boolean | 表示轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
compoundCaptions
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
inPoint | long | 组合字幕在时间线上的起始点 | 是 |
duration | long | 组合字幕的时长 | 是 |
styleId | string | 组合字幕包的ID | 是 |
scaleX | double | 组合字幕水平缩放因子 | 否 |
scaleY | double | 组合字幕垂直缩放因子 | 否 |
rotation | double | 组合字幕旋转角度值,浮点数类型,逆时针为正方向 | 否 |
translationX | double | 组合字幕水平平移值,浮点数类型, | 否 |
translationY | double | 组合字幕垂直平移值,浮点数类型, | 否 |
zValue | int | 组合字幕的渲染层级,整数类型,不设置时,默认是0 | 否 |
combination | boolean | 是否已经编组 | 否 |
combinationOrder | int | 编组的编号 | 否 |
aliasTag | string | 标记 | 否 |
fxParams | [ ]object | 特效参数 | 否 |
keyFrames | [ ]object | 特效关键帧参数 | 否 |
captionItems | [ ]object | 子字幕属性 | 否 |
captionItem
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
index | int | 组合字幕其中一个字幕的索引值 | 是 |
text | string | 组合字幕此索引值对应字幕的文字 | 是 |
font | string | 组合字幕此索引值对应字幕的字体 | 否 |
color | string | 组合字幕此索引值对应字幕的颜色 | 否 |
stickerTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
stickers | object[ ] | 贴纸属性 | 是 |
show | boolean | 表示轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
volume | double | 轨道音量,浮点类型,不设置时,默认值为1。 | 否 |
stickers
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
type | string | 贴纸的类型,字符串类型,默认为general表示通用贴纸类型,其他类型用于后续扩展使用,不要修改此参数 | 是 |
inPoint | long | 贴纸在时间线上的起始点 | 是 |
duration | long | 贴纸的时长,整数类型 | 是 |
id | string | 贴纸包ID | 是 |
path | string | 自定义贴纸图片资源的本地路径,字符串类型, | 否 |
scaleX | double | 贴纸水平缩放因子 | 否 |
scaleY | double | 贴纸垂直缩放因子 | 否 |
rotation | double | 贴纸旋转角度值,浮点数类型,逆时针为正方向 | 否 |
translationX | double | 贴纸水平平移值,浮点数类型, | 否 |
translationY | double | 贴纸垂直平移值,浮点数类型, | 否 |
horizontalFlip | boolean | 垂直翻转 | 否 |
verticalFlip | boolean | 水平翻转 | 否 |
zValue | int | 贴纸的渲染层级,整数类型,不设置时,默认是0 | 否 |
volume | double | 有声贴纸的音量,浮点类型,不设置时,默认值为1 | 否 |
animationId | string | 贴纸循环动画包ID | 否 |
inAnimationId | string | 贴纸入动画包ID | 否 |
outAnimationId | string | 贴纸出动画包ID | 否 |
animationPeroid | long | 贴纸循环动画的周期值,单位为毫秒 | 否 |
inAnimationDuration | long | 贴纸入动画的时长,单位为毫秒 | 否 |
outAnimationDuration | long | 贴纸出动画的时长,单位为毫秒 | 否 |
combination | boolean | 是否已经编组 | 否 |
combinationOrder | int | 编组的编号 | 否 |
aliasTag | string | 标记 | 否 |
fxParams | [ ]object | 特效参数 | 否 |
keyFrames | [ ]object | 特效关键帧参数 | 否 |
musicLyricsTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
show | boolean | 表示唱词字幕轨道是否可见,布尔类型,不设置时,默认值为true | 否 |
styleId | string | 唱词字幕包的ID, | 否 |
scaleX | double | 水平缩放因子 | 否 |
scaleY | double | 垂直缩放因子 | 否 |
rotation | double | 旋转角度值,浮点数类型,逆时针为正方向 | 否 |
translationX | double | 水平平移值,浮点数类型, | 否 |
translationY | double | 垂直平移值,浮点数类型, | 否 |
font | string | 唱词字幕字体,字符串类型, | 否 |
fontSizeRatio | double | 唱词字幕字号大小比例值,浮点数类型, | 否 |
color | string | 唱词字幕文字颜色,字符串类型, | 否 |
weight | int | 唱词字幕的粗细,整数类型, | 否 |
italic | boolean | 是否设置斜体 | 否 |
underline | boolean | 是否设置下划线 | 否 |
outline | boolean | 是否设置描边 | 否 |
outlineColor | string | 唱词字幕描边颜色 | 否 |
outlineWidth | long | 唱词字幕描边宽度 | 否 |
align | string | 唱词字幕文字对齐方式,字符串类型,可以设置center-vCenter、left-vCenter、right-vCenter、center-top、left-top、right-top、center-bottom、left-bottom、right-bottom ,center-vCenter为水平居中并且垂直居中,left-vCenter为水平左对齐并且垂直居中,right-vCenter为水平右对齐并且垂直居中,center-top为水平居中并且垂直上对齐,left-top为水平左对齐并且垂直上对齐,right-top为水平右对齐并且垂直上对齐,center-bottom为水平居中并且垂直下对齐,left-bottom为水平左对齐并且垂直下对齐,right-bottom为水平右对齐并且垂直下对齐 | 否 |
type | string | 唱词字幕的类型,字符串类型,可以设置空字符串、general或modular,空字符串和general为普通字幕类型,modular为模块化字幕类型 | 否 |
direction | string | 唱词字幕排版的方向,字符串类型,可以设置vertical或horizontal,horizontal为水平排版,vertical为垂直排版 | 否 |
rendererId | string | 唱词字幕花字样式包ID | 否 |
contextId | string | 唱词字幕气泡样式包ID,字符串类型, | 否 |
animationId | string | 唱词字幕循环动画包ID,字符串类型, | 否 |
inAnimationId | string | 唱词字幕入动画包ID,字符串类型, | 否 |
outAnimationId | string | 唱词字幕出动画包ID,字符串类型, | 否 |
letterSpacingType | int | 唱词字幕字间距的类型,默认为0表示绝对值类型,尽量不要修改此参数。 | 否 |
letterSpacing | double | 唱词字幕字间距 | 否 |
lineSpacing | double | 唱词字幕行间距 | 否 |
anchorPointX | double | 字幕锚点水平值,浮点数类型, | 否 |
anchorPointY | double | 字幕锚点垂直值,浮点数类型,。 | 否 |
musicLyrics | object[ ] | 贴纸属性 | 是 |
musicLyrics
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
inPoint | long | 唱词字幕在时间线上的起始点 | 是 |
duration | long | 唱词字幕的时长 | 是 |
text | string | 唱词字幕的文字 | 否 |
zValue | int | 唱词字幕的渲染层级,整数类型,不设置时,默认是0,为了让唱词字幕始终在最上层显示,所以会设置为100,可以根据最终需求修改此值来控制显示的层级 | 否 |
animationPeroid | long | 唱词字幕循环动画的周期值,单位为毫秒 | 否 |
inAnimationDuration | long | 唱词字幕入动画的时长,单位为毫秒 | 否 |
outAnimationDuration | long | 唱词字幕出动画的时长,单位为毫秒 | 否 |
aliasTag | string | 标记 | 否 |
watermarkTracks
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
stickerTracks | object[ ] | 贴纸水印,参考上面的stickerTracks 说明 | 否 |
captionTracks | object[ ] | 文字水印,参考上面的stickerTracks 说明 | 否 |