SSA 轉 ASS
或者貼上字幕文字
這次轉換會改變什麼
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。
這一頁把原始的 SubStation Alpha 升級成後期的 Advanced 版本。對話行原樣過去——覆寫碼、卡拉OK 標記與時間寫法兩邊相同——改動發生在檔頭:腳本類型、樣式段標題,以及每一列樣式所用的欄位集合。
V4+ 多了 V4 沒有的欄位:下劃線、刪除線、水平與垂直縮放、字距、角度。從 SSA 轉來的檔案沒有值可填,這些欄位會填中性值;兩邊都有的設定則逐項帶過去,包括舊格式叫「三級色」、新格式叫「描邊色」的那一欄。結果是一份現行編輯器與編碼器會正確重新套用樣式的檔案,你不必重打任何內容。
這一頁沒有需要設定的參數,檔案在你的瀏覽器裡處理,不會送到任何地方。
範例
一份典型的 SSA 檔案轉成 ASS
輸入
[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
輸出
[Script Info]
Title: Example SSA
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,,&H00000000,0,0,,,,,,,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
這個方向沒有丟東西:兩側逐行對照,差別只在 V4+ 的欄位與檔頭。
同一轉換遇到一份髒檔案
輸入
[Script Info]
Title: Dirty SSA
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.輸出
[Script Info]
Title: Dirty SSA
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,,&H00000000,0,0,,,,,,,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\Nbreak and a {\p1}mystery{\p0} code.
髒檔案的混合換行與未建模欄位不影響欄位對映;新欄位補中性值,舊值原樣帶過去。
常見問題
為什麼要把 SSA 轉成 ASS?
因為 V4+ 才是現代工具讀寫的版本。轉換後編輯器會重新套用樣式、編碼器也會帶著完整樣式輸出,而不是只顯示文字卻忽略樣式表。
SSA 缺少的那些欄位,轉成 ASS 後會是空的嗎?
會填入中性值,這是誠實的答案:原始檔案裡本來就沒有值可放。兩種方言共有的設定——字型、字級、顏色、粗體、斜體、對齊、邊界——都會帶著原值過去。
SSA 轉 ASS 後,三級色去哪了?
還在,只是換了名字。SSA 的 TertiaryColour 與 ASS 的 OutlineColour 描述同一件事——文字外圍那圈描邊;轉換器把值寫進對應欄位,不會丟。
SSA 轉 ASS 會改到時間軸或台詞嗎?
不會。兩種方言存時間的方式相同,Dialogue 行的寫法也相同,所以同一句話出現在同一時刻,時間碼與正文逐位元組一致。
SSA 轉 ASS 可以一次處理整個資料夾嗎?
可以。要拖入幾份都行,佇列依序處理,中途可以取消,轉好的檔案最後一起打包成一個 ZIP。