 Hey, I'm Anfa. As you might know, I make electronic music with free and open source software as well as I teach my craft through videos. This video, however, is not about music production. Instead, I want to talk about the landscape of open source non-linear video editors. Oh boy. First off, if I have ever recommended Keaton Live as a professional video editor to you, I was deeply mistaken and I am sorry. The majority of this video is going to be a sad truth about how bad the situation is. But in the end, I have a glimpse of light to share, so it's not all darkness. Brace yourselves! Also, I am not saying anything to disrespect or belittle the developers or users of any mentioned software. We all are doing the best we can. Sometimes it's just not objectively good. I will share some ideas for improvement and I believe that the current situation can be changed. Otherwise, I wouldn't be making this video. Just to bitch about it. Also, if you expect the music tutorial, I am sorry to disappoint you. But to make these videos, I need good video editing software and that's hard. Okay, having that out of the way, let me say a bit about my personal history with the subject of making videos. Where do I come from? I've started making videos quite a few years ago with Blender's video sequence editor. I didn't go with Keaton Live at the time because I couldn't get it to work for longer than a few minutes without crashing. Same was true for OpenShot, PTV and anything else I tried. Blender was the only option that didn't crash constantly on my system and hardware at the time, which admittedly wasn't amazing. A few years later, after releasing a particularly involved video... Hi and welcome to LZW, which stands for Linux Multimedia Studio and Zenit SubFX Watch and Learn. Okay, maybe I should stop embarrassing myself. I broke down and stopped making videos at all. I had issues with audio sync so severe that I was unable to edit a video without having it completely break apart at some point, which drove me absolutely insane. Fast forward a couple of years. I've learned OBS and spontaneously decided to start a video series called ANFA Vlog. The series lasted 29 episodes, more than anything I've ever done before. I ended it not because I couldn't take it anymore, but because I wanted to step up my game. But back to ANFA Vlog, I've started making videos using no editing at all. I would press record, do my thing, press stop and upload. Once I felt comfortable to step it up a notch, I started editing with Blender again. This time, there were no sync issues, so I could progress and augment my workflow to produce more refined videos. But I had other issues. Performance was a big one. Editing with a few layers of compositing being done meant I was more or less guessing what's gonna come out rather than really make it happen. And since my videos were usually over 30 minutes or over an hour, I didn't really have the stamina to render, view, correct errors and re-render and, you know, more than once or twice, so I had quite a few errors in my videos. About a year later, I've started looking at Kedon Live again, since Blender VSE had some serious long-lasting problems and no laugh from the developers, so I even made a video shortly before I switched about the issues I had with Blender Video Sequence Editor. Hey, it's ANFA! Today I want to talk about Blender Video Sequence Editor and its performance problems. Let's kick it off! I was finally able to get Kedon Live working and it was a big improvement over Blender, however it had its issues too, namely performance. Again, I was able to do much more and much faster with it. As I was making my next videos with Kedon Live, I've learned all about its quirks, limitations and bugs. I've realized it's not perfect, but still, it was the best we had regarding open source software. Fast forward to last week, when I've realized how wrong I was about all this. Please know that I've never worked with any commercial video editing packages for more than a few minutes, so I had no reference of what is the state of the art in computer-based video editing. If you wonder why I wanted to stick to open source, it's because I love it. And the only way to help it grow is to use it. I've tried many liberal non-linear video editors over the years. Blender, Kedon Live, OpenShut, PitiVee, Flowblade, Shotcut. There's one thing that unifies most of these. Apart from Blender and PitiVee, all mentioned above were based on MLT. OpenShut went out to replace MLT with its own backend, but from what I hear, it's not an improvement. PitiVee is based on GAS, Gstreamer Editing Services, so it's an outlier. Blender has its own backend and its own set of problems. Blender itself is a wonderful program that I use almost daily. Don't get me wrong, but the video as sequence editor part of Blender is not an important part and it's not keeping up with the rest. Now, MLT is a framework for TV broadcasting, not necessarily for video editing. It's very old, it's very slow, it's buggy, it's random, and it's full of semi-working features. At least that's my experience. For some reason, 90% of people who wanted to make a video editor based their work on MLT, maybe because it's easier. However, I've experienced that MLT is broken, hacked together, sometimes it works, sometimes it doesn't. That's my experience after using Kaden Live, which is based on MLT for over a year to make videos. Okay, but I'm getting ahead of myself. Let's focus on Kaden Live. So, the unifying factor of nearly all open source video editors is very poor performance. They are not made to take advantage of the modern PC hardware. They still live in the 90s or early 2000s at best. My PC is made of a Ryzen 7 1700 8-core 16 thread CPU, 32 gigabytes of RAM, and an NVIDIA GTX 1060 with 6 gigabytes of RAM. I am running the latest stable version of Kaden Live, 18.4 in the app image format. So, it's bundled with its own version of MLT. There's no interference from my system libraries. This is the best that's the stable version of Kaden Live can do right now in March 2019. I've tried the timeline rewrite, but it's not stable yet, so I'm not using it. Let's jump into Kaden Live and I will show you where the problem is. Okay, so here is Kaden Live. I've just created a new project. This is like following my template. I have 10 video tracks and two audio tracks. I'm going to drag some test footage in now. Let's just see what it is. It's at 60 frames per second. It's one minute long. It is 3.6 gigabytes. It's a high bitrate file, to be honest. To be true, that's a big file, but okay, let's drag it onto the timeline. There is no audio. It's just video. Okay, I'm clicking. Kaden Live is doing something. I don't know why it's taking so long. What it's doing here? It's renewing a preview. I didn't want to render any preview. Let's remove all preview zones. Can I cancel this? Stop. I think it's pulling itself down, running some preview, but there's nothing to render a preview for. No, it's not doing anything. It's not running a preview. Okay, so let's play back this file. Hello? So that's not fluent, as you can see. It's just playing back the file. There's nothing happening. The resolution and the frame rates of this file and the project are matching. Just playing back the file. Can you see how bad that is? How stuttered that is? Now, okay, there's something called proxy. That's generate proxy. It's going to make a smaller resolution file and it's going to encode an MJPEG. And now we should see it playing from proxy. It's better. But this is not every single frame. This is not 60 FPS. It's skipping quite a lot of frames. Now, I'm going to play the original file in an MPV. Here it is. Now, that's 60 FPS. You see the difference? It can do that. It can play back this file from the disk. It's not like you can't read fast enough. No, you can't. It's not like it can't decode this because of the CPU. It can. I have a 16 thread CPU. It can do everything. I have quite a good graphics card. It's not a problem. MPV is decoding this file. Sure, it's going to take a little while to skip, but when I'm seeking this file, it's going to take a while because it's a big file. Okay, now it's dropping off because I'm also recording video at the same time. But MPV can play the full quality of this file. No problem. Kid and Life can't play back proxy of this file. It's now using proxy. It can't play back the full thing. That's the performance of it. Now, what if I wanted to add a transform? Let's add a simple transform effect. I want to crop this and just make it smaller. Move it a bit. Let's play it back now. Well, that's way worse. Can you see how the playhead is skipping? It's jumping all over the place. It's just playing every, I don't know, every fifth frame, something like that. So now, let's say I want to have two images and make a dissolve transform. Sorry, dissolve transition. Let's play this. This is basically, this is still not bad enough. When I'm editing my videos, the performance is usually bad worse. Way worse. Now, this is using proxy. However, the problem is that the proxy only helps with decoding the file. Because the frames are still rendered in full resolution. There's no way in Kid and Life to have half or quarter resolution pipeline. MLT is always going to provide full resolution frames. I could change the profile of the project. Let's try that. So it's HD, 60 FPS. Let's go with, I mean, not full HD. Maybe let's go with just HD, 60 FPS, right? That should help us change the profile of the current project cannot be undone. It is recommended to say before attempting separation, it might cause some corruption in transitions. Yes, because there is no such feature as reduced resolution pipeline. The resolution of the project determines, for example, if you do titles and the positions of the objects are in pixels, if you change the profile of the project, that's going to all break because it's going to just use the old locations. Let's continue and see if we can have better performance. As you can see, yeah, maybe I can't really see because well, it's cropped in. So I would have to pan this to actually see the frame indicator. Oh, yeah, it's better because now it's rendering at slower resolution. It's still not perfect. If I disable the transform effect, you see the transform effect broke. Now if I disable it, oh, sorry, I just make the, okay, so this is full resolution, a full screen preview now of project of a reduced quality. You see that the video quality is reduced at the resolution, I'm sorry. However, it's still not, okay, it's almost 60 frames per second now, but we're just playing back, scaling down full HD image, a full HD video to 720p. Oh, it's not, oh, because the transition started. Now, and I'm not working in 720p, I'm working in 1080, and I want to export 1080, you cannot then change your profile. Like, I was thinking about this, can I just work in a slower profile and then just change it back for the final rendering? No, everything is going to break. The transforms are going to break. The titles are going to break. You cannot do this. It's impossible. I've been asking about it. MLT cannot do this. You have to render full frames, full resolution frames all the time. KinoLife cannot work this around. So yeah, now let's just go back to the full HD. You see, this is insane. There are presets for 4K. Who in hell is going to be able to work with 4K? No one. No hardware. No hardware is going to make it possible because the software cannot use the hardware. You know what I'm saying? Tell you what, no matter what hardware I throw at KinoLife, it's going to stutter. It will not be able to play back 4K video fluently. Never. Even if I use proxy, never. I fucking can guarantee it. I never tried it, but I am absolutely 100% sure. If it can play back 1080p video fluently while MPV can, okay, now it's stuttering. Now it's not stuttering. Okay, now it can play. KinoLife can do this. It can't play back 60fps 1080p video. Yes, it's high bitrate. Yes, there's noise in there. MPV can do that. Sure, it started at the beginning, but now it's playing back at full speed. 60 frames per second. KinoLife can never do this. Same with Blender video sequence editor. It cannot do this. And none, none video editor that is based on MLT will never be able to do this because MLT is unable to use GPU for rendering like it should. We need video editors that will process the frames, do all compositing, or maybe even encoding and decoding on the GPU. MPV can play this back. It can scale the video too. Just to make sure we're on the same page, MPV can play it back at 60fps, but OBS can't record my screen at the same time at 60fps. Sorry, you need to trust me. Now it's just stuttering. I don't know if it's because of saying, no, it's not because of scaling. Okay, the file is over. It's because of all the other things I'm doing in the background. But KinoLife, hope, so we're back. No transforms. This is full HD. Trying to play it back. Oh no, it's not full HD. We're still in 720. Yeah, I didn't switch the, or did I switch the profile? I never switched the profiles. Oh yeah, I forgot to switch the profile. Okay, let's go back to full HD 1080p. 60fps. Yes, I want to do this. Okay, can it play back at full speed? No, it can't. MPV was already playing at 60fps. This is 30, 25 maybe, 30, 40 maybe sometimes. It cannot do this. And it's proxy. Let's disable proxy. Remember, MPV is not playing back proxy. It's playing back the whole thing, right from the disk. KinoLife is now playing also the whole, the full thing. Let's use the full, the full screen preview. This is performance that you get for full HD 60fps with KinoLife. No processing is applied. I'm not doing anything. I'm only playing the file from the disk. This is the performance in 2019 of the best nonlinear video editor, open source video editor that we have. This is abysmal. I am really sorry if I ever recommended KinoLife to anybody as a professional video editor. It's not professional video editors. Let me say commercial video editors like Adobe Premiere, I don't know, Sony Vegas, what have you. They can do this. But you know, there is something, okay, this is just the tip of the iceberg. Let's now talk about the effects. Another problem with KinoLife is that the effects are not transparent. Effects that are meant to do one thing are distorting the color profile of your image. Let me show you, let me demonstrate this. Shift R, just clip, okay, just split, I'm sorry. So I'm going to add, let's go with transform. Okay, that's, that's okay. So I had this problem of transform effect and in some of my videos of unfaVlog from the last year, 2008, sorry, 2018, you can see that when there's a section where you can see my face in the full frame and then it's zooming in, as soon as it's zooming in, the colors are slightly off and I cannot see this reproducible with the transform effect now. But what I know is you can actually do this with the wipe transition. Actually, not even with the wipe transition, I think that any transition is going to do this probably, but well, let's go, let's go with the wipe. Tried and tested to mess it up. So this is my face, it's sweet. Now, look at this. Can you see my face? Can you see it's going from natural skin color to we're really red? This is because suddenly there is a wipe transition going on. It's not supposed to do that. Now, when I move far enough, you can see the wipe actually happening on this part of the screen and we actually have the different image. And then look at this. Other colors are going back and forth. Oh, now they're good. They're bad now, but they're good here. Even so, the wipe is not over yet. Oh, they're different here too. The wipe isn't over yet. What is going on? Now, each frame is different. It's random. And this is my experience with kid in life and MLT. It's random. You never know what you're going to get. For example, the last video I've released, which was titled open source audio plugin formats. I had to fix the whole audio in post because when I exported it from kid in life, every time the compositing stack changed, in a sense, anytime I had more elements added on top of each other, say an animation on top of my face or some text or some Ken Burns effects going on, not every time, but most of the times when something changed, there wasn't kid in life dropped sync of audio by a few milliseconds, even forward or backward, and which resulted in a click. Audible clicks were all throughout this video, but also it culminated so that in the final final scenes, I basically had my mouth talking like this and not aligning with the video. It was horrible. I was like, what the fuck is going on? I tried rendering it multiple times. I ran like five versions from kid in life for the same project, and every time it was different. Every time, different part of the video was out of sync. It's random. You never know what you're going to get. I can't recommend that to anyone. This was terrible. That's so painful. When you're trying, you're spending so much, you're having so much effort, putting so much effort into making a decent video. I'm writing the script. I'm refining the script. I'm reading the script. I'm checking how it sounds. I'm recording the footage. I'm gathering all the b-roll. I'm spending hours and hours on editing all of this together. I'm making sound effects, making special effects, and then I'm rendering this out, and the audio is all full of clicks, and the synchronization of my face and my voice is off randomly. That's just abysmal. This is bad. So I call MLT and Kaden live a tower of duct tape. I don't want to make any more videos with that. It's rubbish. It's unusable. I'm really sorry to say that. I was really hopeful of the new timeline rewrite, and I've tried it briefly, but no matter what they do, it's going to be all a tower of duct tape. It would have to just throw all the car out and replace it, rewrite it from scratch. Basically what OpenShot did with replacing MLT with its own live OpenShot, but it did a bad job at it, and it's not good. It's not stable. It's not working good. Nobody can use it. Maybe somebody can use it. I couldn't use it. Anyway, so the conclusion is nearly all open source video editing programs are only good if you need to do very basic things or you don't know any better and you can't see the problems. I couldn't see the problems, but first then I could see some problems, and last week I've seen an open source video editor that just opened my eyes. So you remember how KeatingLife was performing. Let's open a different program, and let's do the same thing. So this program is called Olive. It's an open source non-linear video editor. When I first found out about it, I was like, oh no, not another one. I'm betting 80% it's based on MLT and 99% it's absolute dog shit, and I was wrong. After an hour of playing with this program, I've pledged to the Patreon campaign because these guys deserve all the money they can get to make the first really good video editor, open source video editor. Let's make a new sequence because you can have multiple in one project. Let's make it 60 frames per second, full HD. Okay, now the sequence is on. We have a timeline. I can now let's drag in the test footage. What is it doing? Let's drag it onto the timeline. Okay, oh it was doing something. No, I think dragging it in here like doesn't work right now. Disclaimer, this is alpha. This software is not deemed stable. Kaden Live is deemed stable, and it's been in development for, I don't know, 15 years? I think like some like 15 years. Olive wasn't, have been in development for one and a half years. It's not deemed stable, yet it's already way better, way more stable, and way more pleasant to work with, and an order of magnitude faster than any free and open source video editing program I've seen so far. This is the test footage. Hello, let's play the back. Oh, it's chopping, chopping along. Will we be able to play it? Will we be able to play it? It's a happy file. Oh, oh, hey. And that's like 50 FPS, if not 60. Okay, let's go full screen. It's not 60 FPS, but it's 40, 50. You remember how Kaden Live played back the same file? Oh, it's chopping along. Something is happening. It's not super happy with it, but it's doing it. Yeah, now it's playing it back fine. This is not proxy. This is the raw thing. Kaden Live couldn't play proxy this fast. We can use proxy also. There is a proxy option. It can be smaller. It only supports ProRes. I can generate proxy. I already have it, so I'm not gonna do it. I'm not gonna use proxy. We don't need it. Okay, so in Kaden Live, we added an effect and it all slowed down to a crawl. Well, we already have an effect. The transform effect is here. It's doing its thing and it's playing it. It's working. What's another effect? It's at a corner pin. Do you want a corner pin? Here's your corner pin. It's still playing. It's still playing. Now it's 50, 60 FPS. Yeah. What else? What else can we do? Can we do blur? Yeah, we can do directional blur. Kaden Live doesn't have that. Let's go with... Oh, yeah. Oh, it's chugging along. Why is it chugging along? What's wrong? Okay, let's play it back from the start. Oh, is it freeze? What's going on? Come on. You can do it. Okay, something's wrong. Come on. You can do it. Let's go with Hdop and see what's happening in our CPU. Well, all of this going 800% CPU. I think it's doing all of this thing to decode the footage, but for some reason it's not... Oh, now it's going. It's going at 60 FPS. It was doing the transform, the corner pin, and the blur. Can we change the effects? Can I change the angle? The blur? Yeah, I can. It's just doing it. It's just doing it, doesn't care. It doesn't care. It's 60 FPS, doesn't care. Can't do it all. What the fuck? Let's show it full screen. It's still going. It's full resolution. Full resolution is still going. Okay, let's composite this on top of something else. We need to kill it. Somehow we need to kill it. I'm not going to let it just play through like it's nothing. Okay, let's get some extra footage here. This is my face. This is at 30 FPS. Okay, so it's not as heavy. Let's set a transition just to crossfade. So we're... Yeah, you probably can do it better, but I'm just doing it like this. I don't want audio, so I'm gonna go with the volume of negative infinity. Let's play it. Start from the beginning. Oh, we got it playing. Okay, it's playing already. Like 50, 50, 60 FPS. Okay, when is the transition gonna start? Because that should kill it. The transition should kill it, right? No, it doesn't fucking kill it. It's still going in real time. Can you see that? This is alpha stage software. KadenLive is stable. It's beating it on every fucking level. What the fuck? What is happening? Okay, I could be talking about this for hours and hours, but who wants to watch that? Well, so I don't want to make any more videos with KadenLive. I just don't. It's pain. It's just pain. And if you are a developer and you want to make... If you are making a nonlinear video editor, an open source one, please take an example. Look at Olive. Look at OBS. These programs, these two programs, OBS and Olive, for some reason they are both named with the letter O at the beginning. They work. They deliver performance. OBS is the facto standard among YouTubers and streamers. Everyone is using it. It's open source. Why it gives the performance? Because it can utilize the hardware. It's a modern tool. It can utilize all the CPU threads and all the GPU power you give it. And the same goes for Olive. If any video editing software is going to be relevant, it needs to do the same thing. I call bullshit on MLT, on KadenLive, on all MLT-based video editors. They will never be able to perform this well. Never. Because MLT just can't do it. You just have to redo it. They're trying, chugging along, trying to fix the MoVit library. They've been doing the fucking MoVit library longer than Olive has been in the making. The KadenLive team cannot get MoVit library working for, I don't know, two, three, five years. I don't know how long they've been doing it. I've been testing it like one half a year before. I've been testing before I switched to using KadenLive from Blender. It wasn't working. It never works. It only crashed KadenLive for me. Have I been showing you how KadenLive, how MLT multi-core processing that works? It doesn't. It just doesn't. It's an experimental feature. Here. You can change this, processing threads, and it will break. You can see white frames. I can see white frames. It's playing. It's not playing. It's broken. I'm Anfa. As you might know, I make electronic music with re-end open source software. It cannot work. I teach my craft. It's all garbage. Just stop it. Don't waste your time on this and start over. It's not worth it. Just kill it. Kill it and go with the thing that works. I'm going with Olive. I'm going to just see if I can replace KadenLive in my workflow. I've been already doing some videos with it, and I love it. I enjoy making videos with it. It's fun. It's finally fun. I can finally feel a flow. Sometimes I could feel the flow in KadenLive, but it was very rare. I was wasting so much time just fighting the software. Fixing problems that were created randomly that should not be there. It's terrible. It's just so bad. I don't know. It's sad because I was having high hopes for the KadenLive Rewrite, Timeline Rewrite, but it's not going to save it. It cannot. The whole core is just broken. I think that the best thing that KadenLive developers can do is just replace the core. The UI could be okay. Just throw out the whole core, the whole backend, all the effects, and just start from scratch and do it well. Do it solidly. Just, I don't know, take a look at Olive. See how they're doing it. They're doing a great job. They're pushing changes every day. Every day they're fixing bugs that affected me, and today I've spent a few hours just editing video with Olive. I had one situation where it froze my entire system. It's alpha software, but apart from that, I didn't have a single crash, and I love it. I can't wait to make another video with it. This video was also done with Olive. So yeah, if you care about good nonlinear video editors that are open source, check out Olive and support them financially because the developers really deserve that. I have pledged already, and I guess I'm going to ramp that up as things progress to just, you know, because as I work more with it, I'm going to report more problems with it. And so like, it's not ideal. It's not done yet. It's in alpha stage, but in alpha stage, it's already way, way better than anything else I have seen so far. And I've been looking at this for years and years, and it really looks grim. Olive is the best video editor, the best open source video editor that we have. It's not even stable, and it kicks fucking ass of everything else. So go support it, go use it, go try it out, and just forget about the shit we were using. So yeah, I hope this video was not a big downer. You know, there is light, there is hope. I was so excited when I found out about Olive and I tried it out and I've seen how amazing things it can do. But it's finally, it's the first problem that can saturate my CPU and can utilize my GPU. I can finally see what I'm editing and not just guess. What the fuck? Okay, enough France about video editing. I really appreciate all the work that all the developers are doing and all the developers of kid and life and ptv and blender video sequence editor and everyone like I love you guys. I really love you. I love all of you. I love all the community. Just I've realized how bad the thing is, how bad the situation is, how bad the software is, because I've finally seen something better. I didn't know it's possible. Like I felt it's possible. I was thinking about actually making a video saying, Hey, let's do what OBS is doing. Maybe that can work. It can chop through frames. It can process video quick in real time. It's processing 60 FPS right now. While other video editors are doing their thing. It can do it. Can we do a video editor that's based on that? And someone did it and I didn't know. And I found out and I'm glad I didn't make this video earlier because that would be silly. But now I can actually show you, Hey, here's the video editor that actually uses that. It works. Go use it. Support the shit out of it. It deserves that. It's a revolution. We haven't had anything that good ever. Okay. I'm done. I'll see you in another video. Bye.