文档

批量一键成片混剪逻辑与进阶配置

更新时间:

智能生产制作支持批量化智能一键成片,包含【脚本化自动成片】和【智能图文匹配成片】两种解决方案。通过阅读本文,您将了解批量一键成片混剪逻辑以及进阶配置。

使用说明

「脚本化自动成片」处理逻辑

当InputConfig中包含MediaGroupArray参数时,混剪模式为脚本化自动成片,处理逻辑如下:

  • 如果输入视频为长视频片段,会先进行拆条,混剪时选取拆条后的视频片段进行拼接合成。拆条后单镜头的时长默认为3s,您也可以通过EditingConfig.ProcessConfig.SingleShotDuration指定镜头时长。

  • 如果有口播文案,在数量足够的前提下,尽量不重复选取。例如:输入3条文案,需要生成5条视频,则5条成片中会出现相同文案,但3条文案都会被使用至少一次。

  • 按照分组顺序,先每组随机挑选一个拆条后的视频片段,进行前后拼接。如果输入了口播文案且视频总时长少于口播时长,则优先从非首尾分组中随机选取视频片段,直到视频总时长与口播时长相当。

「智能图文匹配成片」处理逻辑

当InputConfig中包含MediaGroup参数,不包含MediaGroupArray参数时,混剪模式为智能图文匹配成片,处理逻辑如下:

  • 和「脚本化自动成片」相同,先对长视频进行拆条。

  • 如果没有口播文案,则随机选取视频片段进行前后拼接,合成大约15s的成片。

  • 如果有口播文案,则进行图文智能匹配并对齐口播文案,批量合成多条成片。

配置批量一键成片剪辑完成回调

发起「批量智能一键成片」任务后,会批量发起多个剪辑任务,合成多个视频。当左右子任务都完成后会发送完成回调。具体回调字段请参考:回调事件BatchProduceMediaComplete

配置全局回调

您可在控制台或调用接口设置「批量智能一键成片」完成的全局回调。操作详情请参考:设置回调事件

配置接口维度回调

在提交「批量智能一键成片」任务时,支持在userData字段中配置接口维度的任务完成回调,示例参考:UserData配置回调

批量一键成片进阶配置

在提供方便快捷、低门槛混剪功能的基础上,一键成片也开放多个参数配置,供您调整成片效果。下文将选择几个常用配置,做示例说明。

指定背景音乐、口播声音的风格和音量

EditingConfig配置如下:

{
  "SpeechConfig": {
    "Style": "Gentle",
    "Gain": 1.1
  },
  "BackgroundMusicConfig": {
    "Style": "bgm-relaxing",
    "Gain": 0.2
  }
}

具体字段及取值:参考口播文案相关配置背景音乐相关配置

指定口播的音色和速度

如果所有成片都共用一个口播Voice,EditingConfig配置如下:

{
  "SpeechConfig": {
    "Voice": "zhiru"
  }
}

如果希望成片的口播Voice从一个列表中随机选取,多值需用英文逗号隔开,EditingConfig配置如下:

{
  "SpeechConfig": {
    "Voice": "zhiru,zhilun,zhibei_emo"
  }
}

如果想要调整口播的速度,EditingConfig配置如下:

{
  "SpeechConfig": {
    "SpeechRate": 100
  }
}

SpeechRate 取值范围,参考:配置SpeechRate

配置字幕特效

和口播Voice类似,EditingConfig支持传入一个或多个字幕特效。

  • 例1:字幕入场效果在wave_in和fade_in中随机选取,字幕出场效果固定为wave_out,配置如下:

    {
      "SpeechConfig": {
        "AsrConfig": {
           "AaiMotionInEffect": "wave_in,fade_in"
           "AaiMotionInEffect": "wave_out"
        }
      }
    }
  • 例2:字幕循环特效在normal_display和naughty_display中随机选取:

    {
      "SpeechConfig": {
        "AsrConfig": {
           "AaiMotionLoopEffect": "normal_display,naughty_display"
        }
      }
    }

配置输入素材的入出点

当输入的素材过长,但只想使用部分片段进行一键成片时,可以在EditingConfig中配置素材的入出点。

  • 例1:脚本化素材成片模式,配置素材的入出点。

    InputConfig:
    {
      "MediaGroupArray": [
        {
          "GroupName": "group1",
          "MediaArray": [
            "****9d46c886b45481030f6e****",
            "****c886810b4549d4630f6e****"
          ]
        },
        {
          "GroupName": "group2",
          "MediaArray": [
            "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
            "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test2.png",
            "****9d46c886b45481030f6e****",
          ]
        }
      ],
      "Title": "回龙观盒马鲜生开业啦",
      "SpeechText": "附近的商场新开了一家盒马鲜生,今天是第一天开业,赶紧来凑热闹,这家盒马面积不大,但商场里的人不少,零食、酒水都比较便宜,排队的人都排成了长龙,大家也快来看看呀",
      "BackgroundMusic": "****b4549d46c88681030f6e****",
      
    }
    
    EditingConfig:
    {
      "MediaConfig": {
        "Volume": 0,
        "MediaMetaDataArray": [
          {
            "Media": "****9d46c886b45481030f6e****",
            "GroupName": "group1"
            "TimeRangeList": [
              {
                "In": 5,
                "Out": 10
              },
              {
                "In": 15,
                "Out": 20
              }
            ]
          },
          {
            "Media": "****9d46c886b45481030f6e****",
            "GroupName": "group2",
            "TimeRangeList": [
              {
                "In": 0,
                "Out": 5
              }
            ]
          },
          {
            "Media": "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
            "GroupName": "group2",
            "TimeRangeList": [
              {
                "In": 0,
                "Out": 20
              }
            ]
          }
        ]
      }
    }
  • 例2:智能图文匹配成片模式,配置素材的入出点。

    InputConfig:
    {
      "MediaArray": [
        "****9d46c886b45481030f6e****",
        "****c886810b4549d4630f6e****",
        "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
        "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test2.png"
      ],
      "Title": "回龙观盒马鲜生开业啦",
      "SpeechText": "附近的商场新开了一家盒马鲜生,今天是第一天开业,赶紧来凑热闹,这家盒马面积不大,但商场里的人不少,零食、酒水都比较便宜,排队的人都排成了长龙,大家也快来看看呀",
      "BackgroundMusic": "****b4549d46c88681030f6e****",
    }
    
    EditingConfig:
    {
      "MediaConfig": {
        "MediaMetaDataArray": [
          {
            "Media": "****9d46c886b45481030f6e****",
            "TimeRangeList": [
              {
                "In": 5,
                "Out": 10
              },
              {
                "In": 15,
                "Out": 20
              }
            ]
          },
          {
            "Media": "http://test-bucket.oss-cn-shanghai.aliyuncs.com/test1.mp4",
            "TimeRangeList": [
              {
                "In": 5,
                "Out": 10
              }
            ]
          }
        ]
      }
    }

配置特效

您可以通过配置EditingConfig,在视频片段中添加特效效果。同时,您也可以控制特效出现的频率。EditingConfig配置如下:

{
  "ProcessConfig": {
    "AllowVfxEffect": true,
    "VfxEffectProbability": 1.0 // 意为每个片段都添加特效
  }
}

配置转场

您可以通过配置EditingConfig,在视频片段中添加转场效果。同时,您也可以指定自定义的转场效果列表。EditingConfig配置如下:

{
  "ProcessConfig": {
    "AllowTransition": true,
    "TransitionList": ["linearblur", "colordistance", "crosshatch", "dreamyzoom", "doomscreentransition_up"]
  }
}

默认情况下,多个成片之间的转场效果可能不同,但单个成片内会使用统一转场。如果您希望单个成片内的转场效果也随机,EditingConfig配置如下:

{
  "ProcessConfig": {
    "AllowTransition": true,
    "UseUniformTransition": false
  }
}

配置自定义背景

在默认情况下,如果输入素材的分辨率与输出分辨率不同,多余的区域将会使用系统背景图或背景模糊来进行自动填充。您可以通过配置来指定自定义的背景图片、指定背景模糊,并进行纯色背景的配置。

  • 例1:使用自定义背景图片,InputConfig配置如下:

    {
      "MediaArray": [
        "****9d46c886b45481030f6e****"
      ],
      "Title": "回龙观盒马鲜生开业啦",
      "SpeechText": "附近的商场新开了一家盒马鲜生,今天是第一天开业,赶紧来凑热闹,这家盒马面积不大,但商场里的人不少,零食、酒水都比较便宜,排队的人都排成了长龙,大家也快来看看呀",
      "BackgroundMusic": "****b4549d46c88681030f6e****",
      "BackgroundImage": "****c88681b4549d46030f6e****"
    }
  • 例2:指定背景模糊,EditingConfig配置如下:

    {
      "BackgroundImageConfig": {
        "SubType": "Blur",   
        "Radius": 0.1
      }
    }
  • 例3:指定纯色背景,EditingConfig配置如下:

    {
      "BackgroundImageConfig": {
        "SubType": "Color",   
        "Color": "#000000"
      }
    }