Shotcut export drops frames

Using Mac OS X 14.2.1
and Shotcut 23.12.15

I notice that exporting a video often results in some frames being dropped, and neighboring frames being duplicated. So I did this simple test:

  1. Open a new empty project in Shotcut, 25 fps, Drag in an all-black jpeg
  2. Apply the timer filter, so each frame displays its timecode, 0.04, 0.08, etc
  3. Export, default settings.
  4. The resulting file is normal up to 1.40 seconds. I am missing the frame for 1.40, and get 2 copies of 1.44. Again at 1.64 (I get two 1.68’s) and 1.92 and so on. Also strange, 1.16 prints as 1.15
  5. This outcome is the same as viewed in VLC (frame by brame using the e key), Quicktime, and by opening a new project in Shotcut to view this new movie file.

Please advise.

1 Like

Test with Windows 10
Shotcut 23.12.15
Video Mode 1080, 25fps
25fps 10sec.mlt (7.0 KB)
I added a few more filters. Text filters that show timecode and frame counts.
Exported this video:

Exported frame from Shotcut of exported video:

Perhaps this is just related to Mac OS X. I have no way to test with Mac OS.

Do you use an slow external harddrive for your photos?
I did have the same issues on Linux when my source jpeg files have been stored on an external harddrive. Especially when the file has a small size.
The OS refuced the file accesses for Shotcut even the file was fine on.

My solution was storing the jpegs on my main SSD and every worked as expected.
It also could be something about LC_NUMERIC, too. (international typeset mismatches).

I do not reproduce it (tested on macOS)

Drag in an all-black jpeg

And drop it where? There are 3 drop targets.

Apply the timer filter, so each frame displays its timecode

That is not timecode and makes this more difficult to see and test than necessary. The default shows 2 decimal digits of seconds. Instead, use the Text: Simple filter, which defaults to real SMPTE timecode.

Export, default settings

With or without hardware encoder? Is Export > Video > Parallel processing turned on? I tested with both on, which is most pessimistic combination.

Wow, thanks for all the quick replies.

I have a 4 second video clip that reliably shows this problem time after time.

Answers to some questions: The hardware and parallel options are not selected
Dragged source file to the project timeline
All files are stored on internal SSD (M1 mac)
The problem occurs with either “timer” or “text: simple” filter
The problem does NOT occur with Shotcut version 22.12.21

Updated steps to reproduce problem:

  1. New Shotcut project with Shotcut 23.12.15
  2. Drag the attached file to the project timeline
  3. Apply the Text: Simple filter (leave everything default)
  4. Export (leave everything default)
    Result: the output file is missing the following frames: 1:10, 1:16, 1:22, 2:07, 2:19, 3:07, 3:19 (all the frames are not missing in the project prior to export)

Your video is all black.

I reproduced it with Settings > GPU Effects (unstable) turned on. Is yours turned on?

Since I do not reproduce it with GPU Effects turned off, I made a clip called timecode.mp4. Then, turned GPU Effects back on and added timecode.mp4 to the timeline. Next, I added another text filter with timecode in a different color and position. Finally, export and review. It has the same problem with both timecodes skipping or repeating. I think this means there is a problem between the GPU and the encoder. It is interesting that preview does not show that.

Yes

No mine is off

I’m glad that you can corroborate the problem, even if it is with different settings than I have (GPU effects). I would like to learn what causes this. Until someone figures it out, I guess I will stick with version 22.12.21

OK, now I have reproduced it using your base1.mp4 even with GPU Effects turned off. Returning to my timecode.mp4 that I made loaded into the timeline with video mode made by base1.mp4, I reproduce it again. After File > Close and make a new project based on timecode.mp4 (video mode automatic), and I no longer reproduce it. Next, set a video mode with same frame rate (25) but different resolution, and it still does not reproduce. Do the same with base1.mp4 and not reproduced. Either, it is intermittent or certain conditions that cause the bug are not yet found.

I figured out the combination of factors that causes this:

  • macOS
  • Shotcut version 23.x
  • Automatic Video Mode
  • 25 fps (video source or any non-video source that establishes video mode at 25 fps)

There is a possible workaround to set a non-Automatic Video Mode. (A video mode that matches base1.mp4 combined with base1.mp4 does not work, but one that is 25 fps 854x480 with display aspect ratio 16:9 does, for example).

Also, the problem goes away if you had used Automatic Video Mode and choose Properties > Output > Edit and change Resolution or Aspect ratio.

I don’t understand this part (in bold). Is it “Properties” from the toolbar? (I don’t see “output” in there). Thank you

Should have been Output > Properties

This is fixed for the next version 24.01 due in a day or two.

I confirm it is fixed in the newest version on my computer
Thank you so much for the rapid fix!

1 Like