Shotcut stuck processing at 99% - resolved

This “bug” has been reported on multiple forums, but the latest discussion was closed in 2021 so I could not contribute to it. I’ve encountered the same issue as many of you might, and I found the reason Shotcut gets stuck at 99% while exporting a long(ish) video, at least on my system anyway.

The issue turned out to be the fact that the video being edited and target location for export are on NAS over network. Despite 100 Mbps network speed this is far slower than local storage (typically C drive or a drive the Shotcut is installed on), especially if your “hard disk” is SSD.

Just move the source file(s) to the same local storage from networked one, edit, and export to the same local storage rather than over network to your ultimate final destination. This made time exporting sits at 99% almost 10 times shorter in my case - from around 40 min for 2 hr video to about 5-7 min. Evidently after actual processing the export handles some additional audio or cleanup or something requiring continuous data exchange or update of destination file, and accessing it over network is the culprit. Hope this info will be helpful to someone still experience exporting delays.

1 Like

My hunch is that the Export > Advanced > Other tab has a line like movflags=+faststart in it. This is indeed a post-processing step which moves the MOOV atom from the end of the file to the beginning.

The MOOV atom is a metadata unit in the file which describes the video duration, display characteristics, etc so the decoder knows how to interpret the video bitstream. When MOOV is at the front, playback can immediately begin while the rest of the file is still downloading. But if MOOV is at the end, the decoder doesn’t know what to do with downloaded data until it finally receives the MOOV atom.

The MOOV is at the end by default because technically the encoder doesn’t know how long the video is going to be until it encodes the final frame, and only then does it know what to write for the duration metadata. Moving MOOV to the front is optional, and does incur some major I/O overhead. It will be felt even more on network storage as you found. But it’s a one-time penalty that’s usually worth it. If it isn’t worth it to you, you can remove that line from the Other tab to skip that I/O.

1 Like

This topic was automatically closed after 90 days. New replies are no longer allowed.