全部產品
Search
文件中心

Intelligent Media Services:指令碼化自動成片常見問題匯總

更新時間:Jun 26, 2025

本文將介紹在指令碼化自動成片過程中遇到的常見問題。

<指令碼化自動成片處理邏輯>相關問題

全域口播模式的處理邏輯是什嗎?

  • 如果輸入視頻為長視頻片段,會先進行拆條,混剪時選取拆條後的視頻片段進行拼接合成。拆條後單鏡頭的時間長度=SingleShotDuration

  • 如果有輸入全域口播文案,在數量足夠的前提下,盡量不重複選取。例如:輸入3條文案,需要產生5條視頻,則5條成片中會出現相同文案,但3條文案都會被使用至少一次。

  • 按照分組順序,先每組隨機挑選一個拆條後的視頻片段,進行前後拼接。如果輸入了全域口播文案且視頻總時間長度少於口播時間長度,則優先從非首尾分組中隨機選取視頻片段,直到視頻總時間長度與口播時間長度相當。

  • 成片時間長度規則:

    • 輸入了全域口播文案:成片時間長度=口播文案的時間長度。

    • 沒有輸入全域口播文案:

分組口播模式的處理邏輯是什嗎?

  • 和「全域口播模式」相同,會先對長視頻進行拆條。相比於全域口播模式,分組口播模式的口播文案在MediaGroup中進行分組設定。因此,MediaGroup新增了SpeechTextArray欄位。採用分組口播模式時,無需設定InputConfig.SpeechText或SpeechTextArray,若進行設定將導致錯誤。

  • 如果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中對應的MediaGroup的MediaGroup.SplitMode參數設定為“NoSplit”,如此一來,不僅不會對傳入的片段進行二次切分,從而確保畫面的完整性,還能夠有效避免畫面切換過於生硬及頻率過快的問題。

如何解決畫面切換速度過快或過慢以及配置鏡頭時間長度的問題?

  • 通過ImageDuration來控製圖片在成片中的顯示時間長度;

  • 通過設定SingleShotDuration參數控制視頻素材拆條後的分鏡時間長度;

如何計算圖片類素材在成片中的顯示時間長度?

在一個分組中,如果同時包含圖片和視頻類素材,則有一定幾率會選取到圖片,此時圖片將佔滿整個成片。因此,可以通過以下幾種方式來控製圖片的顯示時間長度:

如何確保視頻素材在成片中能夠被完整播完?

  • 在一個分組中,如果您希望視頻素材在成片中能夠被完整播完,建議將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": ["快來看看吧", "快點來看看吧"]
}]