Captions , subtitles overlayed on video

Wondering if there is any way to import a .srt (caption file) to display and overlay lyrics for a music video. If not, would you consider this as a feature?

I was able to copy and paste the lyrics into the scrolling titles filter, but getting them to sync with the vocals was very difficult. Then used the size and position filter to have them display in the lower third of the screen. The .srt files have timecodes for proper display.

Thanks Derbydog

See here:

Shotcut WebVfx Framework (expand the sections concerning subtitles)

and here:

ans here:

After some trouble, I finally managed to get this to work. My virus checker didn’t want me to run the file but I overwrote it. The captions do line up with the vocals.

What I’m not sure how to do, is to change the font, font size etc… I can see the code in notepad ++ but I’m not a programmer so have no idea how to change this.

Suggest strongly that having the import of .srt (and other cc file formats) would be a valuable feature in Shotcut - also need a mechanism for user to change the font characteristics.



Ok…just learned how to find and replace in notepad++. It works - changed both the font and the size.

But again, all of this would be a great feature within the Shotcut software at some point.

Hope you’re all virus free!!


I am glad to see my little work helped. And congratulations that you successfully changed the font by batch replace.

The shotcut dev team has much more important tasks to improve the program. I actually don’t want them to spent their precious time on particular functions that few people use.

Its a nice piece of software and nicely laid out. Tried a few others but just didnt like them. Ive found 20.7.11 far more stable than the previous version. Hasnt crashed once since i updated.

One suggestion: For anyone doing a How to video for shotcut - always have them state which version they are using at the very start. Its confusing to look for something that either isn’t there anymore, or has been renamed or moved.

Hi…so I have another video that I created subtitles for - and cannot get it to work. Pretty sure I’m using the same process as before. You can see the chats I’ve been having with Elusien

I took the subtitle xml file from the 1st project and added it to the second - that file works fine.

Be great if we can figure out a process and I can document it for anyone else that might want to do it that way…


Using the SRT to MLT Converter…

I’ve now done well over a dozen tests with the srt to mlt converter. I take an srt file which is only text and timecodes: example below…** The SRT file was created by Aegisub.

When I add that MLT file to a new video track, and Play - there is a horrible audio buzz, and the separate audio tracks are not synced even though they appear fine on the timeline. I exported a file - there is no audio buzz, but the tracks are definately not in sync… The forum won’t let me upload the Aegisub file…

Hoping someone can take a look at this…

00:00:16,150 --> 00:00:21,000
She lives up in the mountains, she lives inside a dream

00:00:21,150 --> 00:00:26,000
Travelling round the country, to a place shes never seen

00:00:26,150 --> 00:00:31,000
She’s not a city lady and she doesnt like it there

00:00:31,150 --> 00:00:36,150
As for workin 9 to 5 well she dont really care

You are not being clear about which tool you are using. I do not think any of them were intended to create a MLT XML to be used as a virtual clip or nested project. When doing that you must ensure all XMLs use the same video mode. Perhaps you should open the generated MLT XML as your project file and try adding your media into it.

Many, many thanks for the heads up about the frame rates…whew. If only I’d known that before.

I’ve posted my procedure (for dummies) with the srt to mlt converter topic. Done it several times now and it works every time.


I’ll put it up here as well: (please add anything you think I missed…)

How to create “Karoke” style Subtitles in ShotCut

  1. Use Aegisub ( to create the text and the timecode locations.

    • Select File / Export, select .SRT as the format and name the file
  2. Open the SRT to MLT generator (
    (the generator and the SRT file must be in the same directory)

    • Open the above .SRT file
  3. When prompted, enter the # of frames

    • The # of frames MUST match the first video file in your playlist.
    • To do this, Select the file on the timeline, then click properties,
      the frame rate is displayed there
    • This will create a .MLT file
  4. Use Notepad++ to open the .MLT file

    • Use Find and Replace to change the Font and or the Font size
    • Then click File, Save
  5. Drag the .MLT file to the Playlist bin in your project

    • Add a new video track to the timeline, then drag the MLT file to it.
      • You can also drag it directly to the timeline. Things do not need to be in playlist first.
  6. The subtitles should now play correctly over the video.


FYI - you can also drag it directly to the timeline. Things do not need to be in playlist first.

I now have a question about frame rates - If I have two videos with different rates, just slightly off, is the audio now going to be out of sync?
If so, is there a way to convert the files so they are all at the same frame rate - and…if I do this, will the pitch of the audio now be different on the converted file?

Or…does shotcut take care of this?

There’s a minor difference between a file shot on an ipad and one on an android phone (24.019 vrs 30.552)

This is for shooting a music video where I do one track, then others remotely listen to it and record themselves playing a different instrument. They send me the tracks to edit together.

Appreciate your guidance.

Not generally but whenever you work with audio and video in any tool there is some risk of losing a/v synchronization. Nothing is perfect all of the time.

ipad and one on an android phone (24.019 vrs 30.552)

Those are likely variable frame rate whether Shotcut detected them as such or not. Editing variable frame rate is not supported and significantly increases the risk of introducing a/v sync problems. You should use Properties > Convert on them.

Doing the convert…is that the same as taking each of those files and exporting a main level version? Then add these converted files to a new project…?


This topic was automatically closed after 90 days. New replies are no longer allowed.