<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">wt., 28 lip 2020 o 23:27 Dan Dennedy <<a href="mailto:dan@dennedy.org">dan@dennedy.org</a>> napisał(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 27, 2020 at 6:19 PM Tobiasz Karoń <<a href="mailto:unfa00@gmail.com" target="_blank">unfa00@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">I would personally not bet on MLT improving here. It's a very old framework with a legacy that's holding it back, and it doesn't seem to get much development done. I think it'd be best if video editors simply stopped considering it a good option. We have way too many "front-ends" to MLT all being held back by it's limited design.</div></blockquote><div><br></div><div>Do not listen to this nonsense. He does not have a software engineering background. Fun fact: Kdenlive is older than MLT! But both are younger than most popular commercial NLEs. Not bad for a few developers working part time. The development of MLT speaks for itself through the git log and <a href="https://mltframework.org/blog/" target="_blank">https://mltframework.org/blog/</a>. Development is done primarily by the Shotcut and Kdenlive developers, and these statements are disrespectful to the hard work of the volunteers.</div></div></div></blockquote><div><br>I'm sorry, I didn't mean to be disrespectful towards the developers or their work. I am no developer and I could never make anything like MLT, Kdenlive or Shotcut myself.<br>My skewed view on MLT has formed from many years of using software built on it and from talking to other knowledgeable people (who are developers themselves).<br><b>I don't think my input should be rejected simply because I'm a user, not a developer.</b><br><br>I am not criticising any of the software to be rude or make someone feel bad, or make myself feel better (what makes me feel better is good free software!).<br>I do it, because I care about the free software scene, and I want it to grow. That's also why I keep using it, even when I'm constantly nagged to use proprietary software to make my life easier. I value other things however.<br>It seems to me that you feel personally attacked by my view on MLT.<br>If that's the case - I am sorry, but that's not my intention.<br><br>(Also - I've been in touch with the Kdenlive team as well helping them spot and fix the issues I had with the software)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">OpenShot tried to go beyond MLT, but... that apparently didn't go too well.</div><div dir="auto"><br></div><div dir="auto">I'm glad Kdenlive has started work to make it possible to implement a different back-end (maybe some cooperation with the Olive team could occur?) - and also </div></div></blockquote><div><br></div><div>Make multiple Qt frontends for the same engine. Where have I seen that before? Yes, I am guilty of the same with Shotcut, but I had good reasons. At the time, I wanted to get MLT working cross-platform including the new Qt 5, KDE was not yet ported to Qt 5, and I did not want to worry about KDE4 dependencies. Eventually, KF5 happened, and I  continue with Shotcut as a revenue source, to support its users, and to drive MLT development. At least we collaborate a lot by using MLT and sometimes borrowing bits of frontend code with each other.</div></div></div></blockquote><div>Well, I have nothing against that - if that works for you and Shotcut users - that's great. It didn't scratch my itch though.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">implementing Open Timeline IO. I hope we can create some synergy between software using such open data exchange standards. Especially since they are used in the industry - which could help "serious" people consider using libre software.</div><div dir="auto"><br></div><div dir="auto">There's a long way to go before that's gonna be possible, but I think we're on a good track.</div><div dir="auto"><br></div><div dir="auto">I've been using Olive Video Editor for the past year or so (also limited to 8-bit color, at least for output - the processing is done 100% using GLSL so it's in a good position to develop further from that though - I even made my own effects for it). </div></div></blockquote><div><br></div><div>Similar to the same thing Movit provided for MLT except Movit uses 16-bit float textures, which can support a 10-bit integer input and output.</div></div></div></blockquote><div>Well, that'd be great, though I personally have had zero luck with Movit in Kdenlive so far (didn't try it recently to be fair though).<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>Otherwise, most GLSL code is using 8-bit textures including, I think, Olive. Or was but no longer? I am not tracking it closely. Alas, there is more MLT-Movit integration work still required to support 10-bit end-to-end.<br></div></div></div></blockquote><div>You're right - I've just tested it and Olive 0.1 does all processing in 8-bit as well, because once clipped whites cannot be restored by applying reverse exposure gain.<br></div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">There's a rewrite going on that incorporated Open Color IO for flexible color management, also a node editor for fine grained control of all the processing being done (in the future this should allow for insanely powerful compositing but also reusing and sharing your own effects etc.), There's also a timeline proxy being implemented that stores frames in EXR files (an SSD for a scratch drive would be very recommended - I should test that more myself). I believe it's also ingesting input media (converting frames to EXR) not sure if that's mandatory though from my testing.</div><div dir="auto">That'll possibly allow for very responsive scrubbing. Also the rendering pipeline can use reduced resolution to speed up the compositing - I'm happy Kdenlive implemented that recently (in Kdenlive it's possibly more useful right now).</div><div dir="auto"><br></div><div dir="auto">So far the new Olive version is very unstable and can't be used to do any work really, but they're doing great progress with it and release updated builds very often (evey week or more frequently - so called Continuous Build). </div><div dir="auto"><br></div><div dir="auto">It's taking a lot of time, but it seems they can do without duct tape and build an open-source NLE that'll finally have a chance to not only have a nice UI and workflow, but also have all the basic and advanced features you'd want and let you use good cameras or deep-color CGI renders, composit and process that and get top-quality results with them. While also utilizing modern computer hardware in 100%.</div></div></blockquote><div><br></div><div>Sounds like a dream come true! ...or maybe will some day... like most active projects. Actually, I think Olive is quite nice. I wish its talented lead developer had chosen to help us instead, but there is something to be said for starting from a clean slate.<br></div></div></div></blockquote><div>I understand that. Though I think Matt's work has been a great contribution to the scene, as Olive 0.1 does for me what nothing else does, and I think that he only managed that because he started fresh, without any legacy to worry about.<br>Now, he's realized that the pipeline is 8-bit nad not very flexible and has started this rewrite. I honestly am surprised by how early the Olive rewrite started to even resemble usable piece of software. I didn't expect nothing out of it for 2 years.<br>Still there's a long way to go, but I think there's solid reasons to be optimistic about it. And hopefully the whole community and ecosystem of other projects will benefit from that. For me Olive ws a lie saver - I was so broken by issues I had with Kdenlive 18 I have even tried to install Resolve. It failed to run on my system, and then I found Olive - my faith if a fully FOSS videomaking platform was revived :D</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">Now - Olive is not perfect and I had some serious issues with it, where I had to fallback to Kdenlive to finish editing a video as it's would crash every few seconds in projects longer than 20 minutes. I've finally found a build that doesn't have this bug and can work on it, but that was bad. The main developer seems to have an idea what the issue is though, I've worked with him to solve this.</div><div dir="auto"><br></div><div dir="auto">Olive's 0.1 version is the current "stable alpha" that I use - it's very limited in effects compared to Kdenlive (they are more reliable and not redundant though), but it's responsive and I like the editing tools a lot. When I edit my videos I always need at least 2 audio tracks in sync, and min. 2 composited images with chroma keying.</div><div dir="auto"><br></div><div dir="auto">In Blender VSE I had to train myself to cut in a very specific way to keep everything in sync (manually making sure I keep the sync between strips) because it had no way to link strips together, only group them into meta-strips (Olive has that option too - Nesting).</div><div dir="auto"><br></div><div dir="auto">In Kdenlive I always had issues importing my multiple audio tracks and even though linking works, the editing tools never worked for me as well as they do in Olive.</div><div dir="auto"><br></div><div dir="auto">Also - in any libre NLE I tried (all were heavily CPU-bound and single-threaded)</div></div></blockquote><div><br></div><div>Yes, primarily CPU bound but not entirely single-threaded.</div></div></div></blockquote><div> <br>Hmm, maybe it's 2-3 threads. One reads from disk, one processes frames and one shows them on screen. Still - doing gaussian blur on 1080p video at 60 FPS on a CPU is not easy, and for sure Blender VSE can't do it. Nor Kdenlive.<br>At least on my hardware (Ryzen 7 1700, RX 580).</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">compositing 2 or more 1080p layers dropped preview framerate to 15-20 FPS, and if you add a blur effect - it goes below 10. Olive can do this in realtime thanks to OpenGL if the files are not too high quality </div></div></blockquote><div><br></div><div>Shotcut and Kdenlive with Movit have been doing this before Olive. Yes, it is unstable. Yes, there have not been enough people to help debug that. Yes, I have de-prioritized that. Sharing OpenGL between the UI, video preview, and the video processing contributes to that instability. Perhaps with Qt 6 we can move the UI and video display off of OpenGL, give Movit a dedicated OpenGL context, and it will be more reliable. I do not yet know. But I do know porting effects to Movit/GLSL can be difficult, and a technology that unifies both multi-threaded CPU and GPGPU might be easier and more flexible.<br></div></div></div></blockquote><div>Hmm. I see. There's a lot of moving parts there. Possibly being able to do image processing both on CPU and GPU would be the best possible thing, but I think doing it with just GPU might be sufficient.<br>Some new AMD CPUs could probably manage if the processing could be multithreaded (16, 32 threads etc.) - though most people don't have these, and a mediocre GPU can already push frames fast enough, so I'd personally shoot for GPU.<br><br>I have no idea how hard it is to port effects to Movit - In Olive I've managed to create a GLSL shader and an XML file describing it's controls and UI in a few evenings, even though I'm not a programmer.<br>It'd be great if such work could be shared between projects.<br>We could have something like Frei0r effects - but done with GLSL and ready to process scene-linear images and deliver top quality fast.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">(I've recently started encoding H.264 proxy files) - seems that decoding 15Mbps H.264 is a bottleneck in Olive, and it's default Protest proxy files take ages to encode and are insanely big.</div><div dir="auto"><br></div><div dir="auto">I'm sorry - I think I went completely off-topic...</div><div dir="auto"><br></div><div dir="auto">It's very late, I should go to sleep :D</div><div dir="auto">Good night!</div><div dir="auto"><br></div><div dir="auto">- unfa</div></div><br></blockquote></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>- Tobiasz 'unfa' Karoń<br><br></div><div><a href="http://www.youtube.com/unfa000" target="_blank">www.youtube.com/unfa000</a><br></div></div></div></div></div></div>