本文將介紹在指令碼化自動成片過程中遇到的常見問題。
<指令碼化自動成片處理邏輯>相關問題
全域口播模式的處理邏輯是什嗎?
如果輸入視頻為長視頻片段,會先進行拆條,混剪時選取拆條後的視頻片段進行拼接合成。拆條後單鏡頭的時間長度=SingleShotDuration
如果有輸入全域口播文案,在數量足夠的前提下,盡量不重複選取。例如:輸入3條文案,需要產生5條視頻,則5條成片中會出現相同文案,但3條文案都會被使用至少一次。
按照分組順序,先每組隨機挑選一個拆條後的視頻片段,進行前後拼接。如果輸入了全域口播文案且視頻總時間長度少於口播時間長度,則優先從非首尾分組中隨機選取視頻片段,直到視頻總時間長度與口播時間長度相當。
成片時間長度規則:
輸入了全域口播文案:成片時間長度=口播文案的時間長度。
沒有輸入全域口播文案:
如果設定了FixedDuration參數,成片時間長度=FixedDuration的值”。
如果設定了MaxDuration參數,成片時間長度=SingleShotDuration的值×分組的數量(即SpeechTextArray的長度),但時間長度不得超過MaxDuration的值。
分組口播模式的處理邏輯是什嗎?
和「全域口播模式」相同,會先對長視頻進行拆條。相比於全域口播模式,分組口播模式的口播文案在MediaGroup中進行分組設定。因此,MediaGroup新增了SpeechTextArray欄位。採用分組口播模式時,無需設定InputConfig.SpeechText或SpeechTextArray,若進行設定將導致錯誤。
如果MediaGroup.SpeechTextArray 為空白,說明這個素材組無口播,用MediaGroup.Duration控制該組時間長度,預設5s。
如果想控制某一個MediaGroup中的素材音量,可以設定MediaGroup.Volume,MediaGroup.Volume的優先順序高於EditingConfig.MediaConfig.Volume
每組支援傳入多組口播,如果所有組的口播數量一致(除去無口播組),則預設按順序組合。比如所有組都選用第N個口播片段。如果每組的口播數量不一致,則每組隨機選一個口播片段,最後合并成完整口播。
<指令碼化自動成片效果最佳化與提升>相關問題
如何解決成片畫面切換過於生硬、頻率過快的問題?
可以藉助智能標籤作業中的智能分鏡分析能力,自動完成素材的AI分鏡拆條工作,以解決成片畫面切換生硬及頻率過快的問題。請注意,以下講解步驟僅針對單個視頻素材進行智能分鏡分析的流程,若需對多個視頻素材進行智能分鏡分析,請重複執行以下步驟即可。
針對某個視頻素材,調用SubmitSmarttagJob - 提交智能標籤作業,注意此情境下,TemplateId需要傳固定值: “S00000103-000003”。
通過調用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 } ]將步驟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 } ] } ] } }將步驟3中對應的MediaGroup的MediaGroup.SplitMode參數設定為“NoSplit”,如此一來,不僅不會對傳入的片段進行二次切分,從而確保畫面的完整性,還能夠有效避免畫面切換過於生硬及頻率過快的問題。
如何解決畫面切換速度過快或過慢以及配置鏡頭時間長度的問題?
通過ImageDuration來控製圖片在成片中的顯示時間長度;
通過設定SingleShotDuration參數控制視頻素材拆條後的分鏡時間長度;
如何計算圖片類素材在成片中的顯示時間長度?
在一個分組中,如果同時包含圖片和視頻類素材,則有一定幾率會選取到圖片,此時圖片將佔滿整個成片。因此,可以通過以下幾種方式來控製圖片的顯示時間長度:
如果設定了ImageDuration,則圖片在成片中的顯示時間長度便以此為準;
如果有口播,則圖片時間長度 = 口播tts時間長度 / MediaGroupArray數組長度;
如果設定了FixedDuration 但沒有設定口播,則圖片時間長度 = FixedDuration / MediaGroupArray數組長度;
如何確保視頻素材在成片中能夠被完整播完?
在一個分組中,如果您希望視頻素材在成片中能夠被完整播完,建議將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": ["快來看看吧", "快點來看看吧"]
}]