Jump to content

GSoC/2020/StatusReports/SashmitaRaghav: Difference between revisions

From KDE Community Wiki
Sassycode (talk | contribs)
mNo edit summary
Sassycode (talk | contribs)
 
(13 intermediate revisions by the same user not shown)
Line 2: Line 2:
== Basic Subtitling Support in Kdenlive ==
== Basic Subtitling Support in Kdenlive ==
=== Project Overview ===
=== 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. <br>
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 customize and edit subtitles. At present, subtitles are added 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 customization of the displayed text is not viable.<br>
 
Basic subtitling support in Kdenlive can be achieved by extending the functionality of the existing “Subtitle” filter thereby giving users more choices over subtitle customization.
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.
<br><br>
<br><br>
'''Source Code:'''
* '''[https://invent.kde.org/multimedia/kdenlive/ Kdenlive]'''
* '''[https://invent.kde.org/sassycode/kdenlive/-/tree/subparser Development Branch]'''
'''Merge Request:'''
* [https://invent.kde.org/multimedia/kdenlive/-/merge_requests/126 WIP:Merge Request]
'''Subtitler Development Issue'''
* [https://invent.kde.org/multimedia/kdenlive/-/issues/666 Kdenlive Issue for suggestions on Subtitle support development]
'''Blog Posts:'''  
'''Blog Posts:'''  
* https://sash2501.github.io/posts/GSoC-with-Kdenlive/
* https://sash2501.github.io/posts/GSoC-with-Kdenlive/
* https://kdenlive.org/en/2020/06/basic-subtitling-support-in-kdenlive-gsoc-20/
* https://kdenlive.org/en/2020/06/basic-subtitling-support-in-kdenlive-gsoc-20/
=== Project Goals ===
# Write a parser for subtitle format files
# Add support to manage subtitle files
# Create basic front-end for subtitle customization
=== Mentors ===
* [https://invent.kde.org/akhilkgangadharan Akhil K Gangadharan]
* [https://invent.kde.org/afarid Farid Abdelnour]
* [https://invent.kde.org/mardelle Jean-Baptiste Mardelle]
== Work Report ==
== Work Report ==
=== Phase One ===
==== Week: 1 and 2 ====
==== Week: 1 and 2 ====
* Create a class to handle subtitles
* Create a class to handle subtitles
* Write a parser for SRT and ASS/SSA subtitle file formats
* Compose a parser for SRT subtitle file formats
* Create a basic list model to store the subtitles
* Write a parser for ASS/SSA subtitle file formats
* Create a basic abstract  list model to handle the parsed subtitles
'''Blog Post:''' https://kdenlive.org/en/2020/06/gsoc-20-progress-week-1-and-2
'''Blog Post:''' https://kdenlive.org/en/2020/06/gsoc-20-progress-week-1-and-2
==== Week: 3 and 4 ====
==== Week: 3 and 4 ====
* Write a very basic QML display of subtitles
* Implement the subtitle model to store the subtitles in the correct order.
* Begin work on the integration of the backend with the frontend
* Design a very basic QML display of subtitles to validate the correct implementation of the subtitle model.
'''Blog Post:''' https://kdenlive.org/en/2020/06/gsoc-20-progress-week-3-and-4/
* Begin work on integrating the back-end with the basic front-end on the application timeline interface.
'''Blog Post:''' https://kdenlive.org/en/2020/06/gsoc-20-progress-week-3-and-4
=== Phase Two ===
==== Week: 5 and 6 ====
==== 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
[[File:Start_Lines.png|frame|center]]
'''Blog Post:''' https://kdenlive.org/en/2020/07/gsoc-20-progress-week-5-and-6
==== Week: 7 and 8 ====
==== 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
[[File:Blue Rectangle QML.png|frame|center]]
'''Blog Post:''' https://kdenlive.org/en/2020/07/gsoc20-progress-week-7-and-8
=== Phase Three ===
==== Week: 9, 10, 11 and 12 ====
* Work on making the text on the clip editable
[[File:Subtitle Text Editing.gif|frame|center]]
<br>
* Work on making the end position editable from the timeline.
[[File:End position movement.gif|frame|center]]
<br>
* Make the subtitle clips's start position editable
[[File:Final Subtitle Editing.gif|frame|center|Subtitle Clip Customization]]
<br>
* Design and create a separate track for subtitle customization
[[File:Separate track subtitle.png|frame|center]]
'''Blog Post:''' https://kdenlive.org/en/2020/08/gsoc20-progress-onward-with-the-third-month
== 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 ==
== About Me ==
Line 28: Line 77:
* IRC Nick : sassycode
* IRC Nick : sassycode
* Telegram : https://t.me/sassycode
* Telegram : https://t.me/sassycode
* University : Amrita Vishwa Vidhyapeetham, Amritapuri
* University : Amrita Vishwa Vidyapeetham, Amritapuri
* Location : Kerala, India (UTC+5:30)
* Location : Kerala, India (UTC+5:30)



Latest revision as of 08:51, 31 August 2020

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

Mentors

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: https://kdenlive.org/en/2020/06/gsoc-20-progress-week-1-and-2

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: https://kdenlive.org/en/2020/06/gsoc-20-progress-week-3-and-4

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

Blog Post: https://kdenlive.org/en/2020/07/gsoc-20-progress-week-5-and-6

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

Blog Post: https://kdenlive.org/en/2020/07/gsoc20-progress-week-7-and-8

Phase Three

Week: 9, 10, 11 and 12

  • Work on making the text on the clip editable


  • Work on making the end position editable from the timeline.


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


  • Design and create a separate track for subtitle customization

Blog Post: https://kdenlive.org/en/2020/08/gsoc20-progress-onward-with-the-third-month

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