脚本化自动成片常见问题汇总

更新时间:2025-04-07 05:03:18

本文将介绍在脚本化自动成片过程中遇到的常见问题。

<脚本化自动成片处理逻辑>相关问题

全局口播模式的处理逻辑是什么?

  • 如果输入视频为长视频片段,会先进行拆条,混剪时选取拆条后的视频片段进行拼接合成。拆条后单镜头的时长=SingleShotDuration

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

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

  • 成片时长规则:

    • 输入了全局口播文案:成片时长=口播文案的时长。

    • 没有输入全局口播文案:

分组口播模式的处理逻辑是什么?

  • 和「全局口播模式」相同,会先对长视频进行拆条。相比于全局口播模式,分组口播模式的口播文案在MediaGroup中进行分组设置。因此,MediaGroup新增了SpeechTextArray字段。采用分组口播模式时,无需设置InputConfig.SpeechTextSpeechTextArray,若进行设置将导致错误。

  • 如果MediaGroup.SpeechTextArray 为空,说明这个素材组无口播,用MediaGroup.Duration控制该组时长,默认5s。

  • 如果想控制某一个MediaGroup中的素材音量,可以设置MediaGroup.VolumeMediaGroup.Volume的优先级高于EditingConfig.MediaConfig.Volume

  • 每组支持传入多组口播,如果所有组的口播数量一致(除去无口播组),则默认按顺序组合。比如所有组都选用第N个口播片段。如果每组的口播数量不一致,则每组随机选一个口播片段,最后合并成完整口播。

<脚本化自动成片效果优化与提升>相关问题

如何解决成片画面切换过于生硬、频率过快的问题?

可以借助智能标签作业中的智能分镜分析能力,自动完成素材的AI分镜拆条工作,以解决成片画面切换生硬及频率过快的问题。请注意,以下讲解步骤仅针对单个视频素材进行智能分镜分析的流程,若需对多个视频素材进行智能分镜分析,请重复执行以下步骤即可。

  1. 针对某个视频素材,调用SubmitSmarttagJob - 提交智能标签作业,注意此场景下,TemplateId需要传固定值: “S00000103-000003”。

  2. 通过调用QuerySmarttagJob - 智能标签任务查询接口查询到分镜分析的结果,即接口返回参数中,type=ClipSplit所对应的data参数,其内容示例如下。其中,StartTime表示分镜的开始时间,单位为秒;EndTime表示分镜的结束时间,单位也为秒。

    [
      {
        "EndTime": 5.4,
        "ClipType": "opening",
        "StartTime": 0.0
      },
      {
        "EndTime": 9.16,
        "ClipType": "opening",
        "StartTime": 5.4
      },
      {
        "EndTime": 12.88,
        "ClipType": "opening",
        "StartTime": 9.16
      },
      {
        "EndTime": 16.0,
        "ClipType": "opening",
        "StartTime": 12.88
      }
    ]
    
  3. 将步骤2中的分镜信息和脚本化自动成片中的素材一一对应,并传入脚本化自动成片EditingConfig.MediaConfig.MediaMetaDataArray.TimeRangeList参数中,例如

    {
      "MediaConfig": {
        "MediaMetaDataArray": [
          {
            "Media": "https://******.****.****/public-template/video/movie_apsara_4.mp4",
            "GroupName": "opening",
            "TimeRangeList": [
              {
                "In": 0,
                "Out": 5.4
              },
              {
                "In": 5.4,
                "Out": 9.16
              },
              {
                "In": 9.16,
                "Out": 12.88
              },
              {
                "In": 12.88,
                "Out": 16.0
              }
            ]
          }
        ]
      }
    }
  4. 将步骤3中对应的MediaGroupMediaGroup.SplitMode参数设置为“NoSplit”,如此一来,不仅不会对传入的片段进行二次切分,从而确保画面的完整性,还能够有效避免画面切换过于生硬及频率过快的问题。

如何解决画面切换速度过快或过慢以及配置镜头时长的问题?

如何计算图片类素材在成片中的显示时长?

在一个分组中,如果同时包含图片和视频类素材,则有一定几率会选取到图片,此时图片将占满整个成片。因此,可以通过以下几种方式来控制图片的显示时长:

如何确保视频素材在成片中能够被完整播完?

  • 在一个分组中,如果您希望视频素材在成片中能够被完整播完,建议将MediaGroup.SplitMode设置成NoSplit,并且MediaGroup.Duration设置为与素材相同的时长。假设某个素材时长20秒,想完整放完此素材,那么MediaGroup.SplitMode设置成NoSplit,MediaGroup.Duration设置成20秒。

  • 不过需要注意的是:如果“在一个分组中被选用的素材时长”小于“MediaGroup.Duration”,那么该随机素材会根据MediaGroup.Duration进行倍速缩放。例如:MediaGroup.Duration=10秒,而此时从分组中随机选取了一个20秒长的视频,那么这个视频会按照2倍(20/10)速度进行播放。

实现原声视频片段与解说交替播放的具体方法是什么?

  • 如果您希望在某些时段播放原声视频,而在其他时段进行静音并配以口播解说,可以通过MediaGroup.Volume控制分组中的素材音量,一般来说是设置成原始音量,即将值设置为1。

  • 举例,假设有三个分组,分别为MediaGroup1、MediaGroup2、MediaGroup3。如果您希望MediaGroup1正常口播,MediaGroup2没有口播仅播放原声音视频,MediaGroup3正常口播,那么可以将MediaGroupArray设置成如下

[{
"GroupName": "MediaGroup1",
"MediaArray": ["https://ice-*****-test.oss-cn-*****.aliyuncs.com/0-test-batch-editing-materials/160134%2B9859695-2032aa5c-2803-47cd-bf65-8a40d66598db.png", "https://ice-auto-test.oss-cn-shanghai.aliyuncs.com/0-test-batch-editing-materials/cloud.mp4"],
"SpeechTextArray": ["附近的商场新开了一家盒马鲜生,今天是第一天开业", "今天是这家盒马鲜生第一天开业", "<speak>战火<phoneme alphabet=\"py\" ph=\"zheng4 hao3\">正酣</phoneme>。今天,我们的主角,乒坛传奇马龙,正向着荣耀的巅峰发起冲击。1/4决赛中面对实力强劲的户上隼辅,马龙毫不畏惧,每一个回合都全力以赴。他精准的球路和冷静的判断,让他在这场比赛中占据了上风。最终,马龙成功战胜对手,晋级四强。</speak>"]
},
{
"GroupName": "MediaGroup2",
"MediaArray": ["https://ice-*****-test.oss-cn-*****.aliyuncs.com/0-test-batch-editing-materials/normal%20video.mp4", "https://ice-auto-test.oss-cn-shanghai.aliyuncs.com/0-test-batch-editing-materials/3.jpeg"],
"Duration": 5,
"SplitMode": "NoSplit",
"Volume": 1
},
{
"GroupName": "MediaGroup3",
"MediaArray": ["https://ice-*****-test.oss-cn-*****.aliyuncs.com/0-test-batch-editing-materials/young_sunset_walk.mp4"],
"SpeechTextArray": ["快来看看吧", "快点来看看吧"]
}]

  • 本页导读 (1)
  • <脚本化自动成片处理逻辑>相关问题
  • 全局口播模式的处理逻辑是什么?
  • 分组口播模式的处理逻辑是什么?
  • <脚本化自动成片效果优化与提升>相关问题
  • 如何解决成片画面切换过于生硬、频率过快的问题?
  • 如何解决画面切换速度过快或过慢以及配置镜头时长的问题?
  • 如何计算图片类素材在成片中的显示时长?
  • 如何确保视频素材在成片中能够被完整播完?
  • 实现原声视频片段与解说交替播放的具体方法是什么?
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等