為當前剪輯加入字幕
使用已儲存的專案,其中包含放置好的音軌以及位於 transcript.json 的逐字稿文件。
$PROJECT_ID 和 $REVISION 指的是當前剪輯。在時間調整後進行草稿。
將 $PLACEHOLDERS 替換為實際值;直接發送所列的 cutbolt_* 呼叫而不使用指令,
或使用帶有指令/參數的 cutbolt_run。保持阻塞渲染在 job.start 中。
{"command":"captions.draft","project":{"project_id":"$PROJECT_ID"},"transcripts":[{"file":"transcript.json"}]}
在返回的文檔中審查提示文字和時間,然後將其保留為 $CAPTION_DOCUMENT。
在渲染前修正辨識錯誤。$FONT 是一個字體識別碼/路徑物件(例如 {"path":"font.ttf"})或
一個來自 fonts.find 的明確已安裝名稱。$FONT_SIZE、$LINE_HEIGHT 和 $CAPTION_RECT
是符合專案的像素佈局值。為實際提示選擇足夠的空間。
溢出會被拒絕,因此不會有文字被靜默截斷。
{"command":"job.start","request_id":"caption-render","run":"captions.render","arguments":{"document":"$CAPTION_DOCUMENT","project":{"project_id":"$PROJECT_ID"},"layouts":{"default":{"fonts":["$FONT"],"size":"$FONT_SIZE","rect":"$CAPTION_RECT","line_height":"$LINE_HEIGHT","letter_spacing":0,"wrap":"none","overflow":"reject"}},"output":"caption-edits.json","mode":"generated","track_id":"captions","asset_id":"caption"}}
$JOB_ID 是返回的任務票證。
{"command":"job.wait","job_id":"$JOB_ID","timeout_seconds":120}
僅在狀態為「已完成」時繼續。將 result.operations 保留為 $CAPTION_OPERATIONS
(一個文件參考),將 result.expected_revision 保留為 $CAPTION_REVISION。在記錄的修訂版本上應用該提案。
此指令會在缺少字幕軌時建立它。如果已存在重疊的字幕,
明確移除舊的目標片段並針對新的開頭重新準備。
不要複製字幕或覆蓋不相關的圖形。
{"command":"session.apply","project_id":"$PROJECT_ID","expected_revision":"$CAPTION_REVISION","request_id":"attach-captions","operations":"$CAPTION_OPERATIONS"}
保留新的修訂版本。在代表性的時間點導出並檢查實際字幕, 包括第一個/最後一個提示。在此步驟之後進行的時間編輯需要重新生成字幕。 儲存的片段保留可編輯的場景配方,並直接與素材渲染;不會編譯中間的字幕影片。 保留字幕文件以供後續的文字/時間編輯。
對於提供的本地字體,使用路徑物件;字串指定已安裝的字體家族名稱。
遺失或不明確的已安裝字體需要來自 fonts.find 的可用的識別碼。
對於文字溢出,調整框/字體/提示佈局並使用新的輸出檔案名稱。
對於過時的修訂版本,在附加前檢查時間軸時間是否已更改。
重複使用不確定的編輯的請求 ID 並檢查 session.receipt;job.wait 返回票證並不保證渲染已完成。
此工作流程在 Windows 和 Linux 上執行,並使用外部 FFmpeg/ffprobe。 語音辨識(如果需要)需要單獨配置的本地執行環境和模型。 錄製和硬體解碼在 Linux 上沒有後端支援。此外掛程式不捆綁任何引擎、字體、模型或多媒體工具。