💡 Với các bản phân phối DCP hiện đại, dùng SMPTE ST 428-7 (2014): namespace
http://www.smpte-ra.org/schemas/428-7/2014/DCST, XML được đóng gói trong file MXF (SMPTE ST 429-5) với font nhúng dưới dạng asset UUID. Interop (CineCanvas) là file XML thuần kèm file .ttf riêng. Khi không chắc, hãy hỏi cơ sở kỹ thuật xem máy chủ rạp của họ hỗ trợ định dạng nào.
Ý chính
- SMPTE ST 428-7 (2014) dùng root element
<SubtitleReel>với namespacehttp://www.smpte-ra.org/schemas/428-7/2014/DCST; Interop (CineCanvas) dùng<DCSubtitle>không có namespace chính thức. - SMPTE đóng gói toàn bộ trong file MXF (ST 429-5) với font nhúng UUID bên trong; Interop giao file XML thuần cùng file .ttf riêng trong package.
- SMPTE hỗ trợ mã hóa (như hình ảnh và âm thanh); Interop thì không.
- Cả hai định dạng đều dùng timecode đếm frame (
HH:MM:SS:FF), nhưng SMPTE khai báo tốc độ frame qua<EditRate>còn Interop đếm theo đơn vị tick 4 ms nội bộ. - Tên định dạng SeConv:
DCinemaSmpte2014Mxfcho asset MXF có thể giao,DCinemaInteropcho file XML kiểu Interop.
SMPTE và Interop khác nhau như thế nào ở cấp XML?
Phụ đề DCP có hai loại, và sự khác biệt bắt đầu từ root element. SMPTE ST 428-7 (2014) định nghĩa root SubtitleReel với namespace http://www.smpte-ra.org/schemas/428-7/2014/DCST. Interop CineCanvas - định dạng độc quyền do Texas Instruments phát triển - dùng root DCSubtitle không có namespace chính thức (hoặc namespace dựa trên digicine.com trong một số cài đặt).
Chuỗi namespace đó là thứ đầu tiên mà máy chủ rạp kiểm tra. DCP-o-matic, OpenDCP và các công cụ QC phía cơ sở kỹ thuật đều nhận dạng loại DCP từ chuỗi đó. Namespace sai nghĩa là phụ đề của bạn tải sai định dạng, hoặc không tải được.
SMPTE cũng bổ sung các trường metadata mà Interop không có: element <Language> dùng mã BCP 47 (ví dụ vi cho tiếng Việt, zh cho tiếng Trung), <ContentTitleText> và <IssueDate>. Interop lưu tên phim trong <MovieTitle> và dùng tên ngôn ngữ dạng văn bản ("Vietnamese") thay vì mã BCP 47.
So sánh định dạng
Tôi dùng bảng này làm tài liệu tham khảo nhanh trước mỗi lần giao phụ đề DCP. Ranh giới chính là container: SMPTE là asset MXF, Interop là file XML thuần.
| Thuộc tính | Interop (CineCanvas) | SMPTE ST 428-7:2014 |
|---|---|---|
| Root element | <DCSubtitle> | <SubtitleReel> |
| XML namespace | Không có / digicine.com | http://www.smpte-ra.org/schemas/428-7/2014/DCST |
| Container | File XML thuần trong package | File MXF (ST 429-5) |
| Giao font | File .ttf riêng trong thư mục con | Asset UUID nhúng trong MXF |
| Đơn vị thời gian | Tick 4 ms (250 tick/giây) | Đếm frame qua <EditRate> |
| Mã hóa | Không | Có (via KDM) |
| Ruby / 3D text | Không | Có |
| Chuẩn hóa | Tài liệu Interop (không phải SMPTE) | Tiêu chuẩn SMPTE chính thức |
Font được đóng gói như thế nào trong mỗi định dạng?
Đây là điểm khác biệt thực tế quan trọng nhất tôi gặp. Trong DCP Interop, font là file .ttf thuần nằm trong thư mục con của package, được tham chiếu bằng tên file trong XML. Trong DCP SMPTE, font được nhúng bên trong file MXF, được tham chiếu bằng UUID khai báo trong element <LoadFont>.
File font UUID đó không có phần mở rộng. Nếu UUID được khai báo là urn:uuid:b2c3d4e5-f6a7-8901-bcde-f12345678901, tên file sẽ là chính xác b2c3d4e5-f6a7-8901-bcde-f12345678901, không có gì thêm vào sau. SeConv xử lý tự động khi dùng DCinemaSmpte2014Mxf với flag --dcinema-font.
Validator phía cơ sở kỹ thuật sẽ từ chối DCP SMPTE có font giao dưới dạng .ttf rời thay vì nhúng trong MXF. Nhúng font sai cách là một trong những lỗi QC phổ biến nhất tôi gặp trong các bản giao phụ đề DCP.
EditRate và timecode đếm frame có nghĩa gì?
Cả SMPTE lẫn Interop đều dùng timecode đếm frame theo định dạng HH:MM:SS:FF, trong đó field cuối đếm frame thay vì millisecond. SMPTE khai báo tốc độ frame rõ ràng qua hai element: <EditRate>24 1</EditRate> (nghĩa là 24/1 = 24 fps) và <TimeCodeRate>24</TimeCodeRate>. Hai giá trị này phải khớp chính xác với reel hình ảnh DCP.
Interop thay vào đó đếm theo tick 4 ms (250 tick mỗi giây) và có thể biểu diễn thời gian dạng decimal giây (00:03:12.500). Hầu hết công cụ chuyển đổi tự động, nhưng timecode copy-paste giữa hai định dạng có thể lệch frame nếu việc chuyển đổi không được thực hiện đúng.
Luôn chỉ định tốc độ frame khi xuất file. File phụ đề 24 fps nạp vào reel 25 fps sẽ bị lệch ngay từ phụ đề đầu. Với 29.97 (drop-frame), DCP được tính theo drop-frame; file xuất dạng non-drop-frame sẽ trôi khoảng 3,6 giây sau mỗi giờ chiếu.
Xuất file SMPTE ST 428-7:2014 với SeConv
Tôi dùng SeConv của Subtitle Edit để xuất phụ đề rạp. Định dạng DCinemaSmpte2014Mxf tạo ra asset MXF có thể giao. Flag --dcinema-font nhúng font vào; --reel-duration đặt độ dài reel hình ảnh theo frame để asset báo đúng thời lượng cho máy chủ DCP.
# XML thuần để xem xét (chưa bọc MXF - hữu ích trước bước DCP facility):
seconv.exe "in.srt" "DCinemaSmpte2014" --fps 24 --output-folder "out/" --overwrite
# Asset DCP SMPTE có thể giao (XML bọc MXF với font nhúng bên trong):
seconv.exe "in.srt" "DCinemaSmpte2014Mxf" --fps 24 --dcinema-font "Arial.ttf" --reel-duration 172800 --output-folder "out/" --overwrite
# XML CineCanvas Interop (cho các rạp cũ yêu cầu Interop):
seconv.exe "in.srt" "DCinemaInterop" --fps 24 --output-folder "out/" --overwrite
- DCinemaSmpte2014: XML thuần với namespace 2014 đúng - hữu ích để xem xét hoặc bọc MXF thủ công.
- DCinemaSmpte2014Mxf: đóng gói XML và nhúng font vào file MXF - đây là dạng thực sự cần giao.
- --dcinema-font: file .ttf để nhúng; bắt buộc với biến thể Mxf.
- --reel-duration: độ dài hình ảnh theo frame (172800 = 2 giờ ở 24 fps, vì 2 x 3600 x 24 = 172800).
- DCinemaInterop: tạo file XML CineCanvas, vẫn được một số rạp yêu cầu.
Một file XML SMPTE ST 428-7:2014 tối giản, trước khi bọc MXF, trông như sau:
<?xml version="1.0" encoding="UTF-8"?>
<SubtitleReel xmlns="http://www.smpte-ra.org/schemas/428-7/2014/DCST">
<Id>urn:uuid:a1b2c3d4-e5f6-7890-abcd-ef1234567890</Id>
<ContentTitleText>My Feature Film</ContentTitleText>
<IssueDate>2026-11-06T00:00:00</IssueDate>
<ReelNumber>1</ReelNumber>
<Language>vi</Language>
<EditRate>24 1</EditRate>
<TimeCodeRate>24</TimeCodeRate>
<StartTime>00:00:00:00</StartTime>
<LoadFont ID="Arial">urn:uuid:b2c3d4e5-f6a7-8901-bcde-f12345678901</LoadFont>
<SubtitleList>
<Font ID="Arial" Color="FFFFFFFF" Size="42">
<Subtitle SpotNumber="1"
TimeIn="00:03:12:00"
TimeOut="00:03:14:12"
FadeUpTime="00:00:00:00"
FadeDownTime="00:00:00:00">
<Text VAlign="bottom" VPosition="8.0" HAlign="center">
Chào mừng đến với Hội An.
</Text>
</Subtitle>
</Font>
</SubtitleList>
</SubtitleReel>
- xmlns: namespace 2014 là bắt buộc; phiên bản 2007 và 2010 vẫn còn trong thực tế nhưng một số validator QC từ chối chúng.
- Id: UUID mới cho mỗi file - không tái sử dụng giữa các lần giao hàng.
- EditRate / TimeCodeRate: phải khớp chính xác với tốc độ frame của reel hình ảnh DCP.
- Language: mã BCP 47 / ISO 639-1 (ví dụ
vicho tiếng Việt). - VAlign="bottom" VPosition="8.0": đặt chữ gần mép dưới của hình ảnh, giảm thiểu sai lệch render giữa các máy chủ rạp (baseline vị trí dọc 2014 nhất quán hơn 2010).
Tôi có thể tự làm gì, và khi nào nên nhờ cơ sở kỹ thuật DCP?
Với DCP chỉ có phụ đề đơn giản - phim ngắn, ra mắt liên hoan phim, một hoặc hai reel - SeConv cùng xuất SMPTE MXF đủ cho bước tạo asset phụ đề. Điều SeConv không thể làm là đóng gói asset đó vào full DCP (CPL, PKL, ASSETMAP), kiểm tra phát lại trên máy chủ Dolby hoặc Barco, hay phát hành Key Delivery Message (KDM) cho bản có mã hóa. Phần đó cần phần mềm tạo DCP (DCP-o-matic miễn phí và mã nguồn mở) hoặc cơ sở hậu kỳ chuyên nghiệp.
Nếu khách hàng là hãng phim hay nền tảng streaming yêu cầu track phụ đề được mã hóa, xử lý DCP SMPTE nhiều reel, hoặc kiểm tra phát lại tại cơ sở, nhờ DCP house là lựa chọn đúng. Phần dịch thuật và timed-text - chuyển đổi kịch bản, đồng bộ với hình ảnh, kiểm tra CPS, xác minh glyph hiển thị đúng - là phần tôi thực hiện. DCP wrapping là đóng gói, và hầu hết cơ sở kỹ thuật tính phí cố định sau khi nhận được file XML hoặc MXF SMPTE sạch từ bạn.
Xem dịch vụ phụ đề DCP để biết tôi xử lý bước dịch và timed-text như thế nào trong quy trình giao file rạp chiếu phim.
Câu hỏi thường gặp
Năm 2026 tôi còn có thể giao phụ đề Interop cho rạp không?
Có. Interop vẫn được chấp nhận rộng rãi tại các liên hoan phim và rạp cũ. Nhiều rạp vẫn dùng máy chiếu DLP Series 1 không thể render file MXF track phụ đề DCP SMPTE. Với bản phát hành rộng có nhiều loại rạp khác nhau, giao cả hai định dạng hoặc xác nhận hỗ trợ với đội kỹ thuật từng rạp là cách an toàn nhất.
Làm sao biết máy chủ rạp hỗ trợ định dạng nào?
Hỏi cơ sở kỹ thuật hoặc đội kỹ thuật của rạp. Với submission liên hoan phim, cổng submission hoặc tài liệu kỹ thuật sẽ ghi rõ SMPTE hay Interop (hay cả hai). DCP-o-matic có thể render thử asset phụ đề trên máy tính, nhưng kiểm tra phát lại thực tế cần phần cứng mục tiêu.
Phụ đề DCP có thể chứa tiếng Việt hoặc tiếng Trung không?
Có. Cả phụ đề DCP SMPTE lẫn Interop đều hỗ trợ Unicode, vì vậy tiếng Việt (với đầy đủ dấu), tiếng Trung, tiếng Nhật và các ngôn ngữ khác đều có thể xuất hiện, miễn là font nhúng chứa các glyph đó. SMPTE còn hỗ trợ Ruby text cho chú thích phát âm CJK. Điều này hoàn toàn khác với caption CEA-608/708 trên truyền hình Mỹ, vốn là tiêu chuẩn tiếng Anh và không thể mã hóa tiếng Việt hay CJK.
Thời lượng hiển thị tối thiểu của phụ đề DCP là bao nhiêu?
Trong thực tế, phụ đề nên hiển thị ít nhất 15 frame (khoảng 0,6 giây ở 24 fps) với khoảng cách tối thiểu 2 frame giữa các event liên tiếp. Phụ đề đầu tiên trong reel 1 không nên bắt đầu trước mốc 4 giây. Giữ trong các giới hạn này để tránh vấn đề tương thích giữa các máy chủ rạp khác nhau.
Làm sao xác minh XML phụ đề SMPTE DCP hợp lệ trước khi giao?
Mở XML và kiểm tra: (1) namespace là chính xác http://www.smpte-ra.org/schemas/428-7/2014/DCST; (2) EditRate và TimeCodeRate khớp với reel hình ảnh; (3) mỗi element Subtitle có SpotNumber duy nhất; (4) UUID font trong LoadFont khớp với tên asset trong MXF. DCP-o-matic phân tích file MXF phụ đề SMPTE và báo cáo các lỗi cấu trúc.
Nguồn
- Subtitle Edit (nikse.dk) - Các định dạng SeConv bao gồm DCinemaSmpte2014Mxf và DCinemaInterop, flag --dcinema-font và --reel-duration. Đã xác minh tháng 11 năm 2026.
- SMPTE-RA - ST 428-7:2014/DCST namespace - Tham chiếu namespace chính thức và schema XSD cho SMPTE ST 428-7:2014. Đã xác minh tháng 11 năm 2026.
- Cinepedia - Timed Text Track Files - Cấu trúc SMPTE ST 428-7 và Interop CineCanvas, xử lý font và gắn thẻ ngôn ngữ. Đã xác minh tháng 11 năm 2026.
- Cinepedia - Interop DCP and SMPTE DCP - Khả năng tương thích, mã hóa, khác biệt CPL. Đã xác minh tháng 11 năm 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 →
