Basic Subtitling Support in Kdenlive

Project Overview

Kdenlive is an open-source video editor based on Qt, MLT, and KDE Framework. This application makes video editing easy with an intuitive workflow.

Videos in Kdenlive are edited by applying filters or effects, however, the application is largely limited in its ability to customise and edit subtitles. At present, the application adds subtitles as an effect, namely using the Subtitle effect. The effect uses an FFmpeg filter to burn the subtitle file onto the respective video. Since the subtitle files are hard-coded over the videos, the customisation of the displayed text is not viable.

Basic subtitling support in Kdenlive can be achieved by extending the functionality of the existing “Subtitle” filter, giving users more choices over subtitle customisation.

Source Code:

Merge Request:

Subtitler Development Issue

Blog Posts:

Project Goals

  1. Write a parser for subtitle format files
  2. Add support to manage subtitle files
  3. Create basic front-end for subtitle customization


Work Report

Phase One

Week: 1 and 2

  • Create a class to handle subtitles
  • Compose a parser for SRT subtitle file formats
  • Write a parser for ASS/SSA subtitle file formats
  • Create a basic abstract list model to handle the parsed subtitles

Blog Post:

Week: 3 and 4

  • Implement the subtitle model to store the subtitles in the correct order.
  • Design a very basic QML display of subtitles to validate the correct implementation of the subtitle model.
  • Begin work on integrating the back-end with the basic front-end on the application timeline interface.

Blog Post:

Phase Two

Week: 5 and 6

  • Add the signal - slot mechanism to previously implemented subtitle model to connect to various classes of Kdenlive to enable subtitle parsing upon application startup.
  • Test and debug the code
Start Lines.png

Blog Post:

Week: 7 and 8

  • Work on UI display of the subtitles on the timeline
  • Begin work on making the subtitle model editable from the timeline.
  • Implement a new type of clip : the Subtitle Clip
Blue Rectangle QML.png

Blog Post:

Phase Three

Week: 9, 10, 11 and 12

  • Work on making the text on the clip editable
Subtitle Text Editing.gif

  • Work on making the end position editable from the timeline.
End position movement.gif

  • Make the subtitle clips's start position editable
Subtitle Clip Customization

  • Design and create a separate track for subtitle customization
Separate track subtitle.png

Blog Post:

Work Left

  • Write a new modified subtitle file with the help of the implemented subtitle model to which the FFmpeg avfilter can be applied.
  • Work on UI improvements of the subtitle clips and the subtitle track.

About Me

Contact Details

Profile Links

This page was last edited on 31 August 2020, at 08:51. Content is available under Creative Commons License SA 4.0 unless otherwise noted.