字幕覆蓋原則
覆蓋原則 — 補充上游的
embedded-captions技能。應用於其之上;不要預期此原則已內建於上游技能中。
此處結合兩個概念。首先,字幕模型 — 每個口語短語歸類為 drop(刪除)、rail(軌道)或 embed(嵌入),其中嵌入是罕見且需爭取的巔峰,而非預設。其次,覆蓋法則 — 字幕行是以覆蓋層形式疊加在影片 ON TOP 作為覆蓋層;它不是預留區域,因此你永遠不需要將內容上移或留下死區來「騰出空間」。兩者相互強化:因為字幕以覆蓋層形式呈現(逐字軌道在前方,偶爾的嵌入在主體後方),構圖得以保持完整畫面,並以真實垂直中心為準。
字幕模型 — drop / rail / embed
每個口語短語歸屬於以下三類之一(摘錄自 embedded-captions):
| 內容 | 顯示方式 | |
|---|---|---|
| drop | 填充詞 — 呃/嗯、結巴、自我修正 | 不顯示 |
| rail | 預設 — 一般口語內容(逐字) | 乾淨低位文字字幕,在前景,易於閱讀。重點字詞可在行內加上 emphasis 凸顯(強調色/動態字詞彈出)——它仍留在軌道上。 |
| embed | 被提升的巔峰 — headline 節拍 | 一個大字覆蓋在主體後方(遮罩遮蔽效果),精心設計的進場 + 退場動畫 |
軌道承載大部分文字;嵌入是罕見、需爭取的巔峰 — 每個節拍 ≤1 個嵌入,絕不兩個相鄰/同時可見,間隔 ≥ 一個節拍。短影片 → 通常一個嵌入;長解說 → 大約每個段落一個。將每個單詞都嵌入是常見的錯誤。
這是標準模式形狀(軌道 = 逐字低位文字;嵌入 = 覆蓋在主體後方的 climax)。電影模式會移除軌道,讓所有內容都以嵌入風格呈現——僅在純電影式要求時使用,絕對不用於解說 / 配音,因為那些場合文字必須清晰可讀。
軌道優先,嵌入稀缺(承載規則)
摘錄自 embedded-captions 的非協商條款:
- 頭像說話 / 解說影片:軌道優先。 不要將整個逐字稿都嵌入——大部分文字應以軌道呈現;僅對巔峰做嵌入。將所有內容都嵌入是預設錯誤。
- 嵌入稀缺且有間隔。 每個句子/節拍 ≤1 個嵌入,絕不兩個相鄰或同時可見,間隔 ≥ 一個節拍,最多一個
apex。climax = 每個節拍的巔峰,不是「整個影片的唯一高潮。」
覆蓋法則 — 字幕不是預留區域
在生成的發布影片構圖中,當啟用字幕時,finalize 會合成一個小型、精簡的逐詞字幕行,作為覆蓋層疊在 整部影片上(單行文字,底部居中,約佔畫布高度的底部 ~5-8%)。它是覆蓋層,不是預留區域(摘錄自 product-launch-video 場景代理的約束 #13):
- 以真實垂直中心為準構圖 — y = H / 2(橫向 540,直向 960)。不要為了「騰出空間」給字幕而將內容上移;將構圖中心設在 0.42 × H 並留下底部死區是錯誤,不是修正。
- 內容可以延伸至畫布底部。全出血的主體、軌道和背景都歡迎。
- 一條軟性禮貌規則: 避免將_關鍵小型可讀文字_(例如 URL 行、法律聲明行、副標題)恰好放在字幕行所在的底部 ~80px 中心區域——覆蓋層會與之衝突。大尺寸圖片 / 卡片 / 環境背景內容放在字幕下方是沒問題的;字幕皮膚設計成可在內容上清晰閱讀。
- 沒有機器保留區關卡(舊的
captions.mjs keepout檢查已淘汰)。Finalize snapshot QA 以視覺方式判斷字幕與內容的可讀性。
當字幕停用時: 相同的定位自由——覆蓋層只是不存在。
為什麼這兩個規則是一個統一的原則
模型規定軌道位於前景,而嵌入是放在主體後方的罕見單詞——兩者都是附加在未經修改的原始影片上的圖層。覆蓋法則規定字幕行是疊在整部影片上的圖層,不是從佈局中劃出的區域。因此,無論在字幕處理流程還是發布影片流程中,字幕都是你添加的覆蓋層,而非你預留的區域:
- 保持完整畫面;以真實中心為準;讓內容延伸至邊緣。
- 讓軌道(或小型覆蓋字幕行)承載逐字文字。
- 僅在真正的巔峰時將一個單詞提升為嵌入——稀少、有間隔、絕不一次兩個。
- 不預留任何區域;以視覺方式判斷字幕與內容的可讀性,而非依靠保留區閘門。