Curious about apparent performance relative to other options

Please don’t take this the wrong way - this is not a critique of Shotcut or its developers. I’m just mildly confused as to how this could be the case.

While I was away on a holiday I had been shooting footage on my iPhone 12 Pro (max but that’s irrelevant), 4K60. I had brought my Surface Laptop Studio (i7-11370H, 3050 Ti, 16GB RAM) with me with the intention of using Shotcut on it. I copy the footage over to my laptop’s internal storage, drag the clip into a project with no filters or anything else and try to play it back. It plays back at slideshow-level-fps and freezes at every cut in the footage. I made sure Shotcut had launched on the 3050 Ti and not the integrated graphics.

I then try dragging the footage into LumaFusion on my iPhone, and it plays back perfectly smoothly. In fact, I could even put filters like colour correction, blurs, and other stuff on it with zero problems or hitches. You couldn’t visually tell there were any proxy/preview scaling shenanigans or anything.

So this is why I’m a little confused, I just don’t see how an A14 Bionic on a phone on battery power can outdo a 3050Ti and i7 on wall power in video editing like this. I understand the idea of hardware-accelerated encode/decode but as far as I was concerned iOS shot H.264 footage which Nvidia hardware should have no problem with.

The reason I bring this up is that now I’m having issues trying to edit a video on my desktop (Ryzen 9 5950x, 3090 Ti, 48GB ram @3000MHz) at home. The project consists of:

  • 1 NVENC HEVC Q:19 video at 2K60 totalling about 1.5 hours (19.2GB)
  • 1 Stereo 24-bit 48KHz WAV file about 3.5 hours (3.3GB)
  • 1 Mono 32-bit 48KHz WAV file about 3.5 hours (2.25GB)
  • 1 H.264 AVC1 video at 1920x1080 60fps(variable) totalling about 1 hour (14.9gb)

And the project takes a long time to open, takes multiple seconds to unfreeze every time I try to change the zoom level, and locks up a lot. I tried turning proxy on but it would just flood the memory and crash every time. I’ve turned audio waveform preview off as I’ve seen reports that this has a huge impact on zoom lag, and it did help a little. This, and I am trying to do some pixel-precision stuff in my projects and idk if proxy will play nice if I’m toggling it on/off a bunch.

So I’m just wondering what’s going on here, is this normal and I’m putting these computers in demanding circumstances, or is this just a limitation of Shotcut? I don’t mean to get the devs down cos it’s not like making video editing software is easy by any means, but if there’s something glaringly obviously wrong about my approach to using this software I’d appreciate tips. I would use paid editors given I am asking a lot from free software but I really do not want to pay a subscription fee.

Edit: Nevermind, I figured out how to get around this.
New issue:
I’ve done getting the entire video together, the runtime is about 3.5 hours. Only issue is, exporting this is going to take days and it crashes every time I try to drag the project into a new project to cut it down slightly. Is there a way to get it to stop crashing when I do that?

What I did was create a project with like something really simple like an image in the project bin and on the timeline, save the project, then drag the other project into the timeline, and save the project again.

Slow playback on the 4k60fps timeline is due to the fact that playback in the shotcut program uses only the resources of the central processor, the video card is not involved in any way in normal playback. The situation can be improved by activating the proxy. At the moment, shotcut cannot use the video card’s hardware encoder for playback (but this feature is planned, judging by the information from the roadmap). The final rendering speed is affected by such parameters as the video mode (4k60fps is a very resource-intensive mode for shotcut), the inclusion of gpu effects also negatively affects the final rendering speed, if you do not use gpu filters in your work, I recommend turning them off.

That would make a lot of sense. I may have to look into some multithreaded or hardware-accelerated video editors for my needs. Shotcut atm is crashing with every 2nd operation on this project right now.

I’m in a very annoying scenario right now where I need to cut down a project into many different smaller parts so I can actually edit it at a bearable speed but because we still don’t have drag-to-select yet I’m stuck either having to painstakingly do it all manually or something else, because all of the solutions to my issues atm are being blocked by the lack of drag-to-select. Idk why Shotcut 1.0 even came out without drag to select tbh

I might try looking at the mlt files in a text editor and pray to god that the clips are organised in order

You are underestimating the power of dedicated hardware circuitry built for exactly this purpose, the A14 is actually pretty crazy good (and I’m saying this as an android user).

But all that aside, it’s weird your desktop with such a powerful ryzen cpu can’t handle that project, I have a way weaker desktop and can playback 4k60 hevc relatively smooth before applying filters. After resizing with the Size&Position playback goes down really hard though, but so far it has been pretty usable.
Maybe the audio files are causing issues, or maybe the variable 1080p60 file (might be worth it to convert to editor friendly but at 1 hour it will take quite a bit of time.

Did you try to export with or without hardware encoding?

If you’re trying to export only part of a video you can use the ranged markers method (make sure you’re using a recent shotcut version as it’s been implemented last year I think).
And regarding the crash, are you importing the .mlt file into a new project? Maybe the automatic video mode is the issue, try to set it from the begining to the proper one and import it again.

I don’t know how drag to select would help you here, how do you want to edit separate parts after selecting stuff? You can select a clip then shift+click another clip further to the side and it will select everything in between (on the same track).

Btw, you can split the video file(s) into 15 minute chunks and use the Properties → Extract subclip to quickly make smaller copies of the original file at original quality and try to edit it that way. But honestly proxy editing should be the best option for you, go to the proxy settings and select hardware encoding to convert it reaaaly fast.

I’m still not sure why you’re having so many problems, try to update you video card drivers to latest maybe?

Alternatively, the only free really good video editor that might be good enough for 4k60 editing is Davinci Resolve, you can give it a try - there’s a chance it might be smoother for you but you’ll need to test it yourself. The only limits on the free version are at export, afaik max 4k60 in H264 (no HEVC for free users).

I ended up biting the bullet and rendered the video out. Took 9 hours, but thankfully there were no errors, which is one thing I appreciate about shotcut. I exported it as an MKV with NVENC HEVC Q=19 and libopus at 512kbps, it’s a 3 and a half video about 50gb.

The way drag-to-select would help would be by making multiple stacked clips that I have easier to select all at once. This was the reason I wanted to put it all in a big project first and then cut it up in another later, because I wouldn’t have to deal with manually selecting and dragging each clip in each track just to make one cut.

But honestly, i think the most egregious thing is just how slow each action is. Undoing is slow and gets slower the more work a project has on it, zooming out takes far longer than it should (even with audio waveforms disabled), there shouldn’t be nearly as much lag when I try to make cuts, like i don’t understand why any of this happens. These are things that no PC should be struggling to do. Shotcut is doing significantly more work than it needs to be when I do these operations, it’s as if it’s taking these abstract representations of a video clip and actually altering the source files instead of changing a few numbers in a file and figuring it out during playback.

It kinda makes me wonder what in the code causes this, because it feels like all it must be is some part of the code that is making the processor do way more work than it actually needs to do, some small part of the codebase that, if optimised, would save literally everyone who uses this program cumulative days of time. Maybe if it’s still unaddressed by the time I finish my computer science education I’ll actually be able to come in and help out myself, that way i can stop being a hypocrite like i am now

On some of the other stuff you said, proxy editing has been on this whole time so that isn’t part of the issue, and my drivers aren’t part of it either as my PC doesn’t underperform anywhere else.

Never heard of either of those selective exporting options, thanks for letting me know, will keep that in my back pocket.

Thanks for the davinci suggestion, i’ll look out for it and see what I can do

1 Like

This is never as easy as it sounds, even without looking at the code I’m absolutely certain there’s not one little line of code that could be changed and everything is magically smooth. It’s probably an algorithm somewhere that’s 1% less efficient than the best one, built on top of another one that’s maybe <2-3%, then there’s a corner case check that has to exist because there’s a weird file that crosses it, then there’s a bugfix because someone had a crash in some situation, all of these eventually add up as they’re built on top of each other.

Best thing to do btw is to report any bugs you find and can consistenly reproduce, this way maybe after a while all those extra fixes add up to smoother workflows.

The undo delay in big projects is really annoying I very much agree on that. I personally have a mental note on which actions undo instantly and which not (mostly rippled cuts that affect multiple tracks) and sometimes I just manually edit the change back (for example if I cut 10s out of a clip but wanted to only cut 5, I just drag from the handle instead of ctrl+z).

This topic was automatically closed after 90 days. New replies are no longer allowed.