GPU doesn't seem to get tasked


#6

If Shotcut is not using 100% of your CPU, then you might be I/O bound. What kind of hard drive do you have? I saw my performance improve drastically when I switched to an SSD.

What kind of files are you trying to edit (file type, codec and bitrate)? Some types of files are more challenging to decode than others.

I can’t tell from your screenshot, but I do not think your computer could handle 4K if you are editing that.

Is the performance poor when playing a file with no filters? Or, can you identify a specific filter that seems to cause the most problems?

Have you tried changing the display method? (Settings->Display Method)?

If your files are interlaced, try changing Settings->Deinterlacer to “one field”.

Changing Settings->Interpolation to “nearest neighbor” can improve real-time response (at the cost of preview quality).

None of the player settings affect export quality, by the way. So feel free to experiment.


#7

Yes, my main drive is a SSD. From the screenshot above, you can see it’s sitting at 1% utilization, so I don’t think it’s disk IO. The video file is actually shot using an iphone XR front camera. 1920x1080 h.264p. It’s not super high quality. These videos are just facebook promos.

My computer is running an i5-4590, 4 cores at 3.3Ghz with 16GB of RAM. My single thread rating is almost as high as the latest 9th gen i5s, and the only real difference is number of cores (6 versus 4).

You can build a faster computer, but I would not call mine slow. But, again, the CPU is NOT maxing out. So, would bigger actually help?

I increased the priority of shotcut to “realtime” but that didn’t make a difference either. I guess I’ll just have to live with it. Shotcut is the first real video editor I’ve used. I’ll try to download some of the other video editors and see if they have similar issues… again, it might just be the nature of video editing that I will have to learn to live with!

Thanks again for the input!

Dave


#8

I agree. Your computer is no slouch. I would expect it to work fine with 1920x1080 h.264 files.

Can you narrow your performance issue to any particular filter?

It is almost acting like Shotcut is only using one thread for some reason.

You didn’t accidentally install the 32bit version, did you?


#9

It’s the 64 bit. The latest installer I used was shotcut-win64-190127.exe.

chroma key is definitely a big one. And then when I add transitions, fade in, fade out, it really jitters during those renders.


#10

The multi-threading in Shotcut (and MLT and FFmpeg) is complicated. There are many threads and many areas of code where there is parallelism, and many other areas of code that are not thread safe and have locks to protect them. It most certainly using multiple threads but there are bottlenecks that prevent maxing it out, not to mention many areas of code that are not optimized for SIMD CPU instructions.

When you turn off Settings > Realtime, it will use more threads for something that is equivalent to Export > Advanced > Video Parallel processing. It enables something called “frame threading,” but that setting also requires rendering each frame even if it makes playback slower than realtime and makes the audio stutter. Also, there are a few filters that are not compatible with frame threading (e.g. Sharpen), and that introduces a bottleneck. It is complicated, it depends on many things, and there is not much you can do except try what has already been suggested here including the above.


#11

Just read up on the use of “proxy” files. I think that’s going to be the trick from here on out. Even if shotcut used 100% of my cpu, i would probably still get some jitter. Now that I’ve added multiple alpha channel filters, and key spill filter, it’s crazy jittering. unwatchable. Using the low quality proxy file is going to be the answer. I’ve been reading that no matter what product you are using or how fast your computer, this is an issue, and most folks are creating proxy files for this very reason (or some software products create a temp low res file for editing)… That would be a cool feature on shotcut. Maybe a pop up when something HD or higher is imported that says “you’ve imported a high resolution file. Would you like to temporarily lower the quality for better playback during editing? This will not effect the final export quality.” And I’ll click YES every time. :slight_smile: And it can convert it for me and do all the file swapping at time of export.

thanks!

dave


#12

Proxy is on the near term road map, but it must be accompanied by conversion to edit-friendly (optimized media in other programs) as a strongly encouraged option. Otherwise. there will be many support issues where the final output does not look like the version previewed (edits in the wrong place, files not seeking good, audio artifacts, etc.). People throw all sorts of garbage media at Shotcut. At least currently people can usually experience some issues in preview and convert manually to resolve. Proxy media will mask all the possible issues that will occur at the time of export.

One of the design goals of Shotcut is that you can quickly and easily drag-n-drop files from a file manager to the player to preview them before deciding to include them your project. Displaying a modal dialog for all HD+ is a major impediment to that workflow, and I will not be doing that. Proxy media will be an option in the New Project view and convert basically all media at the time it is added to either Playlist or Timelime. Maybe there will also be a per-file option somewhere when not using a project folder, but I have yet to fully design this.


#13

Sounds awesome! Looking forward to it. I was planning on converting my media to lower res using handbrake for my next video (I’ll start on it this weekend), so I promise not to complain when I screw it up! :):roll_eyes:


#14

Before you go through that effort, have you tried using the “Convert to edit friendly” feature in Shotcut? It might make a difference.


#15

Where can I select that “Convert to edit friendly” function?
I have also experienced problems that affected the visualization of my project.
This is an important handicap.
Most of my edits are a video track FullHD 1920 x 1080px at 30fps, some static images and some waveform effect or audio spectrum. There is no problem with this.
However when I incorporate filters (Chroma Key for example) the workflow is not fluid. .

I’m very happy with the roadmap about the proxy files. I hope you achieve this goal.

I still keep Shotcut as my favorite editor, although for more complex projects I was forced to use other editors for the performance in the preview.I will keep an eye on the news.
Thank you.


#16

Select the video. Click the properties tab. Click the hamburger button.


#17

Hello. Maybe can be useful for you look for the work “proxy” in the forum. You can read about people using what you suggest before.
Ah! and read this: Proxy files - different approach from my workflow with GoPro footage and this Keyframes & Proxy Editing if you plan to use proxy files
I’m experimenting with this too, lowering video quality (using h.264 very fast preset in handbrake, with a quality adjust of RF 29-32) for editing, and substituting files with the full quality ones for export.
Please, tell me about your results.


#18

Thank you very much for the information.:slightly_smiling_face:
I try to understand how to improve the editing experience in Shotcut.
This “To Edit-friendly” function generates a larger intermediate file.
So is this intermediate file the one that I should use in the editing project?
Does the conversion to ProRes cause any loss of quality?
Is the editing-previewing experience better because, although the video file is larger, it requires fewer resources to decompress?
I know there are many doubts. I’m a rookie in all this.
Thanks in advance for any help with this.


#19

I read the linked thread.
I understood is that we can work with converted video files (reducing the quality but not the resolution), with the same name but locating in different folders (clip - proxy), edit and exchange names of folders to render (from this way the video files with the original quality would be used).
Is this correct?
What is the difference in terms of performance in the preview between using intermediate files or proxy files?
Where can I learn more about this? (I still did not find information comprehensible for me on the internet)
Thanks.


#20

Additionally, intermediate files created with the option “Convert to Edit-Friendly” can also be created in the export panel, choosing one of the custom settings included in “Intermediate” or even “lossless”?


#21

Yes. I’ve been reading all that I’ve found about this subject in this forum, and use the “Convert to Edit-Friendly” is an easy way to use “proxy” files. Other people are using the HuffYUV codec for this. Someone suggested use AC3 for audio instead AAC or FLAC.

And, as if you use lossless codecs, you get really great files, common sense says that you are better using a SSD than a HDD.

Another tip I’ve read is deactivate IFC if you use h264 for your files, that can decrease CPU usage dramatically.

Anyway, it would be great if someone with real knowledge write a guide to do it, because maybe using the “Convert to Edit-Friendly” presets let you have all these tips (no IFC etc) implemented.


#22

You refer to inter-frame compression, not to be confused with intra-frame coding. It can be confusing to use an initialism like this. For the readers, this means no P- or B-frames, only I frames. Yes, the H.264 Edit-friendly conversion preset is without inter-frame compression. It says on the dialog when you change the slider to good/medium: “I-frame-only.”

However, edit-friendly is not the same as proxy. With proxy, you need to swap the media files for the final render, but not so with edit-friendly. A proxy workflow may either return to the original source media or to edit-friendly converted files for the render to make the result more predictable and reliable. Otherwise, the software might have some challenges to accurately seek on some source formats or files (and other yet to-be-discovered problems once the feature is added into Shotcut and gets more exposure).


#23

Thanks for these clarifications.:blush:
I will do a test with a project that incorporates several effects to verify the experience in video editing.
I will share my impression on the result of these adjustments.:film_strip:
Thank you.


#24

Thank you very much. You are a great developer and a great supporter too. And very very quick answering questions and fixing and upgrading this project.

I will try some things like ejmillan, and share results here too.


#25

I was thinking about all this.:thinking:
My last somewhat complex project in Shotcut was the main video, two videos rotated 90º on top of the main video, to which I added chroma key simple.
I also added another video with a circular mask and a pair of PNG images.
Each media file had fade-in and fade-out.
Regarding the audio, I used 3 stereo track (to make a synchronization between the videos)
I thought about using the same media files and the same configuration to test the methods that have been explained in this thread, but I realized that this involved a lot of processing time.:timer_clock:
So I thought that one way to do this test was to use small fragments of all these videos. Instead of editing a 5-minute project I would edit a project of 1 minute or less.
Before getting down to work, I also thought that it might be advisable to have some average reference files for all the users that want to perform tests (videos, images, music, etc.) so that the results of the tests of the different users were comparable.
In this way, saving the differences between equipment (processor, graphics card, configurations, etc.) we would arrive at more conclusive data.
Would it be possible to do something like that? What do you think about the idea?:question::question: