Chuyển timecode non-drop sang drop-frame
Hoặc dán văn bản phụ đề
Tùy chọn
30 fps non-drop và 29.97 drop-frame ghi cùng một đồng hồ theo cách khác nhau, và ô này chọn chiều đọc tệp và chiều ghi lại. Một cue ở mốc một giờ đọc là 01:00:00,000 theo kiểu này và 01:00:03,600 theo kiểu kia — hai kiểu cách nhau 3.6 giây mỗi giờ, không phải sai số làm tròn. Tiêu đề trang nêu một chiều, và ô này chỉ đưa ra chiều đó, nên tệp bạn nhận được đúng là tệp mà trang nói về. Không có gì về văn bản thay đổi: không cue nào được chỉnh lại thời gian theo video, không frame rate nào được chuyển đổi, và một cue nằm trong phút đầu của một giờ sẽ trở về đúng như khi đưa vào, vì không có nhãn khung hình nào bị bỏ ở đó.
Các mốc thời gian được tính theo frame rate nào. Trên các trang định dạng, đây là thông số MicroDVD cần, vì định dạng này lưu thời gian dưới dạng số khung hình. Trên các trang frame rate, đây là tốc độ mà tệp được tính theo — phiên bản mà phụ đề được làm cho — và ô thứ hai của trang nhận tốc độ của video mà bạn sẽ dùng phụ đề cùng. 23.976, 24, 25, 29.97, 30, 50, 59.94 và 60 là những giá trị thường gặp. Điền sai sẽ làm lệch toàn bộ dòng thời gian, và trên các trang frame rate, nó làm lệch theo một tỉ lệ chứ không phải một lượng cố định.
Trang này đổi nhãn mọi timecode trong một tệp phụ đề từ 30 fps non-drop-frame sang 29.97 fps drop-frame. Thả tệp vào, chạy, và mốc đầu cùng mốc cuối của mỗi cue trở về được viết theo quy ước kia. Chữ, số thứ tự cue, thứ tự cue và chỗ xuống dòng là của tệp và được để nguyên y như cũ.
Hai quy ước viết cùng một đồng hồ theo hai cách khác nhau, và tệp phải nằm ở quy ước mà phần còn lại của quy trình đang dùng. Drop-frame đếm 30 nhãn mỗi giây nhưng bỏ hai nhãn ở mỗi phút, trừ mỗi phút thứ mười, nhờ đó nó bám theo đồng hồ thực trong khi non-drop chậm dần. Một giờ vào, hai bên cách nhau 3.6 giây: 01:00:00,000 theo non-drop là 01:00:03,600 theo drop-frame. Khoảng cách ấy không phải sai số làm tròn và không bị làm tròn đi — nó lớn dần theo chương trình, tới 36 giây ở mốc mười giờ.
Trong phút đầu của một giờ không gì dịch, vì ở đó không nhãn nào bị bỏ và hai quy ước viết đoạn ấy giống hệt nhau; điều đó đúng với các đồng hồ đã nằm trên vạch khung 30 fps như 00:00:02,000, còn một đồng hồ nằm giữa hai vạch bị đưa về vạch gần nhất, tối đa 17 mili giây. Đây không phải chuyển đổi frame rate: không gì bị kéo giãn hay nén theo video, khoảng cách giữa các cue giữ nguyên và chỉ cách viết thay đổi; việc canh lại thời gian theo tốc độ khác có trang riêng. Không định dạng nào ở đây ghi lại tệp đang theo quy ước nào — SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON và CSV đều chỉ viết một thời gian — nên trang đổi các con số và quy ước mà chúng mang nghĩa vẫn là thuộc tính của quy trình bạn, đúng như trước khi tệp đến. Không gì được tải lên: tệp được đọc và ghi trong tab trình duyệt, và cả mùa đi qua hàng đợi trong một lượt.
Ví dụ
Một tệp ở mốc năm phút
Đầu vào
1
00:05:00,000 --> 00:05:02,000
The room is dark.
2
00:10:00,000 --> 00:10:03,000
A cold night.
Kết quả
1
00:05:00,333 --> 00:05:02,333
The room is dark.
2
00:10:00,600 --> 00:10:03,600
A cold night.
Hai cue không dịch cùng một lượng, và đó chính là toàn bộ phép tính: ở mốc năm phút drop-frame đã bỏ mười nhãn nên đồng hồ đọc muộn 333 ms; ở mốc mười phút nó đã bỏ mười tám nhãn nên đọc muộn 600 ms. Chữ và số thứ tự cue là của tệp — chỉ hai con số đồng hồ của mỗi cue được viết lại.
Cùng tệp ấy ở mốc một giờ
Đầu vào
1
01:00:00,000 --> 01:00:03,000
An hour into the programme.
Kết quả
1
01:00:03,600 --> 01:00:06,600
An hour into the programme.
Ở mốc một giờ hai quy ước cách nhau 3.6 giây, tức 108 nhãn bị bỏ. Đây là con số để đối chiếu nếu bạn kiểm trang: đọc dòng đầu của đầu ra, nó phải muộn hơn dòng đầu của đầu vào đúng 3600 ms. Cả hai mép của cue đều dịch, nên cue giữ nguyên độ dài.
Một cue trong phút đầu
Đầu vào
1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.
2
00:05:00,000 --> 00:05:02,000
This one does move.
Kết quả
1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.
2
00:05:00,333 --> 00:05:02,333
This one does move.
Cue đầu quay về từng byte và cue thứ hai dịch, trong cùng một lượt chạy. Trong phút đầu của một giờ không nhãn nào bị bỏ, nên hai quy ước viết sáu mươi giây ấy giống hệt nhau — và 00:00:02,000 vốn đã nằm trên vạch khung 30 fps, nên không gì về nó thay đổi. Một đồng hồ nằm giữa hai vạch sẽ được đẩy về vạch gần nhất, tối đa 17 ms, đúng phép bắt về vạch áp ở mọi chỗ trong tệp. Một cue đứng yên cạnh một cue đã dịch là kết quả đúng ở đây, không phải một lượt chạy dở dang.
Câu hỏi thường gặp
Drop-frame và non-drop-frame khác nhau ở đâu?
Cả hai đếm 30 nhãn mỗi giây, nhưng 29.97 fps không giao đủ 30 khung mỗi giây — nó giao khoảng 29.97, nên một đồng hồ đếm 30 nhãn mỗi giây chậm dần so với thời gian thực. Drop-frame sửa điều đó bằng cách bỏ hai nhãn ở đầu mỗi phút, trừ mỗi phút thứ mười: các nhãn bị vứt đi dù các khung thì không. Non-drop giữ mọi nhãn và trôi. Viết ra thì hai bên trông như cùng một loại số; đọc trên cùng một khung, chúng cách nhau 3.6 giây sau một giờ và càng xa nhau khi chương trình càng dài.
Vì sao một cue ở mốc một giờ ra muộn 3.6 giây khi đổi sang drop-frame?
Vì 3.6 giây là tổng của một giờ nhãn bị bỏ: 2 nhãn mỗi phút trong 54 phút của mỗi 60 phút, mỗi nhãn 33.37 ms, tức 108 nhãn hay 3600 ms một giờ. Trang không thêm một độ trễ — nó viết cùng những khung ấy dưới quy ước kia, và quy ước kia đọc muộn hơn ở điểm đó của chương trình. Một cue ở 01:00:00,000 đi vào và 01:00:03,600 đi ra; cả hai mép đều dịch nên cue giữ nguyên độ dài tới từng mili giây.
Vì sao phút đầu của tệp quay về không đổi khi đổi non-drop sang drop-frame?
Vì trong phút đầu của một giờ không nhãn nào bị bỏ, nên drop-frame và non-drop-frame viết đoạn ấy giống hệt nhau — 00:00:02,000 nghĩa là 60 khung theo cả hai, và 60 khung được viết như nhau dù theo cách nào. Độ trôi bắt đầu từ mốc phút đầu tiên rồi lớn dần. Một thứ khác có thể làm dịch thời gian trong đoạn ấy: đọc một đồng hồ thành timecode luôn bắt nó về vạch khung 30 fps gần nhất, nên một giá trị nằm giữa hai vạch như 00:00:02,010 quay về thành 00:00:02,000.
Tôi cần chiều nào — non-drop sang drop-frame hay ngược lại?
Tùy timecode trong tệp của bạn được đọc ra từ cái gì. Nếu bạn lấy thời gian từ một trình phát hay trình dựng đặt ở non-drop và quy trình nhận bàn giao làm việc bằng drop-frame thì đây là trang cần dùng. Nếu tệp của bạn được đóng dấu theo một màn hình drop-frame và công cụ phía sau chờ non-drop thì bạn cần trang kia, nó dịch đồng hồ theo chiều ngược lại cùng 3.6 giây một giờ. Cách phân biệt nhanh: chạy tệp ở đây rồi so một cue — nếu đồng hồ đầu ra đọc muộn hơn đầu vào thì chiều này là chiều tệp cần.
Đổi non-drop sang drop-frame có làm thay đổi frame rate của phụ đề không?
Không. Không gì bị nhân tỉ lệ và không gì bị kéo giãn: một cue dài hai giây vẫn dài hai giây, khoảng cách giữa các cue không đổi, vì mỗi cue dịch một lượng tùy vị trí của nó chứ không theo một tỉ lệ. Một tệp canh cho video 25 fps cũng không được chuyển sang 29.97 ở đây — ô nhận frame rate tồn tại vì MicroDVD lưu thời gian bằng số khung và không đọc được nếu thiếu nó. Chuyển khoảng cách của tệp từ tốc độ này sang tốc độ khác là một thao tác khác, có trang riêng.
Tệp có ghi ở đâu đó rằng timecode giờ là drop-frame không?
Không, và không định dạng nào ở đây làm được điều đó: SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON và CSV đều chỉ lưu một thời gian và không lưu cách nó được đếm. Tệp bạn thả vào vốn đã như vậy. Nên trang đổi các con số, còn quy ước mà chúng mang nghĩa vẫn do quy trình của bạn nói — cùng một thỏa thuận như trước, giờ với các con số khớp vào nó. Nếu một công cụ phía sau có thiết lập drop-frame riêng thì thiết lập đó là thứ đọc những giá trị này.