💡 Trước khi giao file phụ đề ngôn ngữ mới, chạy sáu bước QC trong Subtitle Edit: CPS theo giới hạn ngôn ngữ (17 tiếng Việt, 20 tiếng Anh), khoảng cách 2 khung hình với quy tắc thu hẹp 24fps, tối đa 42 ký tự/dòng, ngắt dòng ngữ nghĩa (thủ công), kiểm tra glyph theo Netflix Accepted Glyph List và tách forced narrative thành file riêng. Mỗi bước bắt một loại lỗi khác nhau.
Ý chính
- CPS có giới hạn theo từng ngôn ngữ: tiếng Anh người lớn 20, tiếng Việt người lớn 17, thiếu nhi luôn thấp hơn - cập nhật profile Subtitle Edit cho đúng ngôn ngữ trước mỗi lượt QC.
- Quy tắc 2 khung hình có quy tắc bổ sung: ở 24fps, khoảng cách 3-11 khung hình phải được thu hẹp xuống đúng 2 khung hình, không để ở mức trung gian.
- Mọi ký tự phải có trong Netflix Accepted Glyph List - dấu ngoặc kép cong, ký tự gạch ngang dài U+2014 và ký tự dấu chấm lửng (U+2026) là những lỗi thường gặp nhất.
- Ngắt dòng ngữ nghĩa tuân theo cấu trúc ngôn ngữ (không tách chủ ngữ khỏi vị ngữ, tính từ khỏi danh từ) - không có công cụ nào kiểm tra tự động bước này.
- Các sự kiện forced narrative phải đặt trong file giao hàng riêng biệt, gắn cờ forced, không nhúng vào track phụ đề chính.
Bảng kiểm tra QC phụ đề ngôn ngữ mới Netflix khác với sửa lại như thế nào?
Một lượt sửa lại nhắm vào lỗi cụ thể mà người spot hoặc dịch thuật tạo ra. Bảng kiểm tra QC phụ đề ngôn ngữ mới Netflix thì khác: nó xác thực toàn bộ file dựa trên thông số kỹ thuật mà người kiểm tra có thể chưa từng gặp - giới hạn CPS cho ngôn ngữ họ chưa từng giao, glyph họ không nhận ra là không được hỗ trợ, và quy ước ngắt dòng khác với ngôn ngữ mẹ đẻ. Khi lần đầu giao một ngôn ngữ mới, tôi chạy danh sách kiểm tra sáu hạng mục có cấu trúc thay vì chỉ dựa vào mắt biên tập.
Lần đầu tôi giao file phụ đề tiếng Việt, tôi để CPS là 20 - giá trị tiếng Anh người lớn. CPS tiếng Việt người lớn là 17. Hệ thống QC tự động của Netflix từ chối file với lỗi CPS trên một dòng tôi không bao giờ cắm cờ bằng mắt. Chạy kiểm tra công cụ trước sẽ bắt được lỗi này trong hai phút. Đó là ý nghĩa của danh sách kiểm tra có cấu trúc: nó bắt lỗi theo hạng mục trước khi file đến cổng kiểm duyệt tự động.
Sáu hạng mục QC và công cụ Subtitle Edit tương ứng
Tôi chạy theo thứ tự cố định. Timing trước vì vi phạm CPS và khoảng cách là lý do từ chối tự động phổ biến nhất; glyph cuối cùng vì cần đối chiếu danh sách bên ngoài.
| Hạng mục QC | Nội dung kiểm tra | Vị trí trong Subtitle Edit |
|---|---|---|
| CPS | Không sự kiện nào vượt giới hạn CPS của ngôn ngữ | Tools > Check subtitle > "Characters too fast" |
| Thời lượng | Tối thiểu 20 khung hình (~833 ms ở 24fps); tối đa 7 giây | Tools > Check subtitle > short/long event duration |
| Khoảng cách | Tối thiểu 2 khung hình; thu hẹp khoảng 3-11 khung hình xuống 2 ở 24fps | Tools > Check subtitle > "Gap too short" |
| Cấu trúc dòng | Tối đa 42 ký tự/dòng, 2 dòng tối đa, ngắt dòng thiên về dưới | Tools > Check subtitle > "Line too long" |
| Độ phủ glyph | Tất cả ký tự có trong Netflix Accepted Glyph List | Thủ công: Tools > Statistics > danh sách ký tự |
| Vị trí | Không chồng lên văn bản trên màn hình; căn giữa | Xem trước video; kiểm tra sự kiện top thủ công |
| Forced narrative | Sự kiện FN trong file riêng biệt với cờ forced | File SE riêng; mux với disposition đúng |
Làm thế nào để cài đặt kiểm tra CPS và timing cho ngôn ngữ cụ thể?
Subtitle Edit lưu cài đặt theo profile. Trước khi chạy bất kỳ lượt QC nào cho ngôn ngữ mới, tôi cập nhật cài đặt khớp với trang TTSG của ngôn ngữ đó. Netflix TTSG liệt kê giới hạn CPS, ký tự mỗi dòng và khoảng thời lượng cho mỗi ngôn ngữ được hỗ trợ.
Subtitle Edit - cài profile cho ngôn ngữ mới:
Options > Settings > Subtitle
Cho tiếng Việt (người lớn):
Maximum characters per second: 17
Maximum characters per line: 42
Minimum duration (ms): 833
Maximum duration (ms): 7000
Cho tiếng Anh (người lớn):
Maximum characters per second: 20
Maximum characters per line: 42
Minimum duration (ms): 833
Maximum duration (ms): 7000
Sau đó chạy:
Tools > Check subtitle
Enable: "Characters too fast (CPS)"
Enable: "Line too long"
Enable: "Short event duration"
Enable: "Long event duration"
Enable: "Gap too short between subtitles"
Minimum gap: 2 frames
Và chạy:
Tools > Fix common errors
Enable: "Fix short display times"
Enable: "Fix gap too short"
Enable: "Remove extra spaces"
Enable: "Remove empty lines"
Từng bước làm gì:
- CPS tối đa cài trước khi kiểm tra: Subtitle Edit dùng giá trị trong Options > Settings để tô màu sự kiện trong grid. Cài trước khi mở file.
- Fix short display times: Kéo dài sự kiện ngắn hơn thời lượng tối thiểu bằng cách đẩy out-time về phía trước, không chồng lên sự kiện tiếp theo. Tôi xem lại từng thay đổi thủ công trước khi lưu.
- Fix gap too short: Áp dụng quy tắc 2 khung hình. Tôi luôn xác minh thủ công các sự kiện được điều chỉnh - điều chỉnh gap tự động có thể cắt một khung hình quan trọng tại điểm cắt cảnh.
- Remove extra spaces: Bắt khoảng trắng thừa cuối dòng và dấu cách đôi trong cue, những thứ gây sai số đếm CPS trong một số validator.
Hai hạng mục cần kiểm tra thủ công: ngắt dòng ngữ nghĩa và glyph?
Yêu cầu chung của Netflix quy định ngắt dòng phải theo cấu trúc ngôn ngữ: ngắt sau dấu câu hoặc trước liên từ và giới từ; không bao giờ tách chủ ngữ khỏi vị ngữ, tính từ khỏi danh từ, mạo từ khỏi danh từ, hay giới từ khỏi bổ ngữ của nó. Subtitle Edit biết số ký tự; nó không biết rằng một cụm từ không nên bị tách. Tôi thực hiện bước này với bản gốc mở trong cửa sổ Subtitle Edit thứ hai, so sánh vị trí ngắt dòng song song. Với tiếng Việt, điểm ngắt theo nhịp nói hơn là dấu câu viết, vì vậy người kiểm tra bản ngữ quan trọng đặc biệt cho hạng mục này.
Để kiểm tra glyph, Netflix quy định chỉ các ký tự từ Netflix Accepted Glyph List mới được phép trong file phụ đề. Các vi phạm phổ biến nhất tôi gặp khi kiểm tra file lần đầu:
- Dấu ngoặc kép cong (U+201C, U+201D, U+2018, U+2019) thay vì dấu ngoặc thẳng - trình xử lý văn bản tự thay thế ký tự này.
- Ký tự gạch ngang dài (U+2014) thay vì dấu gạch ngang thông thường (U+002D).
- Ký tự dấu chấm lửng (U+2026) thay vì ba dấu chấm liên tiếp (...).
- Dấu cách không ngắt (U+00A0) thay vì dấu cách thông thường (U+0020).
Trong Subtitle Edit, tôi dùng Tools > Statistics để xuất danh sách tần suất ký tự cho file. Với tiếng Việt, tất cả dấu thanh điệu NFC đã kết hợp đều có trong glyph list; phiên bản NFD (ký tự phân tách) thì không. Nếu file phụ đề được xử lý qua một số công cụ nhất định hoặc đến từ hệ thống macOS, hãy chạy kiểm tra chuẩn hóa trước khi nhập:
// Kiểm tra chuẩn hóa NFC nhanh cho file phụ đề
// Chạy: node normalize-check.mjs subtitles.srt
import { readFileSync, writeFileSync } from 'fs';
import { argv } from 'process';
const inputPath = argv[2];
const src = readFileSync(inputPath, 'utf8');
const normalized = src.normalize('NFC');
if (src !== normalized) {
const outPath = inputPath.replace(/.(w+)$/, '-nfc.$1');
writeFileSync(outPath, normalized, 'utf8');
console.log('Phát hiện ký tự NFD - đã viết lại thành NFC: ' + outPath);
} else {
console.log('File đã là NFC - không cần thay đổi');
}
Kiểm tra NFC quan trọng riêng với tiếng Việt trên Netflix vì renderer của nền tảng mong đợi ký tự đã kết hợp. File trông đúng trong trình soạn thảo văn bản có thể lặng lẽ thất bại trên một số thiết bị nếu chứa dấu phụ dạng phân tách.
Forced narrative: file riêng biệt, không phải cờ trong track chính
Forced narrative là các sự kiện phụ đề hiển thị ngay cả khi người xem tắt phụ đề - thường là lời thoại ngôn ngữ nước ngoài, văn bản trên màn hình, hoặc nội dung chèn không được dịch quan trọng. Netflix yêu cầu các sự kiện forced narrative trong file riêng biệt (không nhúng vào cùng file với track phụ đề chính). File phải mang cờ forced đúng trong metadata.
Danh sách kiểm tra forced narrative của tôi trước khi đóng gói:
- Xác định mọi sự kiện đủ điều kiện làm forced (dòng thoại ngôn ngữ nước ngoài, biển hiệu trên màn hình, hội thoại quan trọng không dịch).
- Sao chép các sự kiện đó vào file dự án Subtitle Edit mới.
- Gắn cờ forced disposition trong metadata TTML hoặc trong bước mux ffmpeg (
-disposition:s:0 forced). - Xác minh file forced chỉ chứa sự kiện FN - không có dòng thoại thông thường.
- Xác nhận track phụ đề chính không chứa sự kiện FN được gắn cờ forced - chúng chỉ thuộc file FN riêng.
Tôi tự làm được gì, và khi nào chuyên gia bản ngữ tiết kiệm thời gian QC?
Các kiểm tra timing, thời lượng, khoảng cách, CPS và số ký tự trong Subtitle Edit đều miễn phí và tự phục vụ. Cài đúng thông số cho ngôn ngữ mục tiêu, năm kiểm tra đó chạy xong trong vòng 5 phút cho bất kỳ độ dài file nào. Script kiểm tra NFC chạy trong vài giây.
Hai hạng mục cần phán đoán của con người - và nơi chuyên gia bản ngữ nhanh thu hồi chi phí - là ngắt dòng ngữ nghĩa và kiểm tra glyph cho các chữ viết bạn không đọc được. Người dịch bản ngữ tiếng Việt nhận ra vị trí ngắt dòng sai trong một từ ghép có thanh điệu trong vài giây; người kiểm tra không phải bản ngữ có thể mất 10 phút cho cùng lỗi đó. Với kiểm tra glyph trong chữ Cyrillic, Ả Rập hay CJK, người làm việc hàng ngày với chữ viết đó nhận ra ngay ký tự trông giống nhưng khác về mặt kỹ thuật.
Nếu bạn đang chuẩn bị một ngôn ngữ mới lần đầu và muốn kiểm tra đủ sáu hạng mục trước khi nộp, dịch vụ dịch và QC phụ đề của tôi phục vụ cả định dạng giao hàng và kiểm tra ngôn ngữ bản ngữ. Tôi chạy danh sách kiểm tra này trên mọi file trước khi xuất giao hàng.
Câu hỏi thường gặp
Tôi có cần profile Subtitle Edit riêng cho mỗi ngôn ngữ không?
Có. Cài đặt tối thiểu hữu ích là một profile cho mỗi tổ hợp ngôn ngữ-đối tượng: tiếng Anh người lớn (20 CPS, 42 CPL), tiếng Việt người lớn (17 CPS, 42 CPL), tiếng Việt thiếu nhi (13 CPS, 42 CPL). Subtitle Edit lưu preset cài đặt dưới Options > Settings. Tôi giữ một preset được đặt tên cho mỗi ngôn ngữ giao hàng thường xuyên và đổi profile là bước đầu tiên của mỗi job mới, trước khi mở bất kỳ file nào.
Khoảng cách tối thiểu ở 25fps và 29.97fps là bao nhiêu?
Quy tắc là 2 khung hình ở mọi tốc độ khung hình. Ở 25fps, 2 khung hình là 80 ms. Ở 29.97fps (drop-frame), 2 khung hình là khoảng 66,7 ms. Quy tắc thu hẹp 3-11 khung hình được ghi nhận trong hướng dẫn timing Netflix TTSG cụ thể cho 24fps. Với các tốc độ khung hình khác tôi áp dụng cùng nguyên tắc (khoảng cách dưới nửa giây phải là đúng 2 khung hình) nhưng kiểm tra với hướng dẫn timing Netflix cho tốc độ khung hình cụ thể trong package.
Netflix Accepted Glyph List là gì và tìm ở đâu?
Netflix Accepted Glyph List là tài liệu có trong Netflix Partner Help Center dành cho các đối tác được ủy quyền. Nó liệt kê mọi code point Unicode mà hệ thống render phụ đề của Netflix đảm bảo hiển thị đúng trên các thiết bị được hỗ trợ. Nếu bạn không có quyền truy cập portal đối tác, hãy kiểm tra ký tự cụ thể mà bạn không chắc chắn với trang TTSG ngôn ngữ mục tiêu, thường có phần Notes liệt kê các yêu cầu glyph đặc biệt.
Tôi có thể chạy kiểm tra QC trên file SRT hay chỉ TTML?
Các công cụ Check subtitle và Fix common errors của Subtitle Edit hoạt động với mọi định dạng được hỗ trợ, bao gồm SRT. Kiểm tra CPS, thời lượng, khoảng cách và độ dài dòng độc lập với định dạng file. Kiểm tra glyph và chuẩn hóa NFC cũng áp dụng cho mọi định dạng văn bản. Các kiểm tra riêng cho TTML (giá trị phần trăm, tts:fontSize="100%") chỉ quan trọng ở bước xuất file. Tôi luôn chạy danh sách kiểm tra đầy đủ trên định dạng biên tập gốc trước, sau đó xuất sang định dạng giao hàng.
Lượt QC đủ sáu hạng mục mất bao lâu cho một phim 90 phút?
Kiểm tra timing (CPS, thời lượng, khoảng cách) chạy trong Subtitle Edit dưới 5 phút. Ngắt dòng ngữ nghĩa mất 15-30 phút cho phim dài đầy đủ, tùy theo số sự kiện bị cắm cờ cần kiểm tra thủ công. Kiểm tra glyph mất 5-10 phút dùng xuất danh sách tần suất ký tự. Kiểm tra vị trí và forced narrative mất 10-20 phút với xem trước video mở. Tổng: khoảng 40-60 phút cho lượt QC đầy đủ trên giao hàng ngôn ngữ mới.
Nguồn
- Netflix TTSG: Yêu cầu chung - yêu cầu glyph list, thời lượng tối thiểu/tối đa (5/6 giây đến 7 giây), tối đa 2 dòng, căn giữa, nguyên tắc ngắt dòng, lưu ý forced narrative. Đã kiểm tra tháng 11/2026.
- Netflix TTSG: Hướng dẫn timing phụ đề - thời lượng tối thiểu 20 khung hình, khoảng cách tối thiểu 2 khung hình, quy tắc thu hẹp 3-11 khung hình ở 24fps. Đã kiểm tra tháng 11/2026.
- Netflix TTSG: Tiếng Anh (Mỹ) - Giới hạn CPS (20 người lớn, 17 thiếu nhi), 42 CPL. Đã kiểm tra tháng 11/2026.
- Netflix TTSG: Tiếng Việt - Giới hạn CPS (17 người lớn, 13 thiếu nhi; SDH: 20/17), 42 CPL, quy tắc định dạng tiếng Việt. Đã kiểm tra tháng 11/2026.
- Subtitle Edit Documentation (Nikse.dk) - Fix common errors, Check subtitle, Settings profiles. Đã kiểm tra tháng 11/2026.

Bài viết bởi Đào Huy (Lucas), biên dịch viên và chuyên viên bản địa hóa tiếng Việt (Anh, Trung, Pháp sang Việt). See translation services →
