Proxying a Sequence?

Hey all. I’m wondering if there are plans to allow proxying of sequences themselves. Often, a sequence will contain many effects and layers, resulting in poor performance even when the embedded clips are proxies.

Nesting those sequences into other sequences also results in poor performance. If we could proxy an entire sequence, performance could improve tremendously for many workflows. This would be especially useful if only one/two sequence layers were resource hungry.

I know that for now, I can render a sequence, then import it back into the project, but this costs many more steps than simply ticking the proxy checkbox, and is also prone to error (e.g., forgetting to re-render a sequence when it has changed).

I know we can also pre-render a timeline preview, but that doesn’t help when you’re attempting to edit a sequence (since that current sequence would continually re-render endlessly as you make edits).

Is there an official feature request system somewhere?

2 Likes

AFAIK, there are no plans to do that. See the roadmap for Kdenlive.

If you want to submit a [Feature Request] you can do so in the official Kdenlive bug tracker as a wish list item.

Does it help to simply reduce the resolution of the record playback to something lower when working on timing? That seems to be one of the only ways to increase performance currently.

I’d love to see the ability to dynamically adjust the resolution based on the performance of the playback, in a somewhat similar way that web based video players detect your frames and lower when necessary.

This is an interesting idea - though what you’re asking for still seems more like “preview rendering” than proxying as those things currently exist …

I wonder if it might not be too difficult to have preview renders propagate through nested sequences? ie. if any sequence has part or all of its timeline preview rendered, then that is used when that sequence is nested?

I haven’t checked to see whether this in fact already Just Works …

The only downside I’ve seen with preview rendering is it does tend to mess with the colour a bit, not giving the same result as a ‘real’ render, but that might be a fixable if I chose a different preview codec.

Thanks for the link. I think I’ll combine my original idea with Ron’s idea, too.

Unfortunately no. I have preview res all the way down to 360p, with 360p proxies, and am still stuttering like crazy. It seems to happen the moment I get to 1-2 layers of nesting.

Doing the timeline preview directly doesn’t help either, as it takes forever to finish and becomes invalidated as I’m editing :frowning:

That would be great. I haven’t checked either and will try it out somewhat soon. Personally, my biggest issue is stuttering when I’m trying to edit, so I don’t really care about colors at this stage.

Yeah … careful ordering of your project workflow is the best answer I currently have to managing that - especially once you start talking large format source (4k/8k), complex expensive codecs (H.265 / AV1), and some math heavy effects.

Proxies help by providing a lower resolution / lower complexity codec stand in for your original source material - either produced by your camera as many do these days, or transcoded by kdenlive - but they’re still just the raw source, there’s no pre-rendering of any timeline manipulations.

Preview renders let you ‘fix’ your current state and effects into a low resolution / low complexity temporary copy to allow realtime and faster playback - but on parts of the timeline that you’re still editing, you trade stuttering for a coffee break each time you make a change that requires re-rendering them.

So what I find works best is to do the entire track layout (all transitions etc.) on the proxies that my camera created, trying to avoid adding any effects at all at that stage of editing.

Then I’ll do another pass through the timeline adding any ‘functional’ effects to the clips where I want that (zoom, subject tracking, ‘special’ effects etc.).

After that, I’ll do another pass to colour grade them. Then one more once that’s all done to add subtitles.

At each stage realtime playback gets more expensive - but the need to have it to see whether what I’m doing looks like I want it to gets less too, as is the chance that I’ll see something which needs major re-editing.

Nested sequences indeed messes that plan up somewhat … and that’s where the changes to colour would be significant, if trying to grade a new sequence to match a preview rendered nested one …

I use a sequences a lot, but I haven’t often been nesting them yet to hit exactly what you’re seeing. My biggest project currently has ~800 clips on 11 sequences, and will likely have 4-6 more sequences, and proportionally more clips added to the bin before it’s actually All Completed - and the biggest performance hurdle that I’m hitting on that one right now is actually the UI becoming painfully slow to respond in the final stages of editing each sequence - there seems to be something ‘accidentally quadratic’ in the number of keyframes a sequence has …

One thing you could try if the kind of effects you’re using make that feasible is to simply disable all timeline effects while you’re working on the nested part of the current sequence - it’s a little bit fiddly, and that option is a little hidden, but Menu → Timeline → Disable Timeline Effects will let you toggle them as/when that’s needed, which might help until there’s other improvements with this.

1 Like