Okay, I'm excited to present the first talk of today, which is by Jean-Papiste, Eugène
Eugène and Massimo will tell us about how Kdenlive became the great and awesome video
editor it is today.
Okay, thanks for your welcome.
I am Jean-Papiste Mardel.
I have been the Kdenlive maintainer for the past 18 years and I'm happy to be here with
you at Academy.
Some of you might already know me as I have been on stage a few times already, but it's
the first time I'm not alone on stage, so I have some team members with me, so it makes
me really happy because Kdenlive is really a community and a team project, so it's great
to not be alone on stage.
So I'm just going to quickly introduce you with the team.
We have been mostly having online meetings in the last years.
We hope to be able to make a stream soon.
And the team who couldn't make it today, there is Farid, Julius, Remy and Camille, so I just
want to say hi to them today.
So this is the whole team with Massimo and Eugène.
So I will now let the other members of the team introduce themselves and we'll keep them.
Good morning everyone.
My name is Eugène Moore.
I'm joining the Kdenlive core team in 2018.
I'm mainly behind the scenes.
The coder is Jean-Baptiste Mardel.
I'm more about documentation and bug tracking and the home page and all what is behind the
scenes needed that we can keep Kdenlive alive.
Hello everybody.
I'm Massimo.
I'm a video editor and filmmaker and a consultant of the project.
It's 10 years that I'm on the project and I don't know what to say.
I'm very happy to be here because I'm very fond of this project and of the guy that worked
with us to create what we are doing.
And as we are a video editor application, to me the best way to introduce ourselves is
by showing you a video.
Kdenlive is a community project which aims to deliver a free and open video editing software
application to allow everybody to produce quality content in order to increase the democratization
of the media.
The application is a graphic interface written in C++ with Qt and KDE libraries for the MLT
framework written by Dan Dennity which relies on FFMPEG to decode and encode
almost all the video and audio formats that are out today and which host effects libraries
like Freya and MoveIt for video and Ladspot and Socks for audio.
By following the official documents that we can find on the internet, the project was
launched by Jason Wood who released version 0.2.3 in October 2003.
Soon, Kdenlive 0.2.4 followed, but the community did not yet exist and the group was very small.
The project stopped for two years.
Before the end of 2005, Jean-Baptiste Mardel, who heard that the project would be reactivated,
offered his help and in 2006 he signed the post of the new release 0.3 of the program.
From this moment on, he became the main reference point for the project.
Version 0.4 and 0.5 are soon distributed, but there is an issue.
A refactoring of the code is needed to go forward.
The program has to be moved from KDE 3, which is not compatible with MLT, to KDE 4.
The rewriting ends in 2008 followed by several new releases, but in 2011 a further migration
from KDE 4 to KDE 5 was needed to allow the program to grow.
In 2012, a crowdfunding campaign is launched to fund the operation and before the end of
2014 the goal is reached.
Then finally, in 2015, Kdenlive becomes an official KDE application.
Jean-Baptiste was invited to Academy to present 10 years of activity.
The new perspective is to make the project even bigger.
Before the end of the year, the first Kdenlive cafe is announced with the aim of getting
more people involved.
During this virtual meeting, it immediately became clear that in order to grow, Kdenlive
needed to be cross-platform.
The Windows version was announced and 2016 began with a Sprint meeting followed by the
new logo and the new site.
But as soon as the development of new features started, it was evident that the code for
the timeline had to be rewritten because it was too old and no longer fit.
Everybody knew that the refactoring could take several months or years, but the community
did not lose enthusiasm.
In 2018, a new roadmap was written and in 2019, the refactored code was distributed,
although some fine-tuning was still needed.
Then finally, since 2020 and continuing up to now, the long-awaited new features along
with a plethora of new effects and dozens of important improvements have been continuously
added to create the most powerful, free, and open video editing application ever.
Thank you.
We have about 100,000 users using Kdenlive daily or weekly or frequently.
If you have saw a lot of users, you get a lot of feedback as well.
If the software is running well, you get no feedback.
If we have a release like 23.04, the bell is ringing after 30 seconds, you have issues,
a lot of bugs not usable, so have a lot of user feedback very soon if the software is
not running well.
So how to communicate with all these users?
We try to keep the communication channel as lean or as simple as possible, so we have
the communication channel for notification of the software.
It's our home page.
It's Twitter and Mastodon.
The communication itself with our user, we have these channels.
It's our forum, Discuss .
It's the feedback when something happens or for wishes, it's baktzilla and we have quite
a big community on Reddit that give us feedbacks.
And it's sometimes really a challenge to feed and check all these channels to have some
other cloud feedback to the supplier as well.
So this one keeps about two up to three people really busy behind the scene just to communicate
with the users.
Downloads.
You see here a curve over time.
These are the downloads of Windows and Mac and appimage.
We have a huge peak on the beginning of COVID.
It looks like users like to have some video editing possibilities.
And as you can see, we can keep the amount of downloads or users over time as well.
What you do not see on this curve is there's a similar curve for the unique visits on our
home page.
And we just found out the people going on the home page, looking for the download link,
clicking on that and download the application that leads to us that we refurbished the home
page to make the user easier to find the download page.
What's really interesting, what is missing on this curve is flat back downloads and the
PPA downloads.
And we do not really know as the distribution is via mirror server, we do not know the download
numbers from the mirror servers.
Who is using Caden Live?
Just make an actual poll last week and found out about 40% social media, it's YouTube,
it's peer to TikTok.
I know schools using our software as well.
So I get asked years ago that we can prepare a download version which is possible without
additional software.
So I download the packed Windows version and repack it in a self extraction file so that
the schools do not need additional software installed and do not need administration rights
to install the application.
This gives about 10% of our users.
And interestingly, we have about 7% professional users, I think.
It's wedding, editing, most probably.
Some TV we know, some movies we know as well.
And then the majority only up to 45% is personal use, doing their vacation, holidays, editing
like this one.
And then the platforms used with Kdenlive, mostly Windows, Linux, and a growing community
on Mac OS, we have about 5,000 Mac OS downloads.
On the Mac OS, it works only on the Linux CPU at the moment.
With such a community, you give a lot of feedback and you get interesting feedbacks as well
from the user when you're listening to it, remember the YouTube part we have.
So the community asks about subtitles.
The community asks about markers, that they can mark the video to get the chapters in
YouTube.
So we investigate and found out there is a framework VOSK, which can generate text from
speech and can generate automatically subtitles.
And even you have the possibility then going in the text field, click on the text and the
playhead jumps on the exactly same position.
Yeah, subtitle generation.
And even we improved that one, founding another thing lately is whisper.
It's really crazy.
This founds the notation of a sentence, the punctuation, and it's really more accurate
than FOSC, I would say translation.
And even you can make a translation to English and it's about 90, 95% accurate in the meantime.
So people coming and asking how to donate to Caden CaneLife.
There was a lot of asks from the community.
They do not like to donate in a big pot, KDE.
They like to spend their money directly to Caden CaneLife.
So we go to the KDE headers, I don't know.
And KDE starts a pilot project with Caden CaneLife that users can donate directly to
Caden Life.
We started this donation on the 20th of September 2022 and reached our goal within a month,
meaning we collect 15,000 euros within a month.
It's absolutely crazy.
It just went up.
I made a forecast by myself and my forecast say, yeah, within a month we should reach
the goal.
In the meantime, it's about 27,000 I heard yesterday because it runs in the background
further on without some additional needs, let's say.
This gives us the possibility to implement really bigger features like the nested timeline,
which Shop Baptist will talk about.
We can now work on stability and we will work on performance as well to make the software
even more performant.
Yeah, documentation.
First, we thought documentation, secondary thing.
It's not so important.
It's still just our time because it's a huge amount to spend just within documentation.
And we checked the statistics and found out we have 3,500 views per week on the documentation
itself.
And then we can further down analyze the statistics.
We found out a third.
It's only checking out the effect part and another third checks only out getting started.
The interesting thing is the people stay one up to one and a half minutes on the page itself,
which is for internet, let's say, really, really long.
We calculated that roughly 10 up to 15% of our users use our new documentation manual.
And at the moment, we are ongoing with updating the whole effects part that the user has a
better overview of effects, what they are doing, how to implement these effects.
And with this new possibility here in Sphinx, it's really nice.
You can put in some keywords and have really a list where these keywords are found in the
documentation.
It's much more easier than with the old system.
Yeah, copyright.
This is a bit of weak part of Kden life, let's say, because the more users you have, you
have 100,000, maybe even more, they start stealing Kden life, meaning Google advertisements,
links to other software, we have such cases, or just take the name and behind is just the
money collector, something like this one.
So we start protecting Kden life as good as possible.
We have a logo and the name is copyright on the KDE at the moment.
And we going on and having the source code, each file with a copyright, an SPDX copyright
and make really sure we protect our work, our 20-year long work now with proper copyright,
which is really tricky.
The goal is to keep Kden life free without cost for the future.
Thank you.
Now, what makes Kden life so successful?
One thing that I think is very important for Kden life success is that we have a vision
for the project.
This is where Massimo, he will talk a bit later about it, has a very important role
because we have a focused vision of what we want to achieve, what we want users to
be able to do for Kden life.
I think it's an important part to have a vision for the project.
We also try to listen to our users.
So the two things are linked.
I think it's important to have an idea of where we want to go, but also to listen to
user input and to do the best of the two things.
And also at one point we also realized that doing too much things was not good.
At one point we had a video capture, we had a DVD result, we had a stop motion widget.
So we had lots of features, but everything was working not so good.
So we tried at some point a few years ago, we really decided to refocus, to have less
features but to try to make them work better.
I think that's one important thing also in the project evolution.
Now the things that we don't do so well.
It was really quite, the last release, 2003-2004, was a good demonstration of what we don't
do so well.
So we'll try to improve.
Automatic testing.
We have some automated testing since a few years, but we need to improve, to increase
the testing.
We also, since a few years, we talk about organizing test days before the release, because
we have a large user community to organize test days, to gather feedback before the release.
So it's something that we never really managed to do.
Another issue that we have is that Kdenlive is a big project with many, many dependencies.
So we depend on MLT as a video engine, which itself depends on FFmpeg, OpenCV, Fryo, and
tons of other projects.
So if one thing changes in our dependency, it can affect the whole application.
So if, for example, a default parameter for an effect changes, then when we open Kdenlive,
this can lead to a change.
This is something that we cannot detect in our testing.
So we have plans to improve.
One thing that we want to do is continue improving our current test base.
Another thing to prevent this issue with dependencies affecting our application is
to have a rendering test suite.
That's something that we started to work on.
It means that we have automated scripts that open a project, render the video file, and
compare it to a reference rendering.
And this way, we can detect if anything changes in our dependencies that affects the rendering,
this will be detected by this test suite.
So this is a project that we want to definitely implement before the end of the year that
will also bring a better regression testing.
Because that's also one thing with increase in popularity.
We have lots of users, and also the expectations are a bit higher, so we just can't keep breaking
everything on each release.
So we're really trying to go in a more professional way and have better testing, regression testing.
Another thing that we want to explore is something that will be talked at Academy is UI testing
with Selenium.
This is something that we don't do at all, but I think it's also an interesting approach
because this is something that we absolutely don't test and some parts of the UI would
really need to be tested.
So now what changed over the years?
So I already talked about the popularity of the software.
Another thing is that before, ten years ago, we only had Linux versions, so packaging was
very easy.
We just prepared an archive of the file and we let distributions do the work.
Now we provide packages for many platforms.
We have Windows, Mac, AppImage, Flatpak, PPE, Snaps, and a few more.
So it's a huge job to do this packaging.
This is something that really changed over the years.
I think it has some, of course, some really nice advantages.
It brings our code faster to the users, so we can also react faster to the feedback.
But the problem is that it's a lot of work.
We have some, we use the KDE tools to build these packages.
We use Craft and we have support from KDE people on KDE infrastructure, but still for
a small team like we are, it is a huge work that is not, that we can't do as well as we
would like.
So this is still an issue.
But yeah.
Another thing that changed over the years is us, the team.
We decided also a few years ago that we wanted to go outside of our bubble, of our Linux
users' bubbles, to grow, to have Windows versions, Mac OS versions.
I think it's important for software if we want to grow.
But the problem is that we are a small team.
Life also makes that, for example, I have a job, now I have a kid, so I have a bit less
time.
So we had to somehow find ways to make sure that KDE Live can keep growing.
So we launched a fundraiser.
The idea behind the fundraiser was also that I had the opportunity to reduce my time at
my day job.
Currently I have one day per week that I can spend on KDE Live, so it's not so much to
maintain such a huge project.
And I had the opportunity to lower, and the goal is to have two days per week for KDE
Live.
So we launched this fundraiser, fantastic fundraiser.
It was very successful, as Eugene said.
We collected money, and yes, as it was also mentioned yesterday, we have not yet spent
any money.
So why is this?
As I said, I had the opportunity to lower my day job, but it takes some time, so I hoped
I could just switch like this, but it takes some more time.
So the idea is really that this money will be used when I have some extra time.
We also want to hire a few people, maybe for some dedicated tasks, but that's something
also that we're not very sure how to manage the hiring.
So all these things take some time, and since managing KDE Live is already a big, huge thing,
so things take more time than we planned or than we would like.
And now it's demo time.
I think we talked a lot, but I think it's also nice to also demonstrate a few of the things that we can achieve with KDE Live.
So Massimo can come.
He's going to demonstrate a few features that we can do with the new version of the app.
So we have a demo, and we have a demo.
So Massimo can come. He's going to demonstrate a few features that were recently implemented,
like a nested timeline that caused a lot of regressions, but we are working on it to fix it,
and it has some nice advantages, and also speech-to-text.
Thank you for switching. Now I can use this one because it's not become too realistic.
Okay, so we load here our video that we just watched before.
So we can scroll it, and we can have the first timeline already load here in this space.
So for example, we can decide that we want to edit in our space, for example, this animation.
So we start from the first frame. We play it, maybe faster.
So we go back, and we select the in-out point.
Who knows already how to work the program, knows what I'm doing, so I set where I want to start
and where I want to end my clip. I can drag it on the timeline, or I can insert straight away with our automatic system.
So I can select another point, for example, could be the conclusion, for example, of our video.
Starting from, for example, from here, and go to the end.
I just do it, I set the in-point here, and for example, we stop here.
So now we have a first timeline with our two clips.
Now I create, for example, another timeline in our sequence folder.
This is to create a new sequence.
So we can select with the title of the sequence, the number of video tracks, the number of audio tracks following our needs.
We create a new timeline, and we can see we have two tabs here.
We can switch from one to the other.
For example, we load again our, oh, sorry, we load again, see, we have one and two.
We load again our clip, and for example, we can decide that now we need the beginning of the video.
And so we set the in-point on the beginning of our animation here, for example, up to the title.
And then we can, for example, select, I don't know, when we speak about academy.
Okay, we are academy, so, well, we don't speak about academy.
So we select the part, oh, first I have to insert the part I selected.
Then I go here.
I select all the situation about academy.
Done.
Now what we have, we have actually two different timelines, but not just two different timelines, also two different clips.
Because if I can load the clip inside our monitor, you can see we can scroll and actually stream again in an out point on our new clip.
And with this second clip that is, as I show you, contain exactly the part we decide to have.
What can do now?
We can, for example, add the sequence one inside the sequence two, for example, so we now have more the other part.
Or maybe we can even create another third sequence where we can, of course, we decide the title.
Where we can put, for example, our sequence altogether, have another sequence.
I don't know why I didn't take the audio two or the sequence one.
We do it.
Okay.
And now we have both the clip.
Of course, we can trim it, we can sleep, for example, I can click and trim that one.
I can reverse it.
They work exactly like with this keyboard.
Okay.
Can do.
I don't know what I did here.
Oh.
Okay.
I lost myself.
Anyway, I can trim and refine the trimming of the clip and so on.
So what is needed in this system?
This system, for example, if you have several footage for a project, for example, that is the same footage that you share for different...
You make a series of episodes based on the same footage, you can load in the same project all the footage you need and then you add a different version of episode one, episode two, episode three.
And then you can export each timeline differently, separately in another video.
And you can recycle any part from a video to another video.
For example, you've created a timeline with a main title of something.
You can reuse the main title in other series without redoing all the time.
So by just using the same piece of timeline in the other timeline.
Another stuff I want to show you is the subtitle we speak about before.
So we create another timeline at this point just to have a free space.
And we take a piece of our video, for example, when we speak about...
I have no audio here now.
Okay.
I go blind so I don't know what we are selecting because we're speaking about subtitle.
We should listen a little bit of audio but it's okay.
So just to make a very short test, we have this clip here.
So in our point...
Oh, what I'm doing.
Okay.
So we open the subtitle track that is here.
We click on our magic wand and send.
We can timeline zone.
As you can see, there is the VOSC model or the model we can select here.
Now we have VOSC activated.
So the selected clip, the timeline zone.
And we can proceed on the subtitle generation.
So in this moment...
Okay.
We have just this table because it's what I selected.
We will show it if we have more time, more clip, bigger clip.
We have all the synchronized part of the subtitle that can be moved, can be resized, can be copied,
and can be also edited in this part.
Also the text could be changed in this area with the custom text, change the font, change the position, change the color.
It depends what you want to do.
This automatic subtitle is the same system.
It can work by using the clip here.
We have the text editor as though we can say it before.
And then by using the...
For example, we have an interview.
We can extract the text and edit the interview by just using the text.
And so we can export the edited final interview based on the section of the text we have liked
and by dumping the rest of the text we don't need.
What we...
Somebody speak about the vision of the future or the vision of the project.
The vision of the project comes from the idea that from one side we listen to the users
because they use the community.
They use it maybe have some ideas that maybe very...
The idea that we never had, very intelligent, so we collect all the input that comes from the community
that make the software stronger.
We know, I'm sure, that even probably software is a spite to us
because I saw in some software some features that doesn't exist before that we introduce first.
So they are watching us.
And from the other side we have also the experience that people like me that work in the field
so they are in contact all the time with the software or big corporation software.
So what the editor needs on the field in the company that uses software.
So we try to make like...
Take best practice with the round to introduce in our software to make it the best possible, the best.
So this idea to implement the best practice that video editing needs is our vision.
And for the future we have to finish between the end of the year what the donators aim to have.
They ask to us so we are in the road to reach before the end of the year the goal
with the decor we will do.
And for the next year we think that we will go forward with insert some AI tools
and mostly collaborating space online to...
I finished.
The collaborative space to make a collaborative job between editors around the world to make it.
So if you want to proceed with question.
Yeah, careful questions.
Thank you.
Most of all major companies that make cameras have proprietary formats that are not just supported on Linux.
It doesn't work.
It won't work and there is absolutely no documentation to start building the infrastructure
so you can use formats such as like red cinemas, digital cameras that take raw footage.
Sony has another format.
Apple is famous for their products.
There is no support for that and those companies are doing nothing to open source the standard so we can have support.
So like where do you see that professional? How can we fix that?
I go or you go.
You can start.
My...
There is a problem about that because this company tried to close more possible
but they have also arrangement with other companies that provide software.
So if you buy sometimes some tools you have to finish to work on some specific platform.
This is actually not something that professional like too much.
Some like because I have old mentality like they don't think about opening most closed.
So I buy something that works like I buy a fridge, a freezer so it has to work this way.
But a lot of people, mostly the younger don't think this way anymore.
So they would like to be open to use what they prefer because it means that I change the camera to migrate to another software.
No, I want to use my software.
And it's always actually a formal scam because actually at the end of the day the codec are always same.
Mostly they contain specification with containers that are closed property stuff.
What is inside the container because video files are made by containers so the caps that contain the stream
and the stream that is encoded by MPEG or whatever it is or iframe etc.
So mostly they use the same way to compress the stream so that the codec is existing codec
but maybe they try to have different caps to the entire container to close.
But I see that at the end of the day for example,
FMPEG is able at the end of the day to work around the problem.
There is some problem of patents of course of copyright around this stuff.
But overall so far I was able to manage to use almost every stream I found.
In the words of the option you have to convert.
But this happened also in Avid before, the software that sometimes you have to make conversion to match the specific software.
So nothing is changed for real.
So it's a challenge of course.
And we have to be open to new formats that change all the time also because new compression, new way to broadcast etc.
I asked demand to be.
So far we are doing pretty well because I'm able to use it on the field with different devices so it's working so far.
Maybe one thing also that we should improve and do more is that we have already a small presence in schools
but we really should do more.
Also we had a standard All-American Film Festival at the beginning of this year.
So making also students aware of these issues I think is something that will help in this field.
Thanks.
I would also like to point out to the person who asked before there's also the Academy Software Foundation which depends on the Linux Foundation.
That tries to open source, tries to get industry companies to open source as much as possible.
And they are quite successful.
They've got many formats that are open for video effects and video effects tool chains and for timelines etc.
And I think that you are actually implementing some of these technologies already. Is that correct?
We for example incorporate open timeline.
It's true that there is an attention of the open software mostly also in Hollywood for example.
So the fact that the company wants to customize their needs so they look for Pixar or Disney, BBC.
So they deliver what they do.
So because they develop in the open source way they deliver so they create standards this way.
That I have a return from them because if everybody adopts their standards they don't control their standards but anyway they create an integration.
So I hope personally that the direction will be that at the time.
And also in a company like Sony that have old mentality. I quote Sony because of very old mentality in my opinion.
They try to close more possible.
They will not stand for the impact of this mentality that is becoming more spread around the industry in my opinion.
There is a question from online. Will you use any collected funds to support some of the upstream projects and infrastructure that you depend on?
Might you be able to get support from video and computer equipment manufacturers?
So yes that's something that we planned. We had contacts with MLT maintainers.
So the video framework that we use to propose them to use some of the funds.
Unfortunately they were not able. They didn't have the time or wish.
Mostly the time or the need for this.
But yes that's something weird because some of the core issues in KdynLIVE are related to our dependencies.
So one of the tasks in the first fundraising was a task that has to be implemented in MLT the video framework.
So yes that's something that we will do.
I think you said that you're working I think 18 years on KdynLIVE now. Is it still fun? Can you keep going?
Yes it's still fun. That keeps me going.
Because the world of video editing really really changed during these 18 years.
So there is always a new thing to try to test. I really enjoy it.
Maybe I can add something most important for him is that he has a team behind who helps him.
I think years ago we had almost burnout doing everything by themselves.
And now he has a team behind who helps him keep away the daily tasks like home page updates.
Stuff like this one. So he can really focus on coding.
We feed him what's needed or what's a bug could be as good as possible that he just can really hack on the code.
And always new challenges to face. A bunch of inputs too.
And I think this is really important that you have a group behind and not a solo guy.
Because this doesn't work over such a long time.
And just we are thinking about team. Of course we are open so everybody wants to help us.
It's welcome in every aspect with packaging, coding, support, testing, using, whatever.
This is an interesting point. Without advertising we have about two or three people coming from outside and ask can I help on this and that.
And we open them and say yes you can help.
A good example is the documentation.
We have a guy now who is heavily writing documentation.
We have other guys like Davy on the background on the Windows side who checks the forum part.
So it's really interesting that you get on a certain stage some help from outside.
People ask you how can I help.
And this is something I think keeping Jean-Pape D'Isle alive.
No more questions I guess.
Thank you very much for the great talk.