How to "proxy" edit with Shotcut

Hi, today I was having problems while editing a video with 116 selected scenes in Shotcut. While playing the video in the timeline it was slow and would stutter at each video transition making it impossible for me to edit.

To continue the video edition with Shotcut I decided to take an approach that I already written in the forum about, proxy editing. Here are the steps I used to edit the full video with smaller files:

  1. With Shotcut, Avidemux or other similar tool convert the source videos to something named file_name-proxy.mp4 with a resolution 640x360 for 16:9 aspect ratio videos
  2. Use the *-proxy.mp4 files while editing your video within Shotcut and save a project-proxy.mlt file as usual
  3. When finished, copy the project-proxy.mlt to other name and use a text editor to remove the “-proxy” references in the mlt file
  4. Edit the header where you find width=“640” height=“360” to the final video resolution you want (this should automatically be overridden when exporting)
  5. Open the edited mlt file Shotcut and export the video with the configuration you want

I hope this helps someone while editing a more complex video with Shotcut. This should be good for everybody with computer performance problems or high resolution videos.

5 Likes

Actually, there’s no real need to edit MLT files.
Here’s how I did it:
I created a 640X360 copy of my 4K file using Handbrake which automatically adds a -1 suffix to the file name.
I make sure the original 4K and the copy are in the same working folder.
Open ShotCut and set the project setting mode to the intended output. (not sure yet that this step is necessary, but I did so as a precaution)
Import the 640x360 copy then edit as needed.
Save the project as name.mlt in the same folder as the two videos (just keeps everything together).
Remove the -1 suffix from the 640x360 copy then rename the original 4K to add the -1 suffix.
Open the saved MLT. Viola! Shotcut loads the 4K version with all the edits in place and ready for export.

1 Like

It’s another way to do it, I’m glad there is another option. I prefer to edit the mlt file since a search&replace is easier for me than change the name of the files two times.

What would happen if I had a subfolder with the projects video files in low quality, and another subfolder with identical files but in HD or whatever, and I swapped those folders’ name?
Just wondering, because I was going to try that soon and see if it would work.

1 Like

It would fail because the _sub_folder would be the wrong path to the source no matter what the name was.
You would either need to edit the .mlt or have folder1 and folder 2 as subfolders of a parent folder. That way you can then rename the folders without a problem.

I meant that even though I explained it unclearly.

Like this right (pardon my Ascii):

[video projects folder]
- [my project]
- - proj.mlt
- - [folder1]
- - - video_a.mts (640x360, low q)
- - - video_b.mts (640x360, low q)
- - [folder2]
- - - video_a.mts (1920x1080, hi q)
- - - video_b.mts (1920x1080, hi q)

I find this to be cleaner. I wasn’t sure how Shotcut would like that though, and what difficulties it might bring to the table. Stuff like xml files depending on a certain width and height one thing, but also what and what not to change in order to match the export settings. Format to name one of them. In theory I should worry about eg file checksums too but in practice I don’t do that here.

These things might require some insight into technicalities but it would be nice info.

I just tried, works 100% fine.
Remember though that before you start the project Video mode setting should be set at the desired output resolution & framerate BEFORE you import the small ‘proxy’ version/s.

2 Likes

eyeframeconverter.wordpress.com is free and made for converting videos to edit-friendly nearly lossless mjpeg, prores or dnxhd files.

If these files still are too heavy for the computer, EFC can be used to convert to both proxy and intermediate files using the above mentioned formats. And it places the files in a folderstructure where you can swap the proxy and intermediate files by a click of a button(just make sure that you import the intermediates in ShotCut first, so you get the resolution right)

The program was originally made as a workaround for some of the limitations of Lightworks, back in the day when there was a promise of Lightworks going opensource(which never happened).

1 Like

I believe you just gave me a golden information. I’ll do that always from now on. Cheers

Hi, im very new to shotcut and am experiencing the same lagging issues. I used lightworks for a while but couldn’t deal with the low frame rate. I have read over your suggestion and seems very logical (might take a while to rename all the files in my kind of editing) but worth it I’m sure. The only bit i don’t fully get is the conversion section from 4k or FHD to the lower res. is this a specific app you download to do this and is it pretty fast or time consuming?

Hi, you can use any program like the Handbrake (https://handbrake.fr/) or even Shotcut by exporting with a lower resolution each of the original videos. And yes, this activity can be time consuming depending on how big your original clips are, the final resolution and how fast your computer is.

I’ve done it thank you so much for your tip man I can finally edit my videos without frustration from the lag!

Guys, I want to share a tool with you for proxy with Shotcut. I am working almost exclusively in Shotcut on Linux for my videos since the beginning of this year, and the proxy functionality was something I needed.
So I created this utility I use with all my shotcut projects, which is an interface around ffmpeg, avvailable here, for free, open source too: front4ffmpeg
I start it and go directly to “MLT Proxy” tab, then load my .mlt project file from Shotcut. From the list of clips I can then render proxy files (best use the “same res, but LQ” setting because some filters produce different outcome if clip resolution changes). If you need, you can alternatively import clips from a folder instead from a mlt file.
Then you can use mouse right click popup menu to switch between Hi resolution and Low resolution version sof your clips. So for editting you do everything on low-res clips, then you close your project, in my tool switch all clips to hi-res versions, reopen in shotcut and render.

Imade another post on this forum where I also mentioned this tool:

I keep developing this so it becomes more and more functional in the context of working with Shotcut.
It is open source and in Free Pascal so can be compiled for every platform supported by Shotcut. I could even turn it into a plugin for bundling, could be .dll/.so/.dynlib if needed, so if anyone from Shotcut team wants I can offer this as a contribution, but if not, just please use it until native proxy lands in Shotcut.

I don’t get it. How can you edit a mp4?
Lets go over the 5 steps

  1. With Shotcut, Avidemux or other similar tool convert the source videos to something named file_name-proxy.mp4 with a resolution 640x360 for 16:9 aspect ratio videos

Ok did this.

  1. Use the *-proxy.mp4 files while editing your video within Shotcut and save a project-proxy.mlt file as usual
    When finished, copy the project-proxy.mlt to other name and use a text editor to remove the “-proxy” references in the mlt file

Well this is impossible. When you open the -proxy.mp4 in shotcut you have no timeline with all your transitions and stuff. The whole reason for doing this is because those transitions are causing extreme choppy video. If they are not there to edit in the mp4 then whats the point? Yes I dragged the mp4 down and got a timeline. But its missing all the transitions and filters and thus cannot be edited.

Never got to rest of instructions because they fail on step 2

Anyone care to elaborate on this or suggest a better way? As is Shotcut is unusable even for the simplest things.

Can’t agree, I use it all the time for the simplest of things.

You’re supposed to be opening the *.mlt file, not the .mp4

Your pc is probably more powerful them mine. Guess my 8 core processor is old news now :frowning: Thats my problem. I love Shotcut and really want to use it.

So let me understand.

A. Make a 4k movie
B. Export it as something-proxy.mp4 (640x360)
C. Do NOT use the mp4 for editing as described but use what .mlt?
Are you saying save a .mlt from the now imported -proxy.mp4?
Well just tried that and that doesn’t work either.
The only .mlt that is fully editable is the original one. No other method I have tried results in a small .mlt or a mp4 that contains all the transitions and effects.
Would you mind documenting your steps please?

I use a 6 core AMD 3ghz, 16gb ram with W10 on an SSD.
The computer was built in 2007.

  1. Create project folder
  2. Copy original video file to project folder
  3. Create low res copy using Handbrake, also save to project folder [Handbrake will auto append copy with -1]
  4. Open Shotcut and import low res copy.
  5. Press ctrl+s to save project file [name.mlt]
  6. Begin edit on low res copy, saving often.
  7. When all edits are done, save and exit Shotcut.
  8. Rename low res copy to -2, rename original video to add -1
  9. Double-click name.mlt to open project in Shotcut. This time the high res original version will load.
  10. Encode/export.

Thanks I will try it now. Your pc is worse then mine!
Never used Handbrake but will give it a try

What do you mean the original video file?
The 4K movie I made using Shotcut?
The actual original footage shot with my camera?
Wow hope not! Jeez there are dozens of shots and several stills and extra footage.

If this is true then I need to start over? And should I change all footage to low res? Guess so.
Ouch…Tell me I am wrong please

That’s the process… How you reset your workflow to make editing a little easier is your own task.
Don’t be too hard on Shotcut, it’s free and it’s your choice whether to use it. If you find that it’s not suitable for your purposes, then find another editor that is. I’ve tried them all and for my purposes only Shotcut and DaVinci Resolve cut the mustard. :wink: