Could Natron save the opensource video editing world?


#1

Hi!

I’m brand new on this forum and to Natron so please forgive me if I’m ignorant to any issues and correct me, I’ll learn happily. I have years of experience in professional graphics design, audio engineering and hobbyit’s skills at video editing too.

I’m making videotutorials. Long form (30-120 minutes usually) videos. As my YouTube channel exceeded 1k subscribers a few weeks ago, and I have built a new desktop machine (Ryzen 7 1700 + GTX 1060) to allow me to make better videos, I’m now looking for ways to improve my productivity. As I’m hitting a wall regarding editing and compositing my footage.

Here’s my recent videotutorial: https://www.youtube.com/watch?v=Y93Jh1UIpys

I currently capture 3840x1080 60 FPS footage with OBS, that I then split to two separate images: desktop and camera capture (Logitech C920).

I’m doing my editing and compositing with Blender, but the big problem with it is that it’s very slow, and it doesn’t utilise my hardware optimally. I made a video a few days ago about the VSE performance problems if you’re interested in details of that, you can watch it: https://www.youtube.com/watch?v=Y6PD6Zsh1bo

TL,DW (too long; didn’t watch):
Editing my videos with Blender is a big pain in the butt. And rendering is really slow and ineficcent.

I tried Kdenlive a few times (yesterday too) and it is faster for realtime preview of what I’m doing than Blender, but rendering is just as slow, if not even worse. Shotcut is based on MLT, just like Kdenlive, so I don’t expect better performance.
None of these programs uses GPU to composite the video, and none uses 100% of my CPU threads to do this even.
And GPU support is minimal and very experimental.

My hardware is almost idle, but I can’t edit my footage convinently.

If you’re doing FullHD at 30 FPS, it can be ok, but if you quadruple that, you’re screwed. ANd I;m thinking about capturing even bigger frames to include some optional footage to use ocasionally.

I tried OpenShot, but I had stability issues with it and having an editor crashing every 5 minutes when I have 2 hours of footage to cut is a big nope. Especialy when I want to do that a few times a month, and still have a life.

Seeing that Natron has a highly effective GPU-based rendering engine I wonder if that technology could power an NLE?

It feels that not much would be needed to be able to sequence some strips and use Natron’s node-base compositing to do the rest.

If Natron’s engine is accesible outside of Natron itself, one could build a video editor around that, however - a more interesting option seems to be - if Natron could get a NLE module integrated into it?

It migth sound completely crazy at first, since we have too many opensource video editors already, and none of it cut it" (pun intended).

I was thinking about gathering various video editor developers into one place to discuss a possibility to develop one solid tool that will finally lift opensource video editing up with performance and features to commercial packages.

I guess we should evaluate what was done, what was done right and where, what sucked and why, and develop a coherent design that will integrate all the best technology we have around.

But until that happens…

I know, it sounds crazy, but I feel like opensource video editors are running in circles. Most are developed by a single person (Pitivi, Openshot), and most are lacking basic functions, and none yet can utilise all processing power modern PCs have to offer. I personally like Blender VSE the most for the fact that it has “Adjustment layer” strips that will apply processing to whatever is under them - making applying effects and copying these very easy. Yet - it has a very poor performance and lacks basic features like text rendering with custom fonts etc. Transformation are all done with sliders, there’s no widgets to manipulate them. Proxy footage could save he performance in some degree, but it doens’t always work and is generated in a single thread, making it a no-go for projects longer than an hour.

I know there’s much more to video than just processing frames - sound is something that needs to be taken care of for example. Blender’s implementation is very minimal and nothing more than just cutting and rearranigng is possible. So not much is needed to match that.

I feel like maybe I could hack Natron’s dope sheet to do some video editing, but well - there’s no audio even if that works. Anyway…

Sorry of this post looks like a rant, but I see hope in the opensource community, and I strongly believe that a decent and modern video editor can be created, that will allow us all to make great high-quality, high-resolution, high-framerate videos, and make our hardware sweat, not us.

Maybe Natron is the beginning?

Thank you for creating Natron.
What are your thoughts on the subject?


#2

I don’t see Natron going in the NLE market just for basic editing purposes. But, have you tried the switch, append clip, frame range, time offset, frame hold, dissolve and time dissolve nodes in natron to do the basic editing that you are looking to do.

The switch node has an automatic option were was you can connect multiple video clips to and when one finishes, the other start to play. If you need to have a certain range of a particular video play, then pipe the frame range, or time offset, or frame hold nodes before connecting to the switch node inputs.

Th only thing that you need to be aware of is that there is not audio, so yu will need to organize your shots by timecode or frame to match the audio later. It a time consuming process but doable.

Hope this helps a little.
NatronNation Admin,


#3

It’s the same issue than with blender, there is too much work already on the compositing side (the main purpose of the application) and few dev’s (2 people actually for Natron) to work on something that would be great to have but outside the main scope of the application… It can append at some point but there is too much work to be done elsewhere first. As you pointed out sound support would be a first baby step in that direction.

Also bear in mind that Natron engine is at first designed for compositing, so each frame it reads is converted to 32bits float , processed into titles and converted back to 8bits if you export to video. That alone makes it less efficient compared to an engine designed only for fast reading writing.

If that was as simple as that, this would have been already done. Developpers had good reasons to start their own projects instead of working on top of an existing base. You should try to understand their motivations first .

Have you done some tests about what takes that long to render in your projects, or what is blocking CPU processing ?
This can come from reading frames , compositing them, or doing the final encoding.
Maybe one of these tasks can’t be threaded and the next one is just waiting , that’s why you can’t use all that CPU power.

Also have you tried to do the same stuff in a commercial application to see how it reacts compared to opensource softwares ?

What is your final output format , and why 60fps ?

In a professional workflow there are few steps involved when editing big videos to have a smooth experience and get results fast.
-If footage is H264 based it’s generally converted to prores or losseless video codec suited for editing.
Some proxy can be done if there is a lot of footage to edit ( to save disk space) or to play the video smoother.
-exporting the final movie is also done in a lossless format.
-Encoding for web if needed is done after that , sometime in another software.

Maybe this is something to test to see how it influence performances. If rendering time is an issue I’m sure there is many clever ways to improve your workflow and take more advantages of your computer.

Another workflow could be to have some kind of realtime compositing using some veejay’s softwares (merging screencapture + camera + colorgrading) and outputting at your final format (like HD @25/30fps) .
Then editing , adding titles , transitions in Kdenlive or Cinelerra and avoid post-processing the image as much as possible. And finally using ffmpeg to do the final encoding.

Sorry to be a little pessimistic (again) with your propositions , I think that it would take less time and energy to improve your workflow with existing tools rather than waiting/asking for some development to append.
At some point I’m sure someone will start a new software that can deal better with existing technology and platforms (GPU, H264/5, multicore CPU,youtube) and more suited to your needs. Many people are doing youtube channels, maybe this need dedicated softwares that allow you to run a little TV studio inside a PC with dedicated tool and design.


#4

Hi guys!

I hope to revive this topic with some new lymph :sunny:

I started a discussion on the future of this wonderful software yesterday, here on the forum.

Since you have very cool ideas and you seem to be interested in contributing to the project, it might be a good idea to step in and talk about it a bit more, we can find a way to make many thing possibile that way!

Hope to see you there, so!

Here’s the link, enjoy :sunglasses: