Hello,
I have a question regarding subtitle positioning in DCP-o-matic and the correct workflow for VF_DCP creation.
In my movie, there are name inserts (lower thirds) on screen, and during these moments I would like the subtitles to appear at the top of the screen, while all other dialogue subtitles should remain at the standard bottom position.
As far i know that tools like Subtitle Edit can export DCI/SMPTE XML subtitles with per-cue vertical positioning (e.g. some subtitles set to top, others to bottom). However, when importing such XML files into DCP-o-matic, it seems that DCP-o-matic normalizes the subtitle position and ignores per-cue positioning settings.
My questions are:
1. Is it correct that DCP-o-matic does not support per-subtitle (per-cue) positioning from DCI XML files?
2. If so, is the recommended and safe workflow to split the subtitles into two separate subtitle tracks/files (one bottom, one top) and assign
different global positions to each track? Can these separate subtitle tracks (1st bottom. 2nd top) be included together in a one VF export?
3. Is this approach considered fully SMPTE/Interop compliant and reliable across cinema servers? Can they play both subtitle track simultaneously?
I want to make sure I follow a workflow that is QC-safe for theatrical distribution.
Thank you very much for your guidance.
subtitle positioning (top/bottom)
-
barber
- Posts: 63
- Joined: Fri Apr 15, 2016 4:03 pm
Re: subtitle positioning (top/bottom)
Hi,
DCP-o-matic accurately respects the position of each subtitle line as specified in a DCI SMPTE 428-7 XML file.
Could you attach here a portion of your XML file so we can see what is happening? Maybe you created a Subrip (SRT) project in Subtitle Edit and chose SMPTE XML in the Export window? This won't work, the project has to be in DCI SMPTE when you make the alignment change.
There are several workflows to achieve accurate subtitle positioning and formatting with DCP-o-matic.
) Don't hesitate to ask if something isn't clear.
Best,
Dan
DCP-o-matic accurately respects the position of each subtitle line as specified in a DCI SMPTE 428-7 XML file.
Could you attach here a portion of your XML file so we can see what is happening? Maybe you created a Subrip (SRT) project in Subtitle Edit and chose SMPTE XML in the Export window? This won't work, the project has to be in DCI SMPTE when you make the alignment change.
There are several workflows to achieve accurate subtitle positioning and formatting with DCP-o-matic.
- You can indeed create a D-Cinema SMPTE 2014 XML file with Subtitle Edit and use the right-click->Alignment window to change the alignment of individual lines. DCP-o-matic will correctly import the file and recognize the custom positions.
- For a more precise positioning, you can create an ASS file in Subtitle Edit and use the right-click->ASSA Tools->Set Position tool and you will be able to visually place the subtitle line anywhere on the screen. Note that you must import the corresponding video in Subtitle Edit and ensure that the "Video Resolution" field is correctly filled. DCP-o-matic will import the ASS file and will recognize each custom position you have set. Unlike SMPTE XML, font formatting is not 100% accurate with an ASS source in DCP-o-matic but it's still quite good.
- It is also possible to create two separate subtitle files with different global positions and import both in DCP-o-matic. The resulting DCP will be SMPTE/IOP compliant.
- My personal current workflow is to use the ASS approach in Subtitle Edit when precise positioning is required (not just top/bottom/left/right aligned), then convert the file to SMPTE XML with a homemade Python script, and finally import it into DCP-o-matic. 100% accurate result. I'll post that script here soon.
Best,
Dan
-
barcud
- Posts: 6
- Joined: Sun Dec 21, 2025 9:23 am
Re: subtitle positioning (top/bottom)
Ha Dan,
Thank you very much for the detailed guidance — it turned out that the Subtitle Editor project format was indeed set incorrectly.
One more question came up though:
If I choose a specific font ( from system) in DCP-o-matic, how can I be sure that the VF export automatically carries that font with it?
In other words, is the selected font embedded in the VF, or do I need to take any extra steps to ensure it is preserved?
Also, if you could share the script, that would be a great help for future work as well.
Thank you very much again!
Thank you very much for the detailed guidance — it turned out that the Subtitle Editor project format was indeed set incorrectly.
One more question came up though:
If I choose a specific font ( from system) in DCP-o-matic, how can I be sure that the VF export automatically carries that font with it?
In other words, is the selected font embedded in the VF, or do I need to take any extra steps to ensure it is preserved?
Also, if you could share the script, that would be a great help for future work as well.
Thank you very much again!
-
IoannisSyrogiannis
- Posts: 349
- Joined: Mon Nov 13, 2017 8:40 pm
- Location: Iceland
Re: subtitle positioning (top/bottom)
If you are making an IOP (interop) DCP, the font will be there, in the same folder the subtitles' file is.barcud wrote: ↑Fri Jan 16, 2026 9:13 am [...]If I choose a specific font ( from system) in DCP-o-matic, how can I be sure that the VF export automatically carries that font with it?
In other words, is the selected font embedded in the VF, or do I need to take any extra steps to ensure it is preserved?
[...]
If you are making a SMPTE DCP, the font will be incorporated/embedded to the .mxf file along the subtitles.
That is the purpose of selecting a specific font, for the cinema system to use that. Some systems, rendering the subtitles on the projector side (that is to say, not the server), will need that file, in order to screen it.
-
barber
- Posts: 63
- Joined: Fri Apr 15, 2016 4:03 pm
Re: subtitle positioning (top/bottom)
And when you select the font file in DCP-o-matic you'll see the font changing in the preview window. No extra step needed, you can trust DCP-o-matic and you will see the font when playing back the DCP in the Player app.
If you have a doubt (SMPTE DCP case) you could use asdcp-unwrap to "unzip" the SMPTE subtitle mxf. The font will be the extracted file with no extension (EDIT: in your home directory).
If you have a doubt (SMPTE DCP case) you could use asdcp-unwrap to "unzip" the SMPTE subtitle mxf. The font will be the extracted file with no extension (EDIT: in your home directory).
Last edited by barber on Mon Jan 19, 2026 5:04 pm, edited 1 time in total.
-
barcud
- Posts: 6
- Joined: Sun Dec 21, 2025 9:23 am
Re: subtitle positioning (top/bottom)
Thank you for the info, it’s very useful, I see things much more clearly now.
A bit off topic: now that you mentioned the ASDCPLIB package, I looked it up out of curiosity. The last Windows version I found is here: [https://carlh.net/asdcplib].
However, during MXF unwrapping it stops with the error “Program stopped error. Failure to open.” A file with the same name as the MXF (but without an extension) does get created, but I assume this is not what should happen.
From what I saw on GitHub, the newer builds seem to be available only for Linux / macOS, or am I mistaken?
(This was just a test out of curiosity, DCP-o-matic plays it perfectly.)
Thanks a lot again.
PS: could you please also post your script in this thread as well? I’m sure I’ll be able to find it here.
A bit off topic: now that you mentioned the ASDCPLIB package, I looked it up out of curiosity. The last Windows version I found is here: [https://carlh.net/asdcplib].
However, during MXF unwrapping it stops with the error “Program stopped error. Failure to open.” A file with the same name as the MXF (but without an extension) does get created, but I assume this is not what should happen.
From what I saw on GitHub, the newer builds seem to be available only for Linux / macOS, or am I mistaken?
(This was just a test out of curiosity, DCP-o-matic plays it perfectly.)
Thanks a lot again.
PS: could you please also post your script in this thread as well? I’m sure I’ll be able to find it here.
-
carl
- Site Admin
- Posts: 2909
- Joined: Thu Nov 14, 2013 2:53 pm
Re: subtitle positioning (top/bottom)
asdcplib-unwrap does that for me too - I should probably look into why at some point!
asdcplib is not my project, I just made some Windows builds a while back because some people wanted to use the tools without the hassle of compiling them.
asdcplib is not my project, I just made some Windows builds a while back because some people wanted to use the tools without the hassle of compiling them.
-
StephW999
- Posts: 70
- Joined: Mon May 17, 2021 1:15 pm
-
barber
- Posts: 63
- Joined: Fri Apr 15, 2016 4:03 pm
Re: subtitle positioning (top/bottom)
Yes it's probably related.
If you compile asdcplib from source with all the dependencies the mxf is entirely extracted.
If no destination file is spectified actually both the xml and the font file are extracted without extension. On Windows the ttf font file will be named by its UUID and be saved in the current working directory (typically the home directory).
-
barber
- Posts: 63
- Joined: Fri Apr 15, 2016 4:03 pm
Re: subtitle positioning (top/bottom)
Hi, I've just posted the script there : https://dcpomatic.com/forum/viewtopic.p ... 532#p14532