olive-editor / olive

Free open-source non-linear video editor
https://olivevideoeditor.org/
GNU General Public License v3.0
8.13k stars 548 forks source link

[FR] Timeline Preview Rendering #617

Closed r1olo closed 5 years ago

r1olo commented 5 years ago

I'll just link the article on Kdenlive's blog on how this works: https://kdenlive.org/en/project/timeline-preview-rendering/

frink commented 5 years ago

Is this some sort of proxy render?

mdmayfield commented 5 years ago

@frink Check out the link from Kdenlive's blog - it's a (temporary) pre-render for situations where the effects that you're applying to a section of footage are too CPU/GPU-intensive to render in realtime.

frink commented 5 years ago

So it's a temporary proxy render in place of doing real time processing. I get the concept.

THinking out loud here... Just wondering if we can abstract it out to something general instead of coding specifically for this use case. Seems like a lot of code and potential bugs just to have perfect FPS which editors almost never do.

I've got friends that are award winning cutting room editors who use Avid. Their first tip is to never trust the playback because it's always choppy. They guess on their edits, render, watch the render, take notes and repeat the process. That's been the basic pro edit process since the 90s back when editing SD was a pain. 4k is just the new version of the same old problem.

Not saying the temporary proxy isn't a welcome solution. Just trying to understand how to keep bugs from entering through background processes. Relly, until we have great background process monitory we should be careful about adding to the background process load.

Once we have more visible thread management some of these things may make more sense. background processing is often abused with good reason in modern NLEs. But we have to have a way to deal with all of the cruft that comes from hammering the CPU when we aren't doing CPU intensive junk. Debugging stuff like that to get it right is deceptive. It's like debugging recursion. When it works it's fabulous and when it doesn't work we don't have a clue why...

itsmattkc commented 5 years ago

This will be addressed in the node rewrite.