本文为您介绍文字叠加相关参数说明和全程叠加、指定区域叠加的示例,以文字叠加场景Timeline的各种数据组织举例。

简介

视频剪辑的简介、总体流程和媒体合成服务的两种使用方式已在概述中介绍过,媒体合成最终都是通过视频合成接口发起并实现的,而Timeline是该服务重点处理的数据,也是视频剪辑中最核心的对象。Timeline内部参数可以组织成多种形式,以应对不同的业务场景。

参数说明

参数 说明
文字出现的坐标
  • X:文字左上角距离输出视频左上角的横向距离。
  • Y:文字左上角距离输出视频左上角的纵向距离。
支持百分比和像素两种形式:
  • 当取值范围为0~0.9999时,表示相对输出视频宽/高的占比(X相对宽,Y相对高)。
  • 当取值为≥8的整数时,表示绝对像素。
文字本身属性
  • Content:文本内容。
  • Font:字体,该字体不填则默认为宋体。

    目前支持的字体种类有:

    • SimSun:宋体。
    • WenQuanYi Zen Hei:文泉驿正黑。
    • WenQuanYi Zen Hei Mono:文泉驿等宽正黑。
    • WenQuanYi Zen Hei Sharp:文泉驿点阵正黑。
    • Yuanti SC Bold:圆体-简,粗体。
    • Yuanti SC Light:圆体-简,细体。
    • Yuanti SC Regular:圆体-简,常规体。
  • FontSize:字体大小,以像素为单位。该字段不填则默认为20。
  • FontColor:字体颜色,形式为16进制颜色值,以#开头,如:#FFFFFF。该字段不填则默认为#FFFFFFFont。
  • ColorOpacity:字体颜色的透明度,取值范围:0~1,1为完全不透明,0为完全透明。该字段不填则默认为1。
  • FontFace:文字的样式:
    • Bold:是否加粗。该字段不填则默认为false。
    • Italic:是否斜体。该字段不填则默认为false。
    • Underline:是否加下划线。该字段不填则默认为false。
文字在输出视频叠加的时间区间
  • TimelineIn:文字相对于时间线的入点。
  • TimelineOut:文字相对于时间线的出点。

全程叠加示例

全程叠加指从片头到片尾叠加,即视频全程叠加文字不需要指定TimelineInTimelineOut,文字在输出视频中出现的位置由XY设定。示例如下:

{
    "VideoTracks": [
        {
            "VideoTrackClips": [
                {
                    "MediaId": "ea9a6f9bdb68419abfd36a7113cf****",
                    "Effects": [
                        {
                            "Type": "Text",
                            "X": 31,
                            "Y": 93,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 0.2,
                            "FontColor": "#000000",
                            "FontFace": {
                                "Bold": true,
                                "Italic": false,
                                "Underline": false
                            }
                        },
                        {
                            "Type": "Text",
                            "X": 30,
                            "Y": 92,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 1,
                            "FontColor": "#FFFFFF"
                        },
                        {
                            "Type": "Text",
                            "X": 0.8123,
                            "Y": 0.7896,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 0.2,
                            "FontColor": "#000000"
                        },
                        {
                            "Type": "Text",
                            "X": 0.8223,
                            "Y": 0.7796,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 1,
                            "FontColor": "#FFFFFF"
                        }
                    ]
                }
            ]
        }
    ]
}

指定区域叠加

指定区域叠加指文字叠加在视频的指定时间区间,文字在输出视频中出现的位置由XY设定。在一个视频的第0~5、5~10秒叠加文字,示例如下:

  • TimelineIn不设置时,默认从0开始。
  • TimelineOut不设置时,默认到视频的尾部。
  • TimelineOut超过视频尾部(对单视频来说,即视频时长)时,超过的时间区间自动被忽略,仍以视频轨的尾部为准。
{
    "VideoTracks": [
        {
            "VideoTrackClips": [
                {
                    "MediaId": "ea9a6f9bdb68419abfd36a7113cf****",
                    "Effects": [
                        {
                            "Type": "Text",
                            "X": 31,
                            "Y": 93,
                            "TimelineIn": 0,
                            "TimelineOut": 5,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 0.2,
                            "FontColor": "#000000",
                            "FontFace": {
                                "Bold": true,
                                "Italic": false,
                                "Underline": false
                            }
                        },
                        {
                            "Type": "Text",
                            "X": 30,
                            "Y": 92,
                            "TimelineIn": 0,
                            "TimelineOut": 5,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 1,
                            "FontColor": "#FFFFFF"
                        },
                        {
                            "Type": "Text",
                            "X": 1124,
                            "Y": 516,
                            "TimelineIn": 5,
                            "TimelineOut": 10,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 0.2,
                            "FontColor": "#000000"
                        },
                        {
                            "Type": "Text",
                            "X": 1123,
                            "Y": 515,
                            "TimelineIn": 5,
                            "TimelineOut": 10,
                            "Font": "WenQuanYi Zen Hei Mono",
                            "Content": "测试文字",
                            "FontSize": 26,
                            "FontColorOpacity": 1,
                            "FontColor": "#FFFFFF"
                        }
                    ]
                }
            ]
        }
    ]
}