Saving export profile doesn't save all parameters

When I configure export settings and try to save them as a new profile, not all parameters are saved. This differs, sometimes it doesn’t save the framerate, sometimes it doesn’t save the resolution, other times it doesn’t save the quality settings.

The easiest way to reproduce this is by setting the framerate to 59.940060. When I save it won’t save the framerate. Then, when I select another profile with a different framerate that was saved properly (say 30FPS), and switch back to my saved profile, the framerate will remain 30FPS and not go back to the 59.940060 that I saved.

I assume you mean preset. Do you know if it failed to save all or failed to apply all when used? The easiest way to get more help is by sharing the preset you have made. You can do that by Settings > App Data Directory > Show > presets > encode

Yeah, I meant presets.

It seems to ignore these parameters when saving, but not always. If I had to guess, it sees a value that it treats as the ‘default’ value, so it ignores it. Here’s a screenshot of my settings and the generated preset file:

shotcut-export

vpre=medium
preset=medium
movflags=+faststart
f=mp4
acodec=aac
channels=2
ar=48000
ab=256k
vcodec=h264_nvenc
rc=constqp
vglobal_quality=23
vq=23
g=299
bf=3
top_field_first=2
deinterlace_method=yadif
rescale=bilinear
threads=7

In this example neither the FPS nor the resolution are saved as part of the preset, despite me setting both of those manually. And when loading this preset, it ignores the FPS and resolution values, leaving them with whatever value they had before.

Here’s a video demonstrating the issue:

  • I select the Twitter preset, which has 30FPS saved.
  • I change the FPS to 59.94
  • I save as a new preset ‘Test’
  • I load the Twitter preset again, the framerate changes back to 30 as saved in the Twitter preset
  • Then I change to my newly saved ‘Test’ preset, but the framerate remains 30 - despite me specifically changing it to 59.94 before I created the preset.

For whatever reason :roll_eyes: Shotcut saves Profiles and Presets separately. Some parameters go on one, and some in the other.

So to get all of the parameters, save the codec tab parameters in the Preset created with the Export +, and your Video tab parameters, including frame rate, in a Profile created in Settings, Video Mode, Custom.

In each new project, select each of these separately.

—OR—

(As I have recently discovered by experiment)
Copy the frame rate etc from your custom Profile into your custom Preset in a text editor such as Kate…

f=mp4
acodec=aac
channels=2
ar=48000
ab=384k
vcodec=h264_nvenc
rc=constqp
vglobal_quality=23
vq=23
g=150
bf=3
width=1920
height=1080
top_field_first=2
deinterlace_method=yadif
rescale=bicubic
threads=3
meta.preset.extension=mp4
sample_aspect_num=1
sample_aspect_den=1
display_aspect_num=16
display_aspect_den=9
progressive=1
colorspace=709
frame_rate_num=30000
frame_rate_den=1000

And it loads everything in one go.

frame_rate_num=30000
frame_rate_den=1000

is probably what is most relevant to this particular discussion.

I confirmed that resolution and frame rate on the video tab are not saved unless you changed them from the current Video Mode. This behavior changed with version 20.02. We can accept this as a bug.

2 Likes

Shotcut saves Profiles and Presets separately

It’s not exactly that, because non-default values are indeed saved as part of the preset, and when you select a preset it switches the values, but then when you select a preset that was saved using the default values, it doesn’t switch back.

frame_rate_num=30000
frame_rate_den=1000

Yeah, that’s what I ended up doing as well, same with resolution (width/height parameters). But it’s not very intuitive / user friendly.

This behavior changed with version 20.02. We can accept this as a bug

Alright, thanks, let me know if you need anything else from my side.

1 Like

Yup.
:grin:

This is fixed for the next version 21.04

1 Like