Can Shotcut export faster?

Hi there,

I regularly 30 minute long MLT files from Shotcut to mp4 and this generally takes a good hour or so. I wondering if there’s a faster way to do this.

Any help appreciated

Dev

Do you use the default export?
You can enable the hardware encoder which should be faster depending on your GPU. But you will end up with larger files and the quality might be lower. You will have to check whether your videos display such a degradation or not.
Another option is to lower the quality setting or bitrate in the “Advanced” tab.

Handbrake has a good article comparing encoders, quality setting, speed etc., which could answer your question (https://handbrake.fr/docs/en/latest/technical/performance.html).

I too am having similar issues. Most of the videos I do are between 5 and 20 minutes in length. I’ve tried running it with hardware encoding with parallel processing, hardware encoding only, parallel processing only, and neither. I’ve watched the processor usage and when hardware encoding is checked, it will peak at 30%. Without it checked, it will peak at 100%. With it checked, after a random amount of processing it will drop down to 3% usage and never go above 4% after. For a 20 minute video last night, it took over 2 hours to finish exporting. There is a couple of transitions and HTML filters but nothing that should have caused such a long processing time. I was able to get it to export the same file at the 26% or higher usage and it took 24 minutes. Processing without hardware encoding checked, it took about 50 minutes. I have a decent laptop (specs: Dell Inspirion with a Ryzen 5 2500, 32GB of RAM, Ubuntu Studio) with power management set to never turn off.

Any help would be much appreciated!

It depends e.g. of the amount of filters and keyframes…, much == long. :slight_smile:
(And of course of your hardware :wink: )

In my experience it also depends on the hardware of your computer.

Bolt this onto your CPU and it will help out a lot.

Video Editing is CPU intensive. If you’re attempting to video edit from a laptop, there is a lot less air flow, thus a lot less heat dissipation. If anything run all fans on the highest settings. Intel CPU’s have internal heat protections in place. Depending upon the motherboard manufacturer and the software that’s on it, it may throttle your CPU to prevent overheating.

Thank you for all the ideas, guys. I will check out the encoder idea. I also today trialled Adobe Rush. It did a little better time-wise with exporting, but not hugely, so I guess it’s a lot to do with my laptop.

Thanks again

Dev

The output (frame by frame plus filters etc.) uses 80% CPU,
the encoder uses rest 20% CPU.

Meaning, even you tune up a super fast god like encoder, you can only save about 20% exporting time.

Time to try out Ryzen 9 (11x times faster than my current i3 CPU), 4K live time export guaranteed.

What I’ve read?! 11 times? This sounds like a “must have”… :slight_smile:

@Earlybite
Yea, 8 years time makes differences:
https://www.cpubenchmark.net/compare/AMD-Ryzen-9-3950X-vs-Intel-i3-2100T/3598vs750

And you have a direct comparison from your I3 and and that Ryzen-9 on the same project?

Oh no. Since I start doing the video editing, first time in my life I feel the CPU bottleneck, thinking Ryzen9 maybe my next PC.

The cpumark has got a pretty linear score system (double points normally means double the speed) using general test algorithms, so it is very likely to be 11 times faster in real life.

Great information, thank you. I also never released my laptop was so feeble til I started doing video editing!

I realize everyone gets excited about new hardware (including me), but I feel a duty to warn that going from a laptop to a Ryzen 9 will most likely not produce an 11x improvement in export times. I think it’s only fair to make sure that expectations are well-informed before people spend major cash for hardware that can’t fulfill its promise.

The issue is that the code in Shotcut is not written to be multi-threaded enough to take advantage of every processor available. It doesn’t matter that a Ryzen 9 has 32 logical cores if the Shotcut code is only addressing 8 of them. Hardware selection has lots of nuances and they are detailed in the post linked below. This post is simply an attempt to increase buyer awareness before any expensive purchases are made.

1 Like

What an insightful post! You just saved me maybe few hundred bucks! Happy new year!
Sum up:

  1. 8 logical cores CPU is the best performance/value choice at the moment for Shotcut
  2. Beyond 8 logical cores, more cores will help a bit in export encoding workload, but not too much.
  3. When using a CPU with 8 logical cores or more, the performance per core is more important than anything else.
  4. Graphic Card doesn’t matter.

Here is a CPU single thread (performance per logical cores) rank chart, purchase wisely accordingly.

(it seems ryzen9 will be a big waste of money. A ryzen5-3600 with 12 logical cores in top20 performance per core @ only $189 is a much sensible choice)

You summarized it well. It’s a very nuanced thing, and every user’s workload is different, so it’s all about a user understanding what they’re doing and how the hardware can best assist it.

For instance, if somebody is going to use libx264 software encoding using medium or slow preset most of the time, then having more than 8 cores (all being fast of course) is very helpful because libx264 itself is extremely CPU-heavy. Having 8 cores for the Shotcut pipeline and 8 cores for libx264 is a very nice balance. libx264 can use more cores with the slow preset if money is no object, but it gets into diminishing returns if on a budget. However, if somebody uses the fast or veryfast preset most of the time (which is the YouTube export preset default), libx264 will barely use additional cores because those presets are optimized to be light on CPU for real-time encoding (as in, ideal for game streamers using OBS).

As for graphics card, that also depends on a user’s preferences. If somebody wants to get an RTX 2060 at $350 just to have a capable hardware encoding option, that takes a lot of load off the CPU allowing it to be downsized significantly while still improving the export time. But other graphics cards, in my very subjective opinion of course, do not matter because they’re oversized for the Shotcut preview window while not being good enough for a final export.

Then lastly, it depends on what else a user wants to do with the computer. If they have other goals besides Shotcut, like gaming or 3D animation or batch RAW processing in Lightroom, then maybe they want 32 logical cores for those purposes. Or maybe somebody wants to run multiple copies of Shotcut at the same time with each copy exporting a different project. Having 32 logical cores would allow multiple copies to run each at full speed.

This is why the answer to hardware questions is always “it depends” and some people find it dissatisfying, but it’s the reality of it.

It is to bad Shotcut doesn’t do batches, that way I think the time to render a video would be less of an issue. Now if you do a couple of vids you have to wait for one to finish to be able to load the next one to be rendered.

You’re in luck… Shotcut already does batches in the form of a job queue.

  1. Start exporting the first video.
  2. Open the next MLT project without closing Shotcut.
  3. Export the second video.
  4. Notice an entry for it is added to the Jobs panel that says “Pending”.

If you need more control than that, there is also the option to export from command-line using melt.exe

1 Like

Thanks, I never tried that.

Fast cpu’s are great but one thing people always gloss over is storage, I did some testing with my dual xeon workstation and you can see storage(especially spinning disk) can be a huge bottleneck, Results are in minutes and this was done with the prepackaged “fire escape” benchmark that is available on this forum.