Proposal for Adding Multi-format Rendering to Kdenlive.
Project abstract
Kdenlive is a popular open source video editing application. Proposal is for adding Multi-format Rendering to Kdenlive,
The idea is to extend Kdenlive to support rendering videos in different aspect ratios like horizontal, vertical and square. By adding support for rendering in portrait and square formats, videos can be optimized for diferent social media platforms and use cases.
The major deliverables are:
- Support rendering in horizontal, vertical, and square aspect ratios.
- UI controls to select the desired format
- Automatically scale and crop clips to fit the selected format
- Render the video using the desired final rendering profile
Proposal
The goal of this project is to extend rendering to support:
-
16:9 Horizontal
- This is the standard widescreen format
- Used for YouTube, most videos
- Will be the default, selected render format
-
9:16 Vertical
- Suited for mobile platforms
- Ideal for Instagram, Facebook reels
- Users often need vertical videos
-
1:1 Square
- Format used by Instagram feeds.
- No width or height constraint
- Useful for flexible social media videos
This will allow users to render videos tailored for different popular platforms and use cases like social media stories, square videos, etc. without black bars or cropping.
IMPLEMENTATION DETAILS
The key tasks are:
-
Add UI controls to File > Render dialog
- Add aspect ratio selection (Horizontal 16:9, Vertical 9:16, Square 1:1) to the 'Render' dialog.
- Default will be current Landscape
- Implement functionality to automatically scale clips to the selected aspect ratio.
-
Utilisation of Filters:
- Scale/crop to the desired aspect ratio using filters on the playlist's main tractor of the timeline to scale and crop the video to the desired aspect ratio.
- Ensure that filters handle pillarboxing/letterboxing if the content does not fit the selected aspect ratio.
-
Rendering Profiles:
- Test the functionality, Ensure that rendering profiles support the desired output resolutions for horizontal, vertical, and square formats.
Key Goals
- Render in different ratios: horizontal, vertical and square.
- UI to select format
- Automatically scale and crop clips to fit the selected format
Enables easily creating videos optimised for the target platform.
Timeline
Time period | Task |
---|---|
Week 1 (07 Jan - 23 Jan) | Finalise details with mentors, plan UI changes |
Week 2 (24 Jan - 30 Jan) | Scale/crop to the desired aspect ratio using filters on the playlist's main tractor |
Week 3 (31 Feb - 06 Feb) | applying filters to playlist tractor |
Week 4 (7 Feb - 13 Feb) | Test the functionality and make necessary adjustments |
Week 5 (14 Feb - 20 Feb) | Test it with different rendering profiles. Create a blog post on the updates till now. |
Week 6 (21 Feb - 17 Feb) | UI : Adding a new "Format" tab in the ‘Render’ dialog |
Week 7 (28 Feb - 06 Mar) | Adding options to render it in different format |
Week 8 (7 Mar - 13 Mar) | Adding logic to export the file in the selected format |
Week 9 & 10 (14 Mar - 27 Mar) | Take suggestions for improvement from mentors and other peers, Buffer time for other improvements |
Week 11 (28 Mar - 31 Mar) | Create a blog post and submission of the project. |
Foreseen challenges
(If your project may have challenges, feel free to add any info here and if you have any plan to resolve them if they appear)
References / relevant background info
I'm a second-year undergraduate student of Computer Science and Engineering. I like contributing to open source. I started contributing to open source during my first year and have been doing it consistently since then. My experience with open source is relatively small, but it has been so exciting that I've been contributing to multiple projects once I got acquainted with the concept.
I've been an active KDE Plasma user for over two years which sparked my interest in contributing to KDE especially on the application that I use regularly .
- I first picked up C++ and Qt in high school, building small desktop applications and games. This sparked my interest in GUI development and I have since worked on Qt, QML
- I have contributed to many other open source projects, and have been a Fedora Project contributor for over a year. and have contributed to the development of the Fedora website. contribution
- Submitted 3 patches to Firefox which were accepted. contribution
How to reach you
Email ID: exactlyajay.chauhan@gmail.com
Matrix: @hisir:matrix.org