Chuyển đến nội dung chính
SubtitleMatrix

Đổi vị trí phụ đề trên màn hình

Văn bản và kiểuDi chuyển phụ đề trên màn hình
Hoặc dán văn bản phụ đề

Tùy chọn

Chín ô đặt sẵn cộng với một lựa chọn xóa. Dấu được ghi là {\anN} theo thứ tự bàn phím số — 7/8/9 là hàng trên, 4/5/6 là hàng giữa, 1/2/3 là hàng dưới — và nó đứng trước dòng đầu của mỗi cue. ASS và SSA đọc lại nó như một mã căn chỉnh thật; trong SRT nó là văn bản theo nghĩa đen mà libass, VLC và mpv tôn trọng còn các trình phát đơn giản hơn sẽ in ra. Các tọa độ \pos hiện có không bao giờ bị động đến. Chọn lựa chọn cuối để gỡ dấu vị trí thay vì thêm một dấu.

Trang này đặt mọi cue phụ đề vào một trong chín ô của màn hình, hoặc gỡ các dấu vị trí đã có. Tệp được xử lý trong trình duyệt, không tải lên máy chủ, và chạy được hàng loạt trên nhiều tệp.

Dấu được ghi là `{\anN}` ở đầu dòng đầu tiên, với N từ 1 đến 9 theo thứ tự bàn phím số: 1 là góc dưới trái, 5 là giữa, 7 là trên trái, 8 là trên giữa, 9 là trên phải. Chỉ ba định dạng nhận vị trí: SRT, ASS và SSA. Trên ASS và SSA, `\an` là mã ghi đè thật nên trình phát hiểu trực tiếp; trên SRT, `{\anN}` là văn bản đúng nguyên văn và chỉ một số trình phát như libass, VLC hay mpv coi nó là mã ghi đè, số khác hiển thị nguyên chuỗi.

Trang không đụng vào `\pos(x,y)` đã có, vì đó là tọa độ pixel chứ không phải căn lề chín ô. Chỉ dòng đầu tiên của cue nhận dấu, vì vị trí thuộc về cue chứ không thuộc từng dòng. Timecode và nội dung không đổi; chọn cùng một vị trí hai lần cho ra tệp giống hệt từng byte.

Ví dụ

Hai cue SRT trơn được đưa lên giữa phía trên

Đầu vào

1
00:00:01,000 --> 00:00:02,000
Hello there.

2
00:00:03,000 --> 00:00:04,000
Second line.

Kết quả

1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.

2
00:00:03,000 --> 00:00:04,000
{\an8}Second line.

`\an8` là ô giữa phía trên — phím giữa của hàng trên cùng trên bàn phím số. Dấu nằm ở đầu văn bản chứ không chiếm một dòng riêng, và timecode, số cue cùng các dòng trống không bị chạm, nên tệp vẫn là SRT hợp lệ chỉ thêm bốn ký tự mỗi cue.

Cùng tệp ở góc trên trái và góc dưới trái

Đầu vào

1
00:00:01,000 --> 00:00:02,000
Hello there.

Kết quả

1
00:00:01,000 --> 00:00:02,000
{\an7}Hello there.

Trên trái là `7`, còn dưới trái là `1` — cách nhau sáu đơn vị vì cách đánh số theo bàn phím số chứ không theo thứ tự đọc. Đây là ánh xạ hay bị gõ sai nhất khi làm tay, nên mỗi ô trong chín ô đều có ví dụ riêng: một chữ số bị hoán vị sẽ vô hình cho đến khi ai đó xem video.

Đưa một cue ASS vốn đã ở trên trái sang vị trí khác

Đầu vào

[Script Info]
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,&H00000000,0,0,0,0,100,100,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:02.00,Default,,0,0,0,,{\an7\i1}Hello there{\i0}

Kết quả

[Script Info]
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,&H00000000,0,0,0,0,100,100,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:02.00,Default,,0,0,0,,{\an2}{\i1}Hello there{\i0}

`\an7` cũ bị xóa trước khi `\an2` được ghi, nên cue chỉ mang một căn lề thay vì hai — bản trùng sẽ khiến trình phát lấy giá trị cuối, mà đó là giá trị không ai trong lần chạy này chọn. Cặp in nghiêng vẫn đứng nguyên. Trên ASS, dấu là mã ghi đè thật nên không hiện ra như chữ trên màn hình.

Gỡ dấu khỏi tệp có hai loại dấu khác nhau

Đầu vào

1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.

2
00:00:03,000 --> 00:00:04,000
{\an2}Second line.

Kết quả

1
00:00:01,000 --> 00:00:02,000
Hello there.

2
00:00:03,000 --> 00:00:04,000
Second line.

Tùy chọn gỡ bỏ xóa bất cứ thứ gì đang có chứ không chỉ ô bạn lẽ ra đã chọn, và không ghi gì trở lại. Tệp sau lần chạy này phát ở vị trí mặc định của trình phát, và đó chính là mục đích: đây là đường duy nhất từ một dấu về văn bản trơn, vì không có vị trí nào được biểu diễn bằng sự vắng mặt.

Câu hỏi thường gặp

`{\an1}` nằm ở vị trí nào trên màn hình, và vì sao nó không bắt đầu từ góc trên trái?

`1` là góc dưới trái. Cách đánh số theo bàn phím số, nên hàng dưới là 1, 2, 3; hàng giữa là 4, 5, 6; hàng trên là 7, 8, 9. Vì thế trên trái là `7` và dưới trái là `1`, ngược với thói quen đọc từ trên xuống.

Trang đặt vị trí phụ đề có chạy trên tệp WebVTT, SAMI hoặc TTML không?

Không, và danh sách định dạng nhận vào cố ý ngắn: chỉ SRT, ASS và SSA. Ba định dạng kia không có cú pháp `{\anN}` mà trang này ghi, nên nhận chúng sẽ tạo ra tệp trông hợp lệ nhưng trình phát không hiểu vị trí.

Dấu `{\anN}` có hiện ra thành chữ trong tệp SRT không?

Tùy trình phát, và trang này không thay đổi được điều đó. SRT không có cú pháp vị trí chuẩn, nên `{\an8}` là văn bản đúng nguyên văn; libass, VLC và mpv hiểu nó, còn một số trình phát hiển thị nguyên chuỗi bốn ký tự. Trên ASS và SSA thì không có chuyện này vì đó là mã ghi đè thật.

`\pos(x,y)` có sẵn trong tệp phụ đề có bị vị trí mới ghi đè không?

Không — `\pos` được để nguyên chỗ cũ. `\pos` là tọa độ pixel, còn trang này chỉ đổi căn lề chín ô; hai thứ là hai cơ chế khác nhau. Nếu tệp đã có `\pos`, trình phát vẫn dùng tọa độ đó và dấu `{\anN}` mới chỉ là chỉ thị bổ sung.

Một cue dài hai dòng thì mỗi dòng có nhận dấu vị trí riêng không?

Chỉ dòng đầu tiên nhận dấu, vì vị trí thuộc về cue chứ không thuộc từng dòng. Đặt dấu trên cả hai dòng sẽ là hai chỉ thị cho cùng một cue và một số trình phát sẽ lấy chỉ thị cuối, trong khi người dùng chỉ chọn một vị trí.

Chuyện gì xảy ra nếu tôi áp cùng một vị trí hai lần lên tệp SRT?

Không có gì — lần chạy thứ hai tạo ra tệp giống hệt từng byte và báo không có cue nào thay đổi. Trang xóa dấu `{\anN}` cũ ở đầu dòng trước khi ghi dấu mới, nên không sinh ra hai dấu chồng nhau.

Công cụ liên quan