字幕區間內位移
或者貼上字幕文字
選項
把每條字幕移動多少毫秒。正數讓字幕更晚出現,負數讓它更早。零是合法值:檔案原樣返回,可以用它快速確認檔案是否已經對齊。
只有開始時間不早於這個時刻的字幕才會被移動。留空則從檔案開頭起全部移動。
只有開始時間不晚於這個時刻的字幕才會被移動。留空則一直處理到檔案結尾。
時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。
這一頁只位移開始時間落在某個時間區間內的字幕,檔案其餘部分原樣保留。設定區間的開始與結束、給一個位移,區間內出現的字幕會移動,區間前後的一切保持原本計時。它適合修一部長片裡的某場戲、或一集裡的某一段,而不擾動檔案其他位置的對齊。
一條字幕算在區間內,是指它的開始時間落在兩個邊界之間,而且兩個邊界都包含在內。這條規則刻意看「開始在哪」而不是「與區間重疊多少」,因為跨在邊界上的字幕——開始於區間之前、結束於區間之內——否則就會一半在內一半在外,而半個位移不是位移。你也可以只給一個邊界:只填開始時,從那一刻到檔案結尾都移動;只填結束時,它之前的全部移動。
如果位移把一組字幕拉到它前面的字幕之前,檔案的時間就不再是遞增順序,頁面會回報這件事。字幕本身保持進來的順序與編號,因為寫出器有意還原來源的段落順序——於是你得到的是一份不再按時間排序的檔案。這裡不做重新編號,那是另一件事。
SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON 與 CSV 都接受,各自按真實格式讀取。純文字與 LRC 被拒絕,因為兩者都不存結束時間供位移移動。檔案不會上傳,整季可以一次排隊跑完。
範例
把一場戲整體後移一點
輸入
1
00:00:01,000 --> 00:00:02,000
Before the range.
2
00:00:05,000 --> 00:00:06,000
On the lower edge.
3
00:00:07,000 --> 00:00:08,000
Inside.
4
00:00:12,000 --> 00:00:13,000
After the range.
輸出
1
00:00:01,000 --> 00:00:02,000
Before the range.
2
00:00:05,300 --> 00:00:06,300
On the lower edge.
3
00:00:07,300 --> 00:00:08,300
Inside.
4
00:00:12,000 --> 00:00:13,000
After the range.
第二條正好從下邊界開始,而它移動了——兩個邊界都包含在內。第一條與第四條在區間之外,原樣返回,這正是這一頁的重點。
把靠後的一組拉回到前面一組之前
輸入
1
00:00:10,000 --> 00:00:11,000
Early in the file.
2
00:00:20,000 --> 00:00:21,000
Late in the file.
輸出
1
00:00:10,000 --> 00:00:11,000
Early in the file.
2
00:00:05,000 --> 00:00:06,000
Late in the file.
第 2 條被拉回 5 秒,於是它在時間上跑到第 1 條前面,而字幕保持進來的順序與編號。檔案的時間不再遞增,頁面會明確說明。
只給一個邊界
輸入
1
00:00:01,000 --> 00:00:02,000
Untouched.
2
00:01:00,000 --> 00:01:02,000
Moved.
輸出
1
00:00:01,000 --> 00:00:02,000
Untouched.
2
00:01:00,500 --> 00:01:02,500
Moved.
下邊界填一分鐘、上邊界留空時,從那一刻起的所有字幕都移動,更早的都不動。
常見問題
哪些字幕算落在區間位移的範圍內?
開始時間落在兩個邊界之間的那些,而且區間兩端都包含在內。正好從任一邊界開始的字幕也在內。判據是開始在哪,而不是與區間重疊多少,所以開始於區間之前、結束於區間之內的字幕留在原處。
區間位移為什麼按開始時間判斷,而不看整條字幕?
因為跨在邊界上的字幕只有一部分在區間內,而沒有合理的辦法只移動一條字幕的一部分。按開始判斷能給每條字幕一個確定的答案,也符合你對一場戲的直覺:字幕出現的瞬間決定它屬於哪一段。
區間位移能只涵蓋某個時刻之後的所有字幕嗎?
可以。只填下邊界、把上邊界留空,每個從該時刻或之後開始的字幕都會移動,之前的不動。反過來只填上邊界,就會移動它之前的全部內容。
區間內沒有任何字幕開始時,區間位移會做什麼?
檔案原樣返回。沒有套用位移,也沒有移除字幕,輸出與輸入相同——這也意味著頁面沒有結果可回報。如果你預期它會動,請拿區間對照檔案自己的時間碼,而不是對照一條已經被位移過的軸。
區間位移把一組字幕往前拉之後,輸出還按時間排序嗎?
不一定,頁面會在不排序時回報。把一組字幕拉過它前面的字幕,檔案時間就不再遞增,而字幕保持原來的順序和編號。不同播放器處理方式不同,所以把一組拉過鄰居之後要檢查結果。
區間位移會重寫字幕編號嗎?
不會。每條字幕都保留進來的編號,沒被碰過的也一樣。重新編號是獨立的工作,在這裡做會改動你沒問過的行,而正是這一點讓區間位移可以安全地用在長檔案的某一場戲。