以Subtitle Edit軟體,轉換.VTT成.SRT,並自動去除重複字幕
本文最後由 BLUECHA 於 2024-9-8 01:31 AM 編輯最近因iTunes WebVTT(網路視訊文字軌)字幕,常出現前後 VTT 區塊有字幕重複現象,
導致合併後的.VTT 在轉換成.SRT後也會出現重複,雖不影響一般播放,但還是覺得不盡理想,
在此提供以Subtitle Edit軟體轉檔,並能自動去除重複字幕的參數設定方式,提供參考。
本文使用這篇的台繁VTT為範例檔:
(1) 打開 Subtitle Edit (最好安裝 4.0.x 以上版本),並載入任意.VTT檔
此時拉下選單<檔案>會出現"WebVTT properties…" 的選項,如下圖:
(2) 點選"WebVTT properties …",會出現如下圖的參數設定頁:
(3) 選項說明與設定:
(3.1) "Use X-TIMESTAMP-MAP header value":
主要是.VTT檔頭常帶有"X-TIMESTAMP-MAP=..." 的參數,如下圖
若此選項打開,會依據參數值"延遲字幕時間",其中"MPEGTS:900000"數值,會導致字幕延遲10秒
(詳細用途不清楚,可參考: 同步化網路 VTT 字幕;歡迎提供更清楚說明)
建議不要打開此選項。
(3.2) "Merge lines with same text on load": 打開選項,即可去除重複字幕。
(3.3) "Merge style tags": (較新版本才有此選項)
不太清楚作用,好像是會合併VTT樣式標籤,應該不影響轉換成SRT檔?內定值是打開的。
(4) 當 WebVTT 選項設好後,再重新載入.VTT 字幕即可。
如下圖,關掉 "X-TIMESTAMP-MAP" 選項,就不會延遲10秒;
打開 "Merge lines with same text on load",就會自動去除重複。
(5) Subtitle Edit 是可以使用命令列指令(command line)轉換字幕格式的:
指令: "Subtitle Edit 安裝路徑\SubtitleEdit.exe" /convert"subtitle.vtt" srt
==> 此指令會轉換 sample.vtt,生成 subtitle.srt 檔。
詳細參數請參考:https://www.nikse.dk/subtitleedit/help#commandline
註:命令列指令會依照上述設定後的參數值完成格式轉換,
但要注意VTT參數值在設定完成後不會馬上存入設定檔(Settings.xml),要關掉UI程式時才會存入。
(6) ffmpeg 也可轉檔,但有些許的問題,提供參考:
(6.1) 有部份 VTT 檔的多行字幕會被合併成單行字幕,如下圖。
下圖左邊是sample.vtt的多行字幕部份,其中第一行尾是使用<CR>(carriage return)換行,
不是使用<LF>(Line Feed) ,會導致轉換後的SRT字幕合併成一行。
(6.2) 無法保留VTT的字幕位置資訊,即不會把字幕位置轉換成SRT的{\an1},{\an2}...等,位置符號。
若有其它想法或有錯誤,歡迎指教,感謝。
頁:
[1]