My first larger Shotcut project consists of an interview situation with 2 cameras (iPhone with 29,97fps and a Fuji DSC with 30 fps, both at 1920x1080) and a spearate (stereo) audio track, shot in two takes.
Project 1: combines/switches the video sources of Take 1, using effects (besides switching between cameras), except for a couple of seconds of keyframes for a zoom-in. Duration after export: 9:12 mins
Project 2: combines/switches the video sources of Take 2, no keyframes. Duration after export: 2:02 mins
Project 3: just appending Project 2 to Project 1, trimming overlaps. Duration after export: 9:38 mins
What confused my was the time it took for exporting:
Project 1 took about 20 mins, Project 2 some 8 mins (both at “Default” export properties: 1920x1080, 50fps, ~60MBps)
Project 3 took more than 4 hours (1920x1080, 50fps, VBR with max 8MBps) to export!!!
I understand that keyframes and combining tracks of cameras with different resolutions is time consuming, but this was only the case in Projects 1 and 2.
==> Why did it take so long for Project 3 to basically just stitch 2 tracks together, with no additional effects, where both tracks were already at the same video/audio properties? Was it really just the downgrading in bitrate (60 MBps -> VBR)?
Machine shouldn’t matter - was the same for all 3 projects (Intel Core i5-4570, 8GB RAM).
Using Shotcut 20.04.12 on Win8.1
You did not explain how you did that, and there are a few ways to do it.
In Export, was hardware encoder or parallel processing on?
If you export projects 1 and 2 using a long GOP and then used those to make project 3, these exports will be slow to seek. Then, if parallel processing was on when exporting project 3 the frames may be accessed out-of-order and continually hit upon the slow seeking.
With “appending” I mean: Project 1 (Video without audio + separate audio track) and Project 2 (video with included audio) were both on their own tracks. I trimmed start and end of both videos to remove overlaps so that they fit seamlessly together, then exported from timeline. No further fancy edits.
Unfortunatley the project files don’t store my export settings, so I can only look at Mediainfo: Projects1 and 2 (created with “Default” export settings, as mentioned) tell me under Format settings (AVC): Profile: High@L4.2, CABAC Settings 2 Frames, Ref Frames: 2 Frames. The final export (Prj3) shows additionally: GOP: M=3, N=15 [Not that this gives me any clue :-)]
HW encoding and parallel processing was most likely on - because it sounded like a good idea making use of HW support…
Four hours does seem extreme. However, there are some things that would definitely contribute to a slowdown.
Projects 1 and 2 are 30-ish FPS but the final is 50fps. Why the change? It will probably affect the smoothness of motion. Secondly, by nearly doubling the frame rate, this should effectively double the export time as well.
Secondly, the bitrates are very different. The encoder can sometimes encode at 60Mbps much faster than 8Mbps because it takes less work to decide what to throw away to get file size down.
But again, four hours is a big difference. Was the final render in HEVC by any chance? I would expect that to be close to four hours.
Sorry if I didn’t make myself quite clear: I pulled the *.mp4 files generated by prj1 and prj2 into the playlist, and then as separate tracks (as described above) into the timeline, trimmed/edited them there and then exported from timeline.
Not quite: the original camera files which were source to prj1 and prj2 were 30ish in fps. The output of each of the projects were then at 50fps - and export times were reasonable (some 20 mins and 8 mins). Both the so-generated mp4 files were used as input to project 3, so both were already at 50fps when I stitched them together.
Secondly, the bitrates are very different.
The goal was to get to a minimum file size and the most effective way for me seemed to bump the bitrate.
Was the final render in HEVC by any chance?
Im 99,9% sure that it was not (definitely not intentionally, since I was in search of small file size), but since the actually used export configuration doesn’t seem to be stored anywhere in the project (or did I miss it?) I can only look into the output file with Mediainfo - and this tells me “AVC” as the encoder. I should see HEVC there if it was used, right?
Side note: For simple trim-and-add-title edits I used the ancient Windows Movie Maker 6.0 and was fairly happy with the file size/quality compromise it offered in the “Flickr” export configuration (1280x720, 29,97fps, ~1900kbps). You don’t get any more information about the export parameters except resolution and bitrate (unlike in Shortcut ) and I am still looking how to recreate such an export configuration to get ~80MB in size for a ~5 min video in Shotcut. Hence the hours I spent on fiddling with export options. And then came the 4hrs export time around