1 00:00:00,000 --> 00:00:24,100 Okay, I'm excited to present the first talk of today, which is by Jean-Papiste, Eugène 2 00:00:24,100 --> 00:00:32,800 Eugène and Massimo will tell us about how Kdenlive became the great and awesome video 3 00:00:32,800 --> 00:00:36,300 editor it is today. 4 00:00:36,300 --> 00:00:42,300 Okay, thanks for your welcome. 5 00:00:42,300 --> 00:00:43,700 I am Jean-Papiste Mardel. 6 00:00:43,700 --> 00:00:49,333 I have been the Kdenlive maintainer for the past 18 years and I'm happy to be here with 7 00:00:49,333 --> 00:00:51,566 you at Academy. 8 00:00:51,566 --> 00:00:56,766 Some of you might already know me as I have been on stage a few times already, but it's 9 00:00:56,766 --> 00:01:02,433 the first time I'm not alone on stage, so I have some team members with me, so it makes 10 00:01:02,433 --> 00:01:07,033 me really happy because Kdenlive is really a community and a team project, so it's great 11 00:01:07,033 --> 00:01:09,333 to not be alone on stage. 12 00:01:09,333 --> 00:01:13,033 So I'm just going to quickly introduce you with the team. 13 00:01:13,033 --> 00:01:16,900 We have been mostly having online meetings in the last years. 14 00:01:16,900 --> 00:01:19,633 We hope to be able to make a stream soon. 15 00:01:19,666 --> 00:01:29,833 And the team who couldn't make it today, there is Farid, Julius, Remy and Camille, so I just 16 00:01:29,833 --> 00:01:32,366 want to say hi to them today. 17 00:01:32,366 --> 00:01:37,300 So this is the whole team with Massimo and Eugène. 18 00:01:37,300 --> 00:01:43,433 So I will now let the other members of the team introduce themselves and we'll keep them. 19 00:01:43,433 --> 00:01:44,566 Good morning everyone. 20 00:01:44,566 --> 00:01:45,766 My name is Eugène Moore. 21 00:01:45,766 --> 00:01:49,166 I'm joining the Kdenlive core team in 2018. 22 00:01:49,166 --> 00:01:51,700 I'm mainly behind the scenes. 23 00:01:51,700 --> 00:01:54,266 The coder is Jean-Baptiste Mardel. 24 00:01:54,266 --> 00:02:04,133 I'm more about documentation and bug tracking and the home page and all what is behind the 25 00:02:04,133 --> 00:02:08,333 scenes needed that we can keep Kdenlive alive. 26 00:02:08,333 --> 00:02:09,166 Hello everybody. 27 00:02:09,166 --> 00:02:10,733 I'm Massimo. 28 00:02:10,733 --> 00:02:16,433 I'm a video editor and filmmaker and a consultant of the project. 29 00:02:16,466 --> 00:02:20,300 It's 10 years that I'm on the project and I don't know what to say. 30 00:02:20,300 --> 00:02:25,033 I'm very happy to be here because I'm very fond of this project and of the guy that worked 31 00:02:25,033 --> 00:02:28,166 with us to create what we are doing. 32 00:02:28,166 --> 00:02:33,566 And as we are a video editor application, to me the best way to introduce ourselves is 33 00:02:33,566 --> 00:02:35,333 by showing you a video. 34 00:02:46,433 --> 00:02:58,500 Kdenlive is a community project which aims to deliver a free and open video editing software 35 00:02:58,500 --> 00:03:04,633 application to allow everybody to produce quality content in order to increase the democratization 36 00:03:04,633 --> 00:03:07,066 of the media. 37 00:03:07,066 --> 00:03:13,766 The application is a graphic interface written in C++ with Qt and KDE libraries for the MLT 38 00:03:13,766 --> 00:03:19,133 framework written by Dan Dennity which relies on FFMPEG to decode and encode 39 00:03:19,133 --> 00:03:23,766 almost all the video and audio formats that are out today and which host effects libraries 40 00:03:23,766 --> 00:03:28,733 like Freya and MoveIt for video and Ladspot and Socks for audio. 41 00:03:28,733 --> 00:03:32,466 By following the official documents that we can find on the internet, the project was 42 00:03:32,466 --> 00:03:41,533 launched by Jason Wood who released version 0.2.3 in October 2003. 43 00:03:41,533 --> 00:03:48,233 Soon, Kdenlive 0.2.4 followed, but the community did not yet exist and the group was very small. 44 00:03:48,233 --> 00:03:51,733 The project stopped for two years. 45 00:03:51,733 --> 00:03:57,033 Before the end of 2005, Jean-Baptiste Mardel, who heard that the project would be reactivated, 46 00:03:57,033 --> 00:04:03,366 offered his help and in 2006 he signed the post of the new release 0.3 of the program. 47 00:04:03,366 --> 00:04:10,166 From this moment on, he became the main reference point for the project. 48 00:04:10,166 --> 00:04:14,433 Version 0.4 and 0.5 are soon distributed, but there is an issue. 49 00:04:14,433 --> 00:04:17,233 A refactoring of the code is needed to go forward. 50 00:04:17,233 --> 00:04:22,866 The program has to be moved from KDE 3, which is not compatible with MLT, to KDE 4. 51 00:04:22,866 --> 00:04:28,633 The rewriting ends in 2008 followed by several new releases, but in 2011 a further migration 52 00:04:28,633 --> 00:04:35,633 from KDE 4 to KDE 5 was needed to allow the program to grow. 53 00:04:35,633 --> 00:04:41,066 In 2012, a crowdfunding campaign is launched to fund the operation and before the end of 54 00:04:41,066 --> 00:04:43,066 2014 the goal is reached. 55 00:04:43,066 --> 00:04:48,700 Then finally, in 2015, Kdenlive becomes an official KDE application. 56 00:04:48,700 --> 00:04:53,966 Jean-Baptiste was invited to Academy to present 10 years of activity. 57 00:04:53,966 --> 00:04:58,266 The new perspective is to make the project even bigger. 58 00:04:58,266 --> 00:05:02,066 Before the end of the year, the first Kdenlive cafe is announced with the aim of getting 59 00:05:02,066 --> 00:05:03,566 more people involved. 60 00:05:03,800 --> 00:05:08,200 During this virtual meeting, it immediately became clear that in order to grow, Kdenlive 61 00:05:08,200 --> 00:05:10,433 needed to be cross-platform. 62 00:05:10,433 --> 00:05:14,966 The Windows version was announced and 2016 began with a Sprint meeting followed by the 63 00:05:14,966 --> 00:05:17,033 new logo and the new site. 64 00:05:17,033 --> 00:05:20,966 But as soon as the development of new features started, it was evident that the code for 65 00:05:20,966 --> 00:05:25,633 the timeline had to be rewritten because it was too old and no longer fit. 66 00:05:25,633 --> 00:05:29,600 Everybody knew that the refactoring could take several months or years, but the community 67 00:05:29,600 --> 00:05:32,733 did not lose enthusiasm. 68 00:05:32,733 --> 00:05:39,200 In 2018, a new roadmap was written and in 2019, the refactored code was distributed, 69 00:05:39,200 --> 00:05:42,133 although some fine-tuning was still needed. 70 00:05:42,133 --> 00:05:47,366 Then finally, since 2020 and continuing up to now, the long-awaited new features along 71 00:05:47,366 --> 00:05:52,166 with a plethora of new effects and dozens of important improvements have been continuously 72 00:05:52,166 --> 00:05:57,566 added to create the most powerful, free, and open video editing application ever. 73 00:06:02,733 --> 00:06:14,866 Thank you. 74 00:06:14,866 --> 00:06:24,100 We have about 100,000 users using Kdenlive daily or weekly or frequently. 75 00:06:24,100 --> 00:06:28,333 If you have saw a lot of users, you get a lot of feedback as well. 76 00:06:28,333 --> 00:06:32,933 If the software is running well, you get no feedback. 77 00:06:32,933 --> 00:06:41,233 If we have a release like 23.04, the bell is ringing after 30 seconds, you have issues, 78 00:06:41,233 --> 00:06:47,866 a lot of bugs not usable, so have a lot of user feedback very soon if the software is 79 00:06:47,866 --> 00:06:50,633 not running well. 80 00:06:50,633 --> 00:06:54,433 So how to communicate with all these users? 81 00:06:54,433 --> 00:07:03,533 We try to keep the communication channel as lean or as simple as possible, so we have 82 00:07:03,533 --> 00:07:07,666 the communication channel for notification of the software. 83 00:07:07,666 --> 00:07:11,333 It's our home page. 84 00:07:11,333 --> 00:07:17,433 It's Twitter and Mastodon. 85 00:07:17,433 --> 00:07:22,466 The communication itself with our user, we have these channels. 86 00:07:22,466 --> 00:07:28,666 It's our forum, Discuss . 87 00:07:28,666 --> 00:07:34,166 It's the feedback when something happens or for wishes, it's baktzilla and we have quite 88 00:07:34,166 --> 00:07:40,800 a big community on Reddit that give us feedbacks. 89 00:07:40,800 --> 00:07:46,066 And it's sometimes really a challenge to feed and check all these channels to have some 90 00:07:46,066 --> 00:07:51,400 other cloud feedback to the supplier as well. 91 00:07:51,400 --> 00:07:58,866 So this one keeps about two up to three people really busy behind the scene just to communicate 92 00:07:58,866 --> 00:08:02,133 with the users. 93 00:08:02,133 --> 00:08:03,133 Downloads. 94 00:08:03,133 --> 00:08:05,666 You see here a curve over time. 95 00:08:05,666 --> 00:08:11,666 These are the downloads of Windows and Mac and appimage. 96 00:08:11,666 --> 00:08:15,800 We have a huge peak on the beginning of COVID. 97 00:08:15,800 --> 00:08:21,466 It looks like users like to have some video editing possibilities. 98 00:08:21,466 --> 00:08:29,133 And as you can see, we can keep the amount of downloads or users over time as well. 99 00:08:29,133 --> 00:08:37,966 What you do not see on this curve is there's a similar curve for the unique visits on our 100 00:08:37,966 --> 00:08:39,633 home page. 101 00:08:39,633 --> 00:08:46,666 And we just found out the people going on the home page, looking for the download link, 102 00:08:46,666 --> 00:08:54,666 clicking on that and download the application that leads to us that we refurbished the home 103 00:08:54,666 --> 00:09:00,666 page to make the user easier to find the download page. 104 00:09:00,666 --> 00:09:07,800 What's really interesting, what is missing on this curve is flat back downloads and the 105 00:09:07,800 --> 00:09:09,800 PPA downloads. 106 00:09:09,800 --> 00:09:18,133 And we do not really know as the distribution is via mirror server, we do not know the download 107 00:09:18,133 --> 00:09:21,033 numbers from the mirror servers. 108 00:09:21,033 --> 00:09:23,266 Who is using Caden Live? 109 00:09:23,266 --> 00:09:32,033 Just make an actual poll last week and found out about 40% social media, it's YouTube, 110 00:09:32,033 --> 00:09:34,566 it's peer to TikTok. 111 00:09:34,566 --> 00:09:38,733 I know schools using our software as well. 112 00:09:38,733 --> 00:09:45,866 So I get asked years ago that we can prepare a download version which is possible without 113 00:09:45,866 --> 00:09:47,833 additional software. 114 00:09:47,833 --> 00:09:55,933 So I download the packed Windows version and repack it in a self extraction file so that 115 00:09:55,933 --> 00:10:03,566 the schools do not need additional software installed and do not need administration rights 116 00:10:03,566 --> 00:10:07,833 to install the application. 117 00:10:07,833 --> 00:10:11,833 This gives about 10% of our users. 118 00:10:11,833 --> 00:10:18,133 And interestingly, we have about 7% professional users, I think. 119 00:10:18,133 --> 00:10:22,666 It's wedding, editing, most probably. 120 00:10:22,666 --> 00:10:26,966 Some TV we know, some movies we know as well. 121 00:10:26,966 --> 00:10:38,066 And then the majority only up to 45% is personal use, doing their vacation, holidays, editing 122 00:10:38,066 --> 00:10:39,600 like this one. 123 00:10:39,600 --> 00:10:49,666 And then the platforms used with Kdenlive, mostly Windows, Linux, and a growing community 124 00:10:49,666 --> 00:10:56,033 on Mac OS, we have about 5,000 Mac OS downloads. 125 00:10:56,033 --> 00:11:04,066 On the Mac OS, it works only on the Linux CPU at the moment. 126 00:11:04,633 --> 00:11:10,800 With such a community, you give a lot of feedback and you get interesting feedbacks as well 127 00:11:10,800 --> 00:11:16,633 from the user when you're listening to it, remember the YouTube part we have. 128 00:11:16,633 --> 00:11:20,333 So the community asks about subtitles. 129 00:11:20,333 --> 00:11:26,400 The community asks about markers, that they can mark the video to get the chapters in 130 00:11:26,400 --> 00:11:27,800 YouTube. 131 00:11:27,800 --> 00:11:35,533 So we investigate and found out there is a framework VOSK, which can generate text from 132 00:11:35,533 --> 00:11:41,333 speech and can generate automatically subtitles. 133 00:11:41,333 --> 00:11:48,266 And even you have the possibility then going in the text field, click on the text and the 134 00:11:48,266 --> 00:11:52,133 playhead jumps on the exactly same position. 135 00:11:52,133 --> 00:11:55,366 Yeah, subtitle generation. 136 00:11:55,400 --> 00:11:59,933 And even we improved that one, founding another thing lately is whisper. 137 00:11:59,933 --> 00:12:01,933 It's really crazy. 138 00:12:01,933 --> 00:12:09,200 This founds the notation of a sentence, the punctuation, and it's really more accurate 139 00:12:09,200 --> 00:12:12,333 than FOSC, I would say translation. 140 00:12:12,333 --> 00:12:21,333 And even you can make a translation to English and it's about 90, 95% accurate in the meantime. 141 00:12:21,366 --> 00:12:26,666 So people coming and asking how to donate to Caden CaneLife. 142 00:12:26,666 --> 00:12:29,533 There was a lot of asks from the community. 143 00:12:29,533 --> 00:12:35,066 They do not like to donate in a big pot, KDE. 144 00:12:35,066 --> 00:12:41,000 They like to spend their money directly to Caden CaneLife. 145 00:12:41,000 --> 00:12:51,066 So we go to the KDE headers, I don't know. 146 00:12:51,066 --> 00:13:02,966 And KDE starts a pilot project with Caden CaneLife that users can donate directly to 147 00:13:02,966 --> 00:13:05,066 Caden Life. 148 00:13:05,066 --> 00:13:17,633 We started this donation on the 20th of September 2022 and reached our goal within a month, 149 00:13:17,633 --> 00:13:21,966 meaning we collect 15,000 euros within a month. 150 00:13:21,966 --> 00:13:24,233 It's absolutely crazy. 151 00:13:24,233 --> 00:13:25,233 It just went up. 152 00:13:25,233 --> 00:13:31,166 I made a forecast by myself and my forecast say, yeah, within a month we should reach 153 00:13:31,166 --> 00:13:32,166 the goal. 154 00:13:32,166 --> 00:13:37,233 In the meantime, it's about 27,000 I heard yesterday because it runs in the background 155 00:13:37,233 --> 00:13:42,933 further on without some additional needs, let's say. 156 00:13:42,933 --> 00:13:49,966 This gives us the possibility to implement really bigger features like the nested timeline, 157 00:13:49,966 --> 00:13:52,066 which Shop Baptist will talk about. 158 00:13:52,066 --> 00:14:01,566 We can now work on stability and we will work on performance as well to make the software 159 00:14:01,566 --> 00:14:03,233 even more performant. 160 00:14:03,233 --> 00:14:05,366 Yeah, documentation. 161 00:14:05,366 --> 00:14:12,000 First, we thought documentation, secondary thing. 162 00:14:12,066 --> 00:14:13,266 It's not so important. 163 00:14:13,266 --> 00:14:20,666 It's still just our time because it's a huge amount to spend just within documentation. 164 00:14:20,666 --> 00:14:28,466 And we checked the statistics and found out we have 3,500 views per week on the documentation 165 00:14:28,466 --> 00:14:30,233 itself. 166 00:14:30,233 --> 00:14:34,666 And then we can further down analyze the statistics. 167 00:14:34,666 --> 00:14:37,000 We found out a third. 168 00:14:37,000 --> 00:14:45,200 It's only checking out the effect part and another third checks only out getting started. 169 00:14:45,200 --> 00:14:51,666 The interesting thing is the people stay one up to one and a half minutes on the page itself, 170 00:14:51,666 --> 00:14:57,133 which is for internet, let's say, really, really long. 171 00:14:57,133 --> 00:15:07,433 We calculated that roughly 10 up to 15% of our users use our new documentation manual. 172 00:15:07,433 --> 00:15:14,433 And at the moment, we are ongoing with updating the whole effects part that the user has a 173 00:15:14,433 --> 00:15:20,800 better overview of effects, what they are doing, how to implement these effects. 174 00:15:20,800 --> 00:15:27,433 And with this new possibility here in Sphinx, it's really nice. 175 00:15:27,433 --> 00:15:33,633 You can put in some keywords and have really a list where these keywords are found in the 176 00:15:33,633 --> 00:15:35,066 documentation. 177 00:15:35,066 --> 00:15:39,600 It's much more easier than with the old system. 178 00:15:39,600 --> 00:15:43,333 Yeah, copyright. 179 00:15:43,333 --> 00:15:50,366 This is a bit of weak part of Kden life, let's say, because the more users you have, you 180 00:15:50,400 --> 00:15:58,000 have 100,000, maybe even more, they start stealing Kden life, meaning Google advertisements, 181 00:15:58,000 --> 00:16:05,800 links to other software, we have such cases, or just take the name and behind is just the 182 00:16:05,800 --> 00:16:08,566 money collector, something like this one. 183 00:16:08,566 --> 00:16:16,000 So we start protecting Kden life as good as possible. 184 00:16:16,000 --> 00:16:22,800 We have a logo and the name is copyright on the KDE at the moment. 185 00:16:22,800 --> 00:16:30,366 And we going on and having the source code, each file with a copyright, an SPDX copyright 186 00:16:30,366 --> 00:16:41,366 and make really sure we protect our work, our 20-year long work now with proper copyright, 187 00:16:41,366 --> 00:16:43,733 which is really tricky. 188 00:16:43,733 --> 00:16:50,733 The goal is to keep Kden life free without cost for the future. 189 00:16:50,733 --> 00:16:51,733 Thank you. 190 00:17:13,733 --> 00:17:22,599 Now, what makes Kden life so successful? 191 00:17:22,599 --> 00:17:31,033 One thing that I think is very important for Kden life success is that we have a vision 192 00:17:31,033 --> 00:17:32,166 for the project. 193 00:17:32,166 --> 00:17:38,933 This is where Massimo, he will talk a bit later about it, has a very important role 194 00:17:38,933 --> 00:17:45,166 because we have a focused vision of what we want to achieve, what we want users to 195 00:17:45,166 --> 00:17:48,366 be able to do for Kden life. 196 00:17:48,366 --> 00:17:53,400 I think it's an important part to have a vision for the project. 197 00:17:53,400 --> 00:17:55,600 We also try to listen to our users. 198 00:17:55,600 --> 00:17:59,066 So the two things are linked. 199 00:17:59,066 --> 00:18:04,400 I think it's important to have an idea of where we want to go, but also to listen to 200 00:18:04,400 --> 00:18:09,400 user input and to do the best of the two things. 201 00:18:09,400 --> 00:18:15,366 And also at one point we also realized that doing too much things was not good. 202 00:18:15,366 --> 00:18:23,200 At one point we had a video capture, we had a DVD result, we had a stop motion widget. 203 00:18:23,200 --> 00:18:29,200 So we had lots of features, but everything was working not so good. 204 00:18:29,200 --> 00:18:35,866 So we tried at some point a few years ago, we really decided to refocus, to have less 205 00:18:35,866 --> 00:18:39,666 features but to try to make them work better. 206 00:18:39,666 --> 00:18:48,533 I think that's one important thing also in the project evolution. 207 00:18:48,533 --> 00:18:51,666 Now the things that we don't do so well. 208 00:18:51,666 --> 00:18:58,466 It was really quite, the last release, 2003-2004, was a good demonstration of what we don't 209 00:18:58,466 --> 00:18:59,766 do so well. 210 00:18:59,766 --> 00:19:02,533 So we'll try to improve. 211 00:19:02,533 --> 00:19:03,533 Automatic testing. 212 00:19:03,533 --> 00:19:10,066 We have some automated testing since a few years, but we need to improve, to increase 213 00:19:10,066 --> 00:19:14,066 the testing. 214 00:19:14,066 --> 00:19:21,466 We also, since a few years, we talk about organizing test days before the release, because 215 00:19:21,466 --> 00:19:27,200 we have a large user community to organize test days, to gather feedback before the release. 216 00:19:27,200 --> 00:19:32,066 So it's something that we never really managed to do. 217 00:19:32,066 --> 00:19:37,566 Another issue that we have is that Kdenlive is a big project with many, many dependencies. 218 00:19:37,566 --> 00:19:44,533 So we depend on MLT as a video engine, which itself depends on FFmpeg, OpenCV, Fryo, and 219 00:19:44,533 --> 00:19:46,133 tons of other projects. 220 00:19:46,133 --> 00:19:53,366 So if one thing changes in our dependency, it can affect the whole application. 221 00:19:53,366 --> 00:20:00,933 So if, for example, a default parameter for an effect changes, then when we open Kdenlive, 222 00:20:00,933 --> 00:20:02,400 this can lead to a change. 223 00:20:02,400 --> 00:20:08,733 This is something that we cannot detect in our testing. 224 00:20:08,733 --> 00:20:14,133 So we have plans to improve. 225 00:20:14,133 --> 00:20:21,233 One thing that we want to do is continue improving our current test base. 226 00:20:21,233 --> 00:20:26,333 Another thing to prevent this issue with dependencies affecting our application is 227 00:20:26,333 --> 00:20:28,633 to have a rendering test suite. 228 00:20:28,633 --> 00:20:32,533 That's something that we started to work on. 229 00:20:32,533 --> 00:20:38,733 It means that we have automated scripts that open a project, render the video file, and 230 00:20:38,733 --> 00:20:41,133 compare it to a reference rendering. 231 00:20:41,133 --> 00:20:49,066 And this way, we can detect if anything changes in our dependencies that affects the rendering, 232 00:20:49,066 --> 00:20:52,966 this will be detected by this test suite. 233 00:20:52,966 --> 00:20:57,733 So this is a project that we want to definitely implement before the end of the year that 234 00:20:57,733 --> 00:21:04,233 will also bring a better regression testing. 235 00:21:04,233 --> 00:21:10,166 Because that's also one thing with increase in popularity. 236 00:21:10,166 --> 00:21:16,266 We have lots of users, and also the expectations are a bit higher, so we just can't keep breaking 237 00:21:16,266 --> 00:21:18,033 everything on each release. 238 00:21:18,033 --> 00:21:28,366 So we're really trying to go in a more professional way and have better testing, regression testing. 239 00:21:28,366 --> 00:21:35,933 Another thing that we want to explore is something that will be talked at Academy is UI testing 240 00:21:35,933 --> 00:21:37,633 with Selenium. 241 00:21:37,633 --> 00:21:41,600 This is something that we don't do at all, but I think it's also an interesting approach 242 00:21:41,600 --> 00:21:47,400 because this is something that we absolutely don't test and some parts of the UI would 243 00:21:47,400 --> 00:21:54,533 really need to be tested. 244 00:21:54,533 --> 00:21:56,933 So now what changed over the years? 245 00:21:56,933 --> 00:22:01,566 So I already talked about the popularity of the software. 246 00:22:01,566 --> 00:22:07,866 Another thing is that before, ten years ago, we only had Linux versions, so packaging was 247 00:22:07,866 --> 00:22:08,866 very easy. 248 00:22:08,866 --> 00:22:14,400 We just prepared an archive of the file and we let distributions do the work. 249 00:22:14,400 --> 00:22:17,133 Now we provide packages for many platforms. 250 00:22:17,133 --> 00:22:26,233 We have Windows, Mac, AppImage, Flatpak, PPE, Snaps, and a few more. 251 00:22:26,233 --> 00:22:31,533 So it's a huge job to do this packaging. 252 00:22:31,533 --> 00:22:33,600 This is something that really changed over the years. 253 00:22:33,600 --> 00:22:38,633 I think it has some, of course, some really nice advantages. 254 00:22:38,633 --> 00:22:46,200 It brings our code faster to the users, so we can also react faster to the feedback. 255 00:22:46,200 --> 00:22:49,366 But the problem is that it's a lot of work. 256 00:22:49,366 --> 00:22:54,200 We have some, we use the KDE tools to build these packages. 257 00:22:54,200 --> 00:22:59,733 We use Craft and we have support from KDE people on KDE infrastructure, but still for 258 00:22:59,733 --> 00:23:07,500 a small team like we are, it is a huge work that is not, that we can't do as well as we 259 00:23:07,500 --> 00:23:08,500 would like. 260 00:23:08,533 --> 00:23:10,533 So this is still an issue. 261 00:23:10,533 --> 00:23:12,533 But yeah. 262 00:23:15,533 --> 00:23:19,533 Another thing that changed over the years is us, the team. 263 00:23:23,533 --> 00:23:30,533 We decided also a few years ago that we wanted to go outside of our bubble, of our Linux 264 00:23:30,533 --> 00:23:35,533 users' bubbles, to grow, to have Windows versions, Mac OS versions. 265 00:23:35,566 --> 00:23:39,566 I think it's important for software if we want to grow. 266 00:23:41,566 --> 00:23:44,566 But the problem is that we are a small team. 267 00:23:44,566 --> 00:23:51,566 Life also makes that, for example, I have a job, now I have a kid, so I have a bit less 268 00:23:51,566 --> 00:23:52,566 time. 269 00:23:52,566 --> 00:23:58,566 So we had to somehow find ways to make sure that KDE Live can keep growing. 270 00:23:58,633 --> 00:24:03,633 So we launched a fundraiser. 271 00:24:06,633 --> 00:24:12,633 The idea behind the fundraiser was also that I had the opportunity to reduce my time at 272 00:24:12,633 --> 00:24:14,633 my day job. 273 00:24:14,633 --> 00:24:19,633 Currently I have one day per week that I can spend on KDE Live, so it's not so much to 274 00:24:19,633 --> 00:24:21,633 maintain such a huge project. 275 00:24:21,633 --> 00:24:27,633 And I had the opportunity to lower, and the goal is to have two days per week for KDE 276 00:24:27,666 --> 00:24:28,666 Live. 277 00:24:28,666 --> 00:24:31,666 So we launched this fundraiser, fantastic fundraiser. 278 00:24:31,666 --> 00:24:35,666 It was very successful, as Eugene said. 279 00:24:35,666 --> 00:24:42,666 We collected money, and yes, as it was also mentioned yesterday, we have not yet spent 280 00:24:42,666 --> 00:24:43,666 any money. 281 00:24:43,666 --> 00:24:47,666 So why is this? 282 00:24:47,666 --> 00:24:54,666 As I said, I had the opportunity to lower my day job, but it takes some time, so I hoped 283 00:24:55,666 --> 00:24:59,666 I could just switch like this, but it takes some more time. 284 00:24:59,666 --> 00:25:05,666 So the idea is really that this money will be used when I have some extra time. 285 00:25:05,666 --> 00:25:12,666 We also want to hire a few people, maybe for some dedicated tasks, but that's something 286 00:25:14,666 --> 00:25:19,666 also that we're not very sure how to manage the hiring. 287 00:25:19,666 --> 00:25:26,666 So all these things take some time, and since managing KDE Live is already a big, huge thing, 288 00:25:26,666 --> 00:25:32,666 so things take more time than we planned or than we would like. 289 00:25:32,666 --> 00:25:37,666 And now it's demo time. 290 00:25:37,666 --> 00:25:45,666 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. 291 00:25:45,666 --> 00:25:48,666 So Massimo can come. 292 00:25:48,666 --> 00:25:53,666 He's going to demonstrate a few features that we can do with the new version of the app. 293 00:25:53,666 --> 00:25:57,666 So we have a demo, and we have a demo. 294 00:25:57,666 --> 00:26:03,666 So Massimo can come. He's going to demonstrate a few features that were recently implemented, 295 00:26:03,666 --> 00:26:09,666 like a nested timeline that caused a lot of regressions, but we are working on it to fix it, 296 00:26:09,666 --> 00:26:14,666 and it has some nice advantages, and also speech-to-text. 297 00:26:17,666 --> 00:26:23,666 Thank you for switching. Now I can use this one because it's not become too realistic. 298 00:26:23,666 --> 00:26:31,666 Okay, so we load here our video that we just watched before. 299 00:26:31,666 --> 00:26:38,666 So we can scroll it, and we can have the first timeline already load here in this space. 300 00:26:38,666 --> 00:26:45,666 So for example, we can decide that we want to edit in our space, for example, this animation. 301 00:26:45,666 --> 00:26:49,666 So we start from the first frame. We play it, maybe faster. 302 00:26:49,666 --> 00:26:55,666 So we go back, and we select the in-out point. 303 00:26:55,666 --> 00:27:00,666 Who knows already how to work the program, knows what I'm doing, so I set where I want to start 304 00:27:00,666 --> 00:27:09,666 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. 305 00:27:09,666 --> 00:27:15,666 So I can select another point, for example, could be the conclusion, for example, of our video. 306 00:27:15,666 --> 00:27:21,666 Starting from, for example, from here, and go to the end. 307 00:27:21,666 --> 00:27:28,666 I just do it, I set the in-point here, and for example, we stop here. 308 00:27:28,666 --> 00:27:33,666 So now we have a first timeline with our two clips. 309 00:27:33,666 --> 00:27:39,666 Now I create, for example, another timeline in our sequence folder. 310 00:27:39,666 --> 00:27:43,666 This is to create a new sequence. 311 00:27:43,666 --> 00:27:51,666 So we can select with the title of the sequence, the number of video tracks, the number of audio tracks following our needs. 312 00:27:51,666 --> 00:27:55,666 We create a new timeline, and we can see we have two tabs here. 313 00:27:55,666 --> 00:27:57,666 We can switch from one to the other. 314 00:27:57,666 --> 00:28:05,666 For example, we load again our, oh, sorry, we load again, see, we have one and two. 315 00:28:05,666 --> 00:28:14,666 We load again our clip, and for example, we can decide that now we need the beginning of the video. 316 00:28:14,666 --> 00:28:24,666 And so we set the in-point on the beginning of our animation here, for example, up to the title. 317 00:28:24,666 --> 00:28:32,666 And then we can, for example, select, I don't know, when we speak about academy. 318 00:28:32,666 --> 00:28:35,666 Okay, we are academy, so, well, we don't speak about academy. 319 00:28:35,666 --> 00:28:40,666 So we select the part, oh, first I have to insert the part I selected. 320 00:28:40,666 --> 00:28:44,666 Then I go here. 321 00:28:44,666 --> 00:28:49,666 I select all the situation about academy. 322 00:28:49,666 --> 00:28:51,666 Done. 323 00:28:52,666 --> 00:29:00,666 Now what we have, we have actually two different timelines, but not just two different timelines, also two different clips. 324 00:29:00,666 --> 00:29:09,666 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. 325 00:29:09,666 --> 00:29:16,666 And with this second clip that is, as I show you, contain exactly the part we decide to have. 326 00:29:17,666 --> 00:29:18,666 What can do now? 327 00:29:18,666 --> 00:29:28,666 We can, for example, add the sequence one inside the sequence two, for example, so we now have more the other part. 328 00:29:28,666 --> 00:29:38,666 Or maybe we can even create another third sequence where we can, of course, we decide the title. 329 00:29:38,666 --> 00:29:46,666 Where we can put, for example, our sequence altogether, have another sequence. 330 00:29:47,666 --> 00:29:52,666 I don't know why I didn't take the audio two or the sequence one. 331 00:29:52,666 --> 00:29:54,666 We do it. 332 00:29:54,666 --> 00:29:55,666 Okay. 333 00:29:55,666 --> 00:29:59,666 And now we have both the clip. 334 00:29:59,666 --> 00:30:05,666 Of course, we can trim it, we can sleep, for example, I can click and trim that one. 335 00:30:05,666 --> 00:30:06,666 I can reverse it. 336 00:30:06,666 --> 00:30:12,666 They work exactly like with this keyboard. 337 00:30:12,666 --> 00:30:13,666 Okay. 338 00:30:13,666 --> 00:30:15,666 Can do. 339 00:30:15,666 --> 00:30:17,666 I don't know what I did here. 340 00:30:18,666 --> 00:30:19,666 Oh. 341 00:30:20,666 --> 00:30:21,666 Okay. 342 00:30:21,666 --> 00:30:22,666 I lost myself. 343 00:30:22,666 --> 00:30:28,666 Anyway, I can trim and refine the trimming of the clip and so on. 344 00:30:28,666 --> 00:30:30,666 So what is needed in this system? 345 00:30:30,666 --> 00:30:40,666 This system, for example, if you have several footage for a project, for example, that is the same footage that you share for different... 346 00:30:40,666 --> 00:30:51,666 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. 347 00:30:51,666 --> 00:30:56,666 And then you can export each timeline differently, separately in another video. 348 00:30:56,666 --> 00:31:01,666 And you can recycle any part from a video to another video. 349 00:31:01,666 --> 00:31:06,666 For example, you've created a timeline with a main title of something. 350 00:31:06,666 --> 00:31:10,666 You can reuse the main title in other series without redoing all the time. 351 00:31:10,666 --> 00:31:14,666 So by just using the same piece of timeline in the other timeline. 352 00:31:14,666 --> 00:31:20,666 Another stuff I want to show you is the subtitle we speak about before. 353 00:31:20,666 --> 00:31:24,666 So we create another timeline at this point just to have a free space. 354 00:31:24,666 --> 00:31:33,666 And we take a piece of our video, for example, when we speak about... 355 00:31:33,666 --> 00:31:34,666 I have no audio here now. 356 00:31:34,666 --> 00:31:35,666 Okay. 357 00:31:35,666 --> 00:31:41,666 I go blind so I don't know what we are selecting because we're speaking about subtitle. 358 00:31:41,666 --> 00:31:44,666 We should listen a little bit of audio but it's okay. 359 00:31:44,666 --> 00:31:51,666 So just to make a very short test, we have this clip here. 360 00:31:52,666 --> 00:31:54,666 So in our point... 361 00:31:54,666 --> 00:31:59,666 Oh, what I'm doing. 362 00:31:59,666 --> 00:32:02,666 Okay. 363 00:32:02,666 --> 00:32:06,666 So we open the subtitle track that is here. 364 00:32:06,666 --> 00:32:11,666 We click on our magic wand and send. 365 00:32:11,666 --> 00:32:13,666 We can timeline zone. 366 00:32:13,666 --> 00:32:16,666 As you can see, there is the VOSC model or the model we can select here. 367 00:32:16,666 --> 00:32:19,666 Now we have VOSC activated. 368 00:32:19,666 --> 00:32:22,666 So the selected clip, the timeline zone. 369 00:32:22,666 --> 00:32:28,666 And we can proceed on the subtitle generation. 370 00:32:28,666 --> 00:32:30,666 So in this moment... 371 00:32:30,666 --> 00:32:33,666 Okay. 372 00:32:33,666 --> 00:32:39,666 We have just this table because it's what I selected. 373 00:32:39,666 --> 00:32:46,666 We will show it if we have more time, more clip, bigger clip. 374 00:32:46,666 --> 00:32:53,666 We have all the synchronized part of the subtitle that can be moved, can be resized, can be copied, 375 00:32:53,666 --> 00:32:55,666 and can be also edited in this part. 376 00:32:55,666 --> 00:33:02,666 Also the text could be changed in this area with the custom text, change the font, change the position, change the color. 377 00:33:02,666 --> 00:33:05,666 It depends what you want to do. 378 00:33:05,666 --> 00:33:08,666 This automatic subtitle is the same system. 379 00:33:08,666 --> 00:33:10,666 It can work by using the clip here. 380 00:33:10,666 --> 00:33:13,666 We have the text editor as though we can say it before. 381 00:33:13,666 --> 00:33:15,666 And then by using the... 382 00:33:15,666 --> 00:33:16,666 For example, we have an interview. 383 00:33:16,666 --> 00:33:21,666 We can extract the text and edit the interview by just using the text. 384 00:33:21,666 --> 00:33:28,666 And so we can export the edited final interview based on the section of the text we have liked 385 00:33:28,666 --> 00:33:31,666 and by dumping the rest of the text we don't need. 386 00:33:31,666 --> 00:33:33,666 What we... 387 00:33:33,666 --> 00:33:36,666 Somebody speak about the vision of the future or the vision of the project. 388 00:33:36,666 --> 00:33:40,666 The vision of the project comes from the idea that from one side we listen to the users 389 00:33:40,666 --> 00:33:42,666 because they use the community. 390 00:33:42,666 --> 00:33:47,666 They use it maybe have some ideas that maybe very... 391 00:33:47,666 --> 00:33:53,666 The idea that we never had, very intelligent, so we collect all the input that comes from the community 392 00:33:53,666 --> 00:33:55,666 that make the software stronger. 393 00:33:55,666 --> 00:34:01,666 We know, I'm sure, that even probably software is a spite to us 394 00:34:01,666 --> 00:34:07,666 because I saw in some software some features that doesn't exist before that we introduce first. 395 00:34:07,666 --> 00:34:09,666 So they are watching us. 396 00:34:09,666 --> 00:34:14,666 And from the other side we have also the experience that people like me that work in the field 397 00:34:14,666 --> 00:34:19,666 so they are in contact all the time with the software or big corporation software. 398 00:34:19,666 --> 00:34:27,666 So what the editor needs on the field in the company that uses software. 399 00:34:27,666 --> 00:34:29,666 So we try to make like... 400 00:34:29,666 --> 00:34:36,666 Take best practice with the round to introduce in our software to make it the best possible, the best. 401 00:34:36,666 --> 00:34:43,666 So this idea to implement the best practice that video editing needs is our vision. 402 00:34:43,666 --> 00:34:51,666 And for the future we have to finish between the end of the year what the donators aim to have. 403 00:34:51,666 --> 00:34:58,666 They ask to us so we are in the road to reach before the end of the year the goal 404 00:34:58,666 --> 00:35:03,666 with the decor we will do. 405 00:35:03,666 --> 00:35:10,666 And for the next year we think that we will go forward with insert some AI tools 406 00:35:10,666 --> 00:35:14,666 and mostly collaborating space online to... 407 00:35:14,666 --> 00:35:15,666 I finished. 408 00:35:15,666 --> 00:35:21,666 The collaborative space to make a collaborative job between editors around the world to make it. 409 00:35:21,666 --> 00:35:25,666 So if you want to proceed with question. 410 00:35:25,666 --> 00:35:27,666 Yeah, careful questions. 411 00:35:33,666 --> 00:35:35,666 Thank you. 412 00:36:03,666 --> 00:36:13,666 Most of all major companies that make cameras have proprietary formats that are not just supported on Linux. 413 00:36:13,666 --> 00:36:17,666 It doesn't work. 414 00:36:17,666 --> 00:36:24,666 It won't work and there is absolutely no documentation to start building the infrastructure 415 00:36:24,666 --> 00:36:31,666 so you can use formats such as like red cinemas, digital cameras that take raw footage. 416 00:36:31,666 --> 00:36:34,666 Sony has another format. 417 00:36:34,666 --> 00:36:36,666 Apple is famous for their products. 418 00:36:36,666 --> 00:36:43,666 There is no support for that and those companies are doing nothing to open source the standard so we can have support. 419 00:36:43,666 --> 00:36:47,666 So like where do you see that professional? How can we fix that? 420 00:36:47,666 --> 00:36:49,666 I go or you go. 421 00:36:49,666 --> 00:36:51,666 You can start. 422 00:36:51,666 --> 00:36:53,666 My... 423 00:36:53,666 --> 00:36:59,666 There is a problem about that because this company tried to close more possible 424 00:36:59,666 --> 00:37:02,666 but they have also arrangement with other companies that provide software. 425 00:37:02,666 --> 00:37:10,666 So if you buy sometimes some tools you have to finish to work on some specific platform. 426 00:37:10,666 --> 00:37:14,666 This is actually not something that professional like too much. 427 00:37:14,666 --> 00:37:22,666 Some like because I have old mentality like they don't think about opening most closed. 428 00:37:22,666 --> 00:37:28,666 So I buy something that works like I buy a fridge, a freezer so it has to work this way. 429 00:37:28,666 --> 00:37:34,666 But a lot of people, mostly the younger don't think this way anymore. 430 00:37:34,666 --> 00:37:41,666 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. 431 00:37:41,666 --> 00:37:44,666 No, I want to use my software. 432 00:37:44,666 --> 00:37:54,666 And it's always actually a formal scam because actually at the end of the day the codec are always same. 433 00:37:54,666 --> 00:37:58,666 Mostly they contain specification with containers that are closed property stuff. 434 00:37:58,666 --> 00:38:04,666 What is inside the container because video files are made by containers so the caps that contain the stream 435 00:38:04,666 --> 00:38:10,666 and the stream that is encoded by MPEG or whatever it is or iframe etc. 436 00:38:10,666 --> 00:38:17,666 So mostly they use the same way to compress the stream so that the codec is existing codec 437 00:38:17,666 --> 00:38:23,666 but maybe they try to have different caps to the entire container to close. 438 00:38:23,666 --> 00:38:27,666 But I see that at the end of the day for example, 439 00:38:27,666 --> 00:38:31,666 FMPEG is able at the end of the day to work around the problem. 440 00:38:31,666 --> 00:38:36,666 There is some problem of patents of course of copyright around this stuff. 441 00:38:36,666 --> 00:38:46,666 But overall so far I was able to manage to use almost every stream I found. 442 00:38:46,666 --> 00:38:49,666 In the words of the option you have to convert. 443 00:38:49,666 --> 00:38:55,666 But this happened also in Avid before, the software that sometimes you have to make conversion to match the specific software. 444 00:38:55,666 --> 00:38:58,666 So nothing is changed for real. 445 00:38:58,666 --> 00:39:00,666 So it's a challenge of course. 446 00:39:00,666 --> 00:39:08,666 And we have to be open to new formats that change all the time also because new compression, new way to broadcast etc. 447 00:39:08,666 --> 00:39:10,666 I asked demand to be. 448 00:39:10,666 --> 00:39:19,666 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. 449 00:39:19,666 --> 00:39:26,666 Maybe one thing also that we should improve and do more is that we have already a small presence in schools 450 00:39:26,666 --> 00:39:29,666 but we really should do more. 451 00:39:29,666 --> 00:39:36,666 Also we had a standard All-American Film Festival at the beginning of this year. 452 00:39:36,666 --> 00:39:44,666 So making also students aware of these issues I think is something that will help in this field. 453 00:39:53,666 --> 00:39:54,666 Thanks. 454 00:39:54,666 --> 00:40:04,666 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. 455 00:40:04,666 --> 00:40:10,666 That tries to open source, tries to get industry companies to open source as much as possible. 456 00:40:10,666 --> 00:40:12,666 And they are quite successful. 457 00:40:12,666 --> 00:40:20,666 They've got many formats that are open for video effects and video effects tool chains and for timelines etc. 458 00:40:20,666 --> 00:40:26,666 And I think that you are actually implementing some of these technologies already. Is that correct? 459 00:40:30,666 --> 00:40:32,666 We for example incorporate open timeline. 460 00:40:32,666 --> 00:40:40,666 It's true that there is an attention of the open software mostly also in Hollywood for example. 461 00:40:40,666 --> 00:40:48,666 So the fact that the company wants to customize their needs so they look for Pixar or Disney, BBC. 462 00:40:48,666 --> 00:40:51,666 So they deliver what they do. 463 00:40:51,666 --> 00:40:59,666 So because they develop in the open source way they deliver so they create standards this way. 464 00:40:59,666 --> 00:41:07,666 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. 465 00:41:07,666 --> 00:41:12,666 So I hope personally that the direction will be that at the time. 466 00:41:12,666 --> 00:41:18,666 And also in a company like Sony that have old mentality. I quote Sony because of very old mentality in my opinion. 467 00:41:18,666 --> 00:41:20,666 They try to close more possible. 468 00:41:20,666 --> 00:41:31,666 They will not stand for the impact of this mentality that is becoming more spread around the industry in my opinion. 469 00:41:31,666 --> 00:41:48,666 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? 470 00:41:48,666 --> 00:41:53,666 Might you be able to get support from video and computer equipment manufacturers? 471 00:41:53,666 --> 00:42:06,666 So yes that's something that we planned. We had contacts with MLT maintainers. 472 00:42:06,666 --> 00:42:12,666 So the video framework that we use to propose them to use some of the funds. 473 00:42:12,666 --> 00:42:18,666 Unfortunately they were not able. They didn't have the time or wish. 474 00:42:18,666 --> 00:42:21,666 Mostly the time or the need for this. 475 00:42:21,666 --> 00:42:28,666 But yes that's something weird because some of the core issues in KdynLIVE are related to our dependencies. 476 00:42:28,666 --> 00:42:36,666 So one of the tasks in the first fundraising was a task that has to be implemented in MLT the video framework. 477 00:42:36,666 --> 00:42:39,666 So yes that's something that we will do. 478 00:42:39,666 --> 00:42:48,666 I think you said that you're working I think 18 years on KdynLIVE now. Is it still fun? Can you keep going? 479 00:42:49,666 --> 00:42:53,666 Yes it's still fun. That keeps me going. 480 00:42:53,666 --> 00:43:02,666 Because the world of video editing really really changed during these 18 years. 481 00:43:02,666 --> 00:43:08,666 So there is always a new thing to try to test. I really enjoy it. 482 00:43:08,666 --> 00:43:16,666 Maybe I can add something most important for him is that he has a team behind who helps him. 483 00:43:16,666 --> 00:43:22,666 I think years ago we had almost burnout doing everything by themselves. 484 00:43:22,666 --> 00:43:30,666 And now he has a team behind who helps him keep away the daily tasks like home page updates. 485 00:43:30,666 --> 00:43:34,666 Stuff like this one. So he can really focus on coding. 486 00:43:34,666 --> 00:43:43,666 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. 487 00:43:43,666 --> 00:43:48,666 And always new challenges to face. A bunch of inputs too. 488 00:43:48,666 --> 00:43:55,666 And I think this is really important that you have a group behind and not a solo guy. 489 00:43:55,666 --> 00:43:59,666 Because this doesn't work over such a long time. 490 00:43:59,666 --> 00:44:05,666 And just we are thinking about team. Of course we are open so everybody wants to help us. 491 00:44:05,666 --> 00:44:12,666 It's welcome in every aspect with packaging, coding, support, testing, using, whatever. 492 00:44:12,666 --> 00:44:26,666 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. 493 00:44:26,666 --> 00:44:29,666 And we open them and say yes you can help. 494 00:44:30,666 --> 00:44:33,666 A good example is the documentation. 495 00:44:33,666 --> 00:44:38,666 We have a guy now who is heavily writing documentation. 496 00:44:38,666 --> 00:44:46,666 We have other guys like Davy on the background on the Windows side who checks the forum part. 497 00:44:46,666 --> 00:44:52,666 So it's really interesting that you get on a certain stage some help from outside. 498 00:44:52,666 --> 00:44:56,666 People ask you how can I help. 499 00:44:56,666 --> 00:45:02,666 And this is something I think keeping Jean-Pape D'Isle alive. 500 00:45:05,666 --> 00:45:07,666 No more questions I guess. 501 00:45:07,666 --> 00:45:10,666 Thank you very much for the great talk.