Experience report from editing a concert in Shotcut

I have just finished and released a relatively big edit of a concert made in Shotcut. I’m writing this experience report to give my impression of Shotcuts good and bad aspects from my point of view - with the intention of helping the project. We really need a stable and featureful NLE for Linux, and Shotcut is the closest to this I’ve tried (I tried all the most featureful FOSS NLEs).

The context of my critique is that I have a lot of experience editing in different proprietary NLEs over time including Avid, Finalcut Pro and Lightworks. I also am a programmer/artist and experienced in designing efficient workflows.

Thank you for your great work on Shotcut - I think it’s promising as a great FOSS NLE, but it’s sadly still lacking a bit too much for me to use it for future projects in its current state.

spec: tech

  • Linux: Arch Linux
  • Shotcut installed via pacman, version 24.04-1

spec: the video-project

  • over 5 synchronized video tracks from different cameras + 5 audio tracks.
  • the project is ~ 1h of footage
  • ~ 1400 colour-coded marks on the timeline within shotcut

the good stuff

  • best opensource NLE I’ve tried
  • doesn’t crash too much, which other FOSS NLEs does a lot…
  • the simplicity of fading video in/out via pull knob on clips on timeline
  • the UI for controlling effect keyframes
  • the possibility of loading a separate mlt file as a source video into a project
    • though,
      • as mentioned later, it has some bugs when cutting in it on the timeline
      • you can’t save a timeline within a single project as a source clip
  • the separate UI layouts for different workflows,
    • and that they can be changed to fit your own workflow

the overall bad

  • in general shotcut is pretty slow on a big project - it scales badly
    • this is accentuated with not being able to handle a lot of marks - but even with all these removed, it’s still slow to zoom and move around on the timeline
  • there are annoying bugs hiding around

specific bugs

  • when playing the edit on the timeline, suddenly tracks were played as if being in different order than what was the case
    • I could “fix” this by changing order of tracks back and forth
  • the 1400 marks:
    • makes shotcut very slow when handling the timeline - moving around and zooming
      • also makes shotcut startup slowly on one of my machines, but for some reason not as slowly on my other machine running the same shotcut version on Manjaro
    • makes shotcut stutter when adding new mark while playing back
    • when reordering the 1,4k marks by clicking ‘start time’,
      • Shotcut spends 3 minutes to sort them on my machine …
  • when opening an mlt as clip in another project
    • makes Shotcut crash when pressing ‘s’ on timeline to cut the extracted clip up
      • … this crash only happens at specific spots in the inserted mlt in timeline
  • when having grouped separate audio/video-tracks together
    • then when splitting them at cursor
      • the left part isn’t grouped anymore, but the right is
        • => expected: both should be grouped if the original was
  • when moving a grouped audio+video clip up/down with mouse, when there are more surrounding video/audio tracks
    • the video can be moved to an audio-track and vice versa
      • … this is also possible with just moving a separate video-clip (with no audio) by itself
      • => expected:
        • audio-part goes down to the next audio-track
        • video goes up to the next video track
        • < why; one starts with a single video + audio track
          • then when one wants to add another video/audio-track, to e.g. move temporary stuff to an invisible video-track + muted audio-track
            • then currently, one can’t just cut and move the clip to the newly added audio/video tracks
            • < this suggestion was btw. also the behaviour of the old final cut pro
  • when changing project fps from 25 to 60 the editpoints becomes wrong
    • so two videos on different tracks doesn’t start/stop at exact same point anymore
      • < note; the different video-source material has different framerates
  • when playing the timeline, the playback often stutters on video-cut-point between two videos on different tracks
    • … when moving cursor back to just before cut-point and replaying, it fixes stutter a bit
      • so there is some caching of recent source-video going on (on OS?)
        • … note that I use a fast nvme-ssd for the source-material, so is not the problem
    • … maybe related - when starting up playback in middle of some video-clip on timeline, there is stuttering a bit before playback finally stabilizes after some seconds
      • so it seems like it needs to “load video into memory” on start playback of some new src video
    • => expected: Shotcut could on playback pre-seek into upcoming video-sources so there is no delay
  • when some clip on timeline has ‘size & position’ as first filter (and even though filter is disabled) - when playing back timeline - an resize-overlay comes on top of video
    • => expected; only show resize overlay when one is in process of resizing
  • when a video-clip on timeline has the filter “fade in/out video” and “adjust opacity…” is enabled
    • then there are colour problems in the parts where there are no underlying video
      • … the default should be to mix with the black bg
  • when doing ‘open other’ and having selected a specific video-track, the thing inserted is inserted on a new video-track
    • => expected; when pressing ‘insert in timeline’, the thing is inserted on the selected video-track
  • export audio
    • maybe caused by me not using left menu presets, but choosing settings manually
      • exporting wav seems not to work properly
        • there is no progress in progress-bar when exporting
        • there are lines printed about video-encoding in the log - should not be the case…
      • exporting mp3 fails
  • scrolling back and forth on timeline and pulling in stuff (in general interacting with timeline) is extremely slow in a big project (specify how big mine is)
    • it’s also extremely slow to zoom
  • when a project has been set to e.g. HD 60fps, and you remove all clips from timeline, then the project is reset back to 25fps
    • => expected; project should keep the project settings you manually set
  • crashes on undo sometimes
    • e.g. just moved a clip a bit on a track, and undo’d it - then crash
  • the text-box tables are broken…
    • problems with wrong default colours on new fields
    • randomly switches text-size to micro-size and resets font used
    • when double-clicking on field in table and then pasting it elsewhere - breaks everything
  • sometimes undo-history doesn’t make sense
    • e.g. I dragged the start of a clip a bit too much on top of another, so they got a transition applied
      • then I undo’d to remove it, which didn’t happen - but instead shotcut undoed my previous actions
        • the clips stayed in position with the new transition while undoing past that point in history
  • suddenly clips went missing from certain spots on the timeline in some track
    • everything was still in sync
    • and every track still had clips
    • but now there were a lot of spots that didn’t have clips anymore
  • when exporting a file and choosing settings, then opening up the project later
    • the export settings are reset
      • => expected; save the export-settings
  • when exporting timeline with other MLT’s inserted on timeline
    • I experienced that some text suddenly changed colour to black instead of white
      • plus some other text at another point was white - so it wasn’t a consistent bug
      • I later went in to the imported MLT and configured the text again -
        • the configuration showed that the text was black, but it was shown in the viewer as white
  • when using keyframes inside some animation of a clip, and then making clip smaller, so the last keyframe is dropped, you break the whole animation

feature requests

  • let one be able to watch the edit in real full-screen without any framing
  • make it possible to use timelines as clips,
    • to save these in “playlist” or better; some folder-structure
  • enable one to save clips to folders instead-of/as-well-as a flat playlist
  • make it possible/default to overwrite when you copy-paste in a track instead of move all clips
    • … it’s a problem to not have this feature when working with syncd video/audio tracks and you want to do some special editing within the syncd video track
      • my hacky solution was to insert video on a new video-track, where sync didn’t matter, then pull the clip into the intended track
  • double-clicking on a clip on timeline could be useful to open the clip up as “source” instead of just keeping the time-line (“project”) viewer
    • this could be used to set in/out points for insertion of part of clip again into timeline elsewhere
  • be able to open several projects, as one might have made an error in earlier version of project, and want to copy parts of that project back to the new version
  • be able to set in/out points on a timeline for exporting
    • and for ‘save as source clip’
    • < I needed to open MLT project in another project to only export parts of a timeline (which is a nice feature though)
  • Shotcut shouldn’t add transitions to clips that are dragged to become longer, which then overlaps another clip a bit on timeline
    • it’s almost impossible to drag a clip to start directly when another stops
      • which is harder as the dragged clips doesn’t follow mouse precisely
    • => idea; let ‘magnet’ feature jump the clip-edge to the edge of the next clip when being near
  • when pressing e.g. ‘timeline’ at the top of screen, it would be nice if this was a toggle instead -
    • so one can disable that window this way
  • when pressing the black area/grey in timeline where there are no clips, the current clip should be deselected
    • as when pressing some random track
      • < why; this would be much more userfriendly - as of now, one can’t get the other video-filters to apply if one of them is actively selected in the middle of filter-stack,
        • and one can’t avoid showing the surrounding textbox if working with text
1 Like

Most of these are things I haven’t encountered, but I have run into these two and found them to be minor annoyances:

The first one somewhat obscures the video and I’d agree it’s not useful other than when making adjustments to the filter settings.

The second can be worked around by putting a black image on a video layer below, but it would be nice if this weren’t necessary. I expect that someone would then complain “but I want it to be transparent, not black” so perhaps the solution would be for the project itself to have a user-settable default background so that the user can choose whether it’s transparent or black (or even hot pink if that’s the user’s preference).

1 Like

Oh boy, that’s a long post, but heck, I’ll go through the stuff I can help with.

For the big reproducible bugs you should post individual threads with step by step details. For the suggestions… there’s a very long todo/roadmap but too few developers.

One thing to note is you’re using an older release, some things might have improved/fixed or implemented on latest. But it’s usually recommended to stay and finish on the same release for a complex project so depending on when you started this might not matter.

The overlay shows whenever the filter is selected, the clip you’re currently selected has the SPR filter first so it’s auto selected I guess. You can click on the X (=Deselect filter) inside the filter panel to clear the selection or click on something else that doesn’t have a filter with overlay like the track heads or output. Alternatively Ctrl+D will deselect the clip and overlay will disappear.

I’d also prefer this, but I guess this would ruin any video exported with transparency. On the same note the fade in/out “Adjust opacity instead of fade with black” should either globally be remembered or check if there’s any video below to have the same behaviour as on track 1…

Technically it’s not just a long timeline but many small clips, if you put a 10 hour long video the zoom and scroll will be instant. But I agree with this, the timeline doesn’t scale well into complex projects.

AFAIK, this only happens if video mode is Automatic. Are you sure you manually set it?

I think a bunch of missing undo/undo crashes were fixed in the last few releases,
I remember especially something related with transitions (and also some with ripple on multiple tracks which sounds very similar to your bug). If you can reproduce them on the latest release you should post a specific bug.

This sounds like a suggestion not a bug. There’s a default export and you can save custom ones if you want to reuse, including across multiple projects.

This is called ripple in Shotcut, Ctrl+V “inserts by moving”, the shortcut is “B” to paste-overwrite.

I disagree here - I like my double click to stay in project mode. You can easily Ctrl+C with that clip selected and it will load it into source player (you have to manually switch to it afterwards, shortcut: “P” )

You can open shotcut itself multiple times and load different projects to do this. I’m using windows but I assume you can in linux too. Just double click on shotcut not on a project file.

You can use a ranged marker to select an area and export only that.

This behaviour depends on Ripple mode. If ripple is enabled, the transition won’t appear because you’ll just move (=ripple) all the following clips to make space.

As a workaround you can use it’s shortcut (ctrl+5) and it will actually toggle it.

I personally diasbled the rectangle selection and always click in a dark area to move the trackhead there. I guess selecting “nothing” with the rectangle should deselect stuff. There’s always the quick Ctrl+D shortcut.

1 Like

Yes, I think this makes sense. I also ended up doing what you suggest to avoid the problem, but it felt cumbersome, as I don’t need transparency. So it’s a UX problem.

I think it would be nice if one simply could press somewhere where there are no clips on the timeline to deselect clips. This feels like a GUI standard. Currently clicking there has no effect.

Yes, but I guess one can choose an efficient datastructure to represent the clips here. The same seems to be the problem with “marks”, which apparantly use a very inefficient datastructure.

I selected 60fps in the project configuration dropdown, then removed clips, and project ended up auto-choosing based on next inserted footage.

Ah I see - didn’t find the symbol on the timeline-toolbar, as I felt it didn’t hint at the semantics, and it’s not placed close by “paste”.

Hmm, this seems like a weird way to open clip as source, as Ctrl-C is “copy”, and then knowing that it then will be loaded int o “source viewer”

What is the advantage of keeping project mode when double clicking? What is your intention when double-clicking?

Heh okay, maybe hints at a UX issue then. I can see now it works on Linux too.

Hmm, this seems non-obvious

Okay - tried to learn about Shotcut semantics from tutorials, but didn’t learn about this.
What is the best resource to learn about the intended workflows? Maybe this potential resource should be linked from the tutorials-page too

It’s fine that there is some workaround, but I think my intention is more to make the UX of Shotcut better

I think it’s very common to deselect by clicking dark areas - it’s convention. Also I think it shouldn’t be neccesary to learn shortcuts to do stuff - shortcuts are for efficiency, not for extra semantics. This is the advantage of GUI’s - that users can intuitively do stuff without diving into all shortcuts

I think the answer to most “why is this the way it is by using this workaround instead of a direct way” issues is lack of developer time or it’s just too complex to implement it that way.
Being a free and open source app it means everyone can contribute but in reality there’s basically 2 people working on the app and it’s amazing how stable and feature rich is just by knowing this detail.

There’s a lot of details that you learn in time either by browsing the forum or by looking at youtube tutorials. This is true of any complex app - there’s just too many tips and tricks to learn them all in one go.

In the begining I couldn’t wrap my mind on why there’s separate source and project panels but they eventually started to make sense: source is for editing a clip before you commit it to the timeline, think of it as a non-destructive work-room where you can practice stuff on that clip to see what it’ll look best.

If you copy a clip, then it’s put into that work room as it’s not part of the project anymore, you can tweak it there as you’d like then it is your choice whether to paste it into the project timeline, store it in the playlist or paste it in a different shotcut window. If you want to edit it directly you can do so by editing it in the timeline - drag the edges to change start/end points, add effects directly etc.

I don’t know, there’s so many tutorials and the program is adding new features every month. I personally learned by reading the forum and looking at what other people do.


In the end I do want to point out that I’m not trying to actively to counter your suggestions, most of them are pretty useful so if I mention there’s a workaround it’s just because a suggestion that can be instead reached with 2 quick keyboard shortcuts is unlikely to be worth the time to implement and test it.

I’ve also posted plenty of suggestions on the forum, most of them were ignored, some were accepted as maybe and some that had more support were even implemented.

1 Like

I’d argue that if there’s any change made to the current default, it should be a user preference, because maybe my use is weird but for me at least neither of those would be better than the current situation. The only thing that would be an improvement for me would be to have a different default on each video layer, and having user preferences for individual filters on a per-track basis strikes me as an unreasonable request.

(My videos typically fade in/out from/to black on V1, but fades on other video layers are generally from/to transparent because they’re overlays such as titles or photos. The current situation means I often have to turn the check box off. If I had the option to reverse the default, that would just mean I’d often have to turn the check box on instead. “Same as on lower track” would virtually always get it wrong for me. “Same as last” would get it wrong enough that I’d always have to remember to look at the check box, which isn’t much of a win. For example, https://youtu.be/yHbOA6quLNw?si=PgxvIKWbsIwGbJG8 is a good demonstration of how I use video fades.)

This would match the 2nd part of my idea, if there’s a clip below it, fade to transparent, but if there is nothing to fade into, then fade to black. My issue is I use tracks to organize clips into categories/scenes (mostly no overlaps) so this makes me almost always want to fade to black.

Now that I think about it, this fading difference would not be needed if there would be an option to blend with a “track 0” solid black color instead of transparent.

There is an option to do that today. You can add a bottom track and fill it with a black Color clip. Maybe you would call that a “workaround for a GUI problem”. But we do not want to burden all projects with the extra overhead of having an extra track that most people do not use/need.

As a convenience, you can make a template project that has the bottom black track and then always start new projects from that template. I think may people keep a template project to reuse various features that they personally find useful.

My original “issue” was that fade in/outs have different fading behaviours depending on track, I understand the reason but it doesn’t match my most used workflow. This is just a minor annoyance and unchecking that checkbox is less cumbersome (and probably more efficient?) than the workarounds.