Hi,
I'm reviving this thread to share my current workflow for custom positioning of subtitles - hoping it may be useful to others.
So for now, I'm still using Subtitle Edit and the ASS format to create a .ass subtitle file with the precise positions and alignments I want.
- In Subtitle Edit set your project to Advanced Sub Station Alpha (.ass) format.
- Import a video file (Video->Open Video file...) of the content you are subtitling. It should be in the same framerate than the future DCP.
- In File->ASS Properties, check that the Video Resolution is that of the DCP you will make (DCI 2K Flat/Scope or DCI 4K Flat/Scope) even if you are working with a lower resolution video proxy.
- Create ASS Styles (in File>ASS Styles..) corresponding to the different positions/margins you want to use. Here is an exemple of some typical settings I use: Arial Font Size 58, Center bottom aligned, Vertical Margin 76, Outline border. Note that ASS fontsize is different than XML IOP/SMPTE fontsize.
In this example I've created another style named "Right Credits" for subtitles I want to be aligned on the right and upper than the default subtitles.
Capture d’écran 2026-01-27 020605.png
- Assign (right click>Set Style) the corresponding style to each subtitle or group of subtitles.
- If you want a very specific position for a subtitle, right-click on it -> ASSA Tools -> Set position. A window will allow you to click and position the subtitle wherever you want in the picture.
Capture d’écran 2026-01-27 021722.png
When you click OK a {\pos} tag will be added before the subtitle. Note that the position applies to the whole subtitle element. You cannot set two different positions for the two lines of a same subtitle (as it is sometimes needed by SDH).
- When you have finished, save the file to .ass.
As of today, you can import an ASS file directly into DCP-o-matic - the global alignments will be respected, but the positions won't match exactly what you see in the Subtitle Edit preview (or in VLC if you load the .ass file there). I don't know if an automatic and fully versatile conversion is possible, because ASS and SMPTE xml handle subtitle positioning very differently. But I managed to make a small Python script which fits my needs and
converts an .ass file to a .xml SMPTE ST 428-7:2014 with excellent accuracy in subtitle placement. The preview in Subtitle Edit matches exactly the DOM preview.
Here are the main limitations :
- It works for Arial/Liberation and similar but may not work for other fonts.
- Regarding special formatting, only italics are supported. No bold, no underline, no color changes... The script will generate a white-letters-with-black-borders style for the whole subtitle file.
- Font size of the first style will be applied to the whole file. No size change is supported.
- Two lines maximum per subtitle is allowed. Otherwise the script will stop and show the problematic lines.
The usage is simple :
- ass_to_smpte4287_en.py input.ass output.xml --framerate 25 --lang fr --title "Avatar"
- Only in/out paths are required. Default framerate is 24 - you should set the correct one. "lang" will populate the XML <Language> tag (default is "en") and "title" is <ContentTitleText>
The script is attached to this post. Don't hesitate to send me your feedbacks. I've heavily used it the past few months but of course it's provided "as is" with no warranty, there are very dirty hacks inside.
Best,
Dan
You do not have the required permissions to view the files attached to this post.