YOUTUBE Uploads See-Sawing

Hello Everyone,

This happened to me just now, so I thought that I would report it.

I just spent an entire evening trying to upload a video to YouTube. I set the upload before I went to bed and then when I woke up 8 hours later, it was still incomplete.

I am using the YouTube preset with NO changes.

What I noticed was YouTube loading to, say, 20% - then BACKING UP to 10%, then going to 25%, then BACKING UP to 18% and so on and so forth. I have never seen this behaviour before with any videos I have uploaded (Direct from my cell phone and from Microsoft Movie Maker 2012).

Again, I am using the YouTube preset on the left margin of the EXPORT pane.

Can you help me understand what I am doing wrong, and what I need to change to have YouTube accept my uploads?


Can you tell me what manual settings I need to put into place to make YouTube happy?

I am using a Sanyo XACTI camera, model HD-1010

I am using the Super High Quality mode, which is 1920 x 1080 @ 60 fps

The camera claims to be recording in MPEG-4 AVC/H.264

Here are some specifications, if you need it:

Here’s some raw footage file media info, if you need it:

Here’s some Shotcut export file media info, if you need it:

Any and all help most appreciated!

I have tried to upload this video to FACEBOOK, and the upload also hangs at about 20%:


After a significant pause, Facebook is now uploading the video


Facebook is able to process the files, YouTube is not. Also, I have experimented with many, many varations in the ADVANCED tab and may have something to say about this very soon.

Graham Leach

15min 14s

Do you have a verified YT account ? By default the limit is 15 minutes duration

Yes, I am.

Confirmed, the video is 15:14 in duration

Thanks for helping me out!

Graham Leach

Recommended upload encoding settings

Shotcut does not upload videos to YouTube. When you select YouTube in Shotcut, you are choosing predetermined Export settings better suited for YouTube.

Personally, I’ve tested both the YouTube Preset and just leaving it in “Default” mode all the way, and I think I get a better result, and smaller file size just leaving everything in Default mode.

The only way (I know of) to upload videos to YouTube is being in Creator’s Studio, then upload from there. YouTube’s platform has recently changed a lot, especially from just a few months ago.

Allow me to clarify.

A) I edited and rendered an .mp4 video in Shotcut using the default YouTube settings.

B) I exited Shotcut

C) I entered YouTube

D) I used the YouTube Creator’s Studio interface to select the Shotcut rendered .mp4 file

E) The upload then began to swing from 0% to 20% then back to 3% to 18% and so on…


Graham Leach

Yes, I am uploading to a VERIFIED account

What does this have to do with Shotcut?
I’m not seeing the connection.

Your upload speeds are dictated by your modem/router, internet service, YouTube’s servers, etc…

Shotcut default youtube preset is not well made for youtube.

Shotcut export advanced options ignores the keyint, but gop works.

add “g=30” into export=>others



I am wondering if the see-saw effect is somehow related to the quality settings?

When I was using QVBR @ 50%, it didn’t see-saw (I think).

Now that I have moved to a Constant VBR, the see-sawing began (I think).

Here’s my current export recipe for YouTube - is there anything in there that’s glaringly wrong?


I have a couple of questions/observations, but let’s focus on the overall picture first.

Q: Are the above settings OK for YouTube?

UPDATE 2019-12-27@20h14:

I have since discovered that YouTube does NOT LIKE Constant or Average Bit Rate Control

What YouTube likes is Quality Based VBR

This is dictated by the following flag:

crf=23 (50%) [range is 0 - 51]

If you have the following setting, YouTube does not like it:


UPDATE 2019-12-29:

I can now confirm that YouTube likes Variable Quality Bit Rate encoded videos.

NOTE! YouTube does NOT like Average Bit Rate or Constant Bit Rate encoded videos.

I bumped the quality to 60% (crf=20) and YouTube has NO problem accepting the upload and providing an estimated upload time, but when I use VQBR or CQBR, YouTube constantly re-starts the upload (see-sawing).

I will produce a video on this and place it on YouTube for all to see.

Deeper Questions:

  1. Why is YouTube choking on VQBR and CQBR?
  2. Is it a Shotcut/ffmpeg thing or a YouTube thing?


Graham Leach


Interesting. You are right my words were bullshit.

I just did a test, and the “youtube” preset passed my “Youtube no 2nd-time transcoding” test.

So the “Youtube” preset is carefully made for youtube, secretly. :wink:

Hello @KKnBB

Lei ho. What’s the test you are using? I’d like to give it a try…

Graham Leach

YouTube default settings in Shotcut are 100% fine.

I record in 1080, and have found if I upload a Shotcut generated .mp4 at the default 1920x1080 YouTube may not transcode the video to HD, and if YouTube does, it will only use the avc codec.

I get Shotcut to export my videos at 2560x1440, in which case YouTube transcodes the video to HD and will use the VP9 codec.

(Note: this is a YouTube “problem”, not a Shotcut issue - Shotcut is fine)

OP - it takes me 24 hours to upload 1hr of video due to our shitty internet in Australia. Upload speed to YouTube is entirely a function of YouTube, your ISP and line speed. Nothing at all to do with however you have generated the file from Shotcut.


Ni Hao. The test I did is, upload a 10 seconds HD clip, wait a while, use Youtube-dl.exe to fetch the highest quality, then compare the 2 files.

I was wrong again. The downloaded size was very similar to what I uploaded, so I thought it passed “no transcoding” test. But later I analyse both the files and find there are some differences in video bitrates. So it still gets transcoded! So the “youtube preset” is back to “Bullshit” @shotcut :joy: (Because the youtube’s 2nd-time onsite conversion will fix everything in a video like keyframes / bframe / ref etc. So upload any random formatted mp4 will be all the same, all are fine. The “youtube preset” doesn’t make a point there)

Why wouldn’t you just download the file from Studio itself?

There is no such thing on YouTube as well most as most video streaming services. Some such as Video and Internet Archive only let you download what you uploaded but never try to stream it. That is not the intention of the YouTube preset. The intention is to adhere to YouTube’s encoding recommendations since people find it, read it, and want it even though it is not absolutely necessary.

@Hudson555x The point is, for some professional video makers, they want the viewers to watch the exact same quality videos like the one in their studios. They want to avoid another video conversion.

Download from the viewer’s perspective is more accurate and foolproof.

This is impossible with virtually all streaming services.

If a 4K video is uploaded to YouTube, then YouTube will simultaneously transcode a copy of it for every supported playback resolution: 2160p, 1080p, 720p, etc. All eight of those copies have synchronized keyframes and other settings so that the YouTube player can switch between resolutions during playback if bandwidth limitations are an issue (like slow cellular service for mobile). There is no way to guarantee this live-switch ability will work using any random file uploaded by any random user. YouTube has to transcode every single time to guarantee all streams meet the same spec. No exceptions. The takeaway is to upload a master that is capable of surviving one generation of loss as gracefully as possible.

For all who don’t know, be aware that @shotcut worked in the streaming video industry for years and there is very little he doesn’t know. Assume there is a method to any madness you find. :slight_smile:


This is not true. I know a few video sharing sites giving detailed guide (listing codec/keyframe/bitrates requirements in a big table for all common video resolution) teaching vloggers how to avoid the system auto-conversions. And they encourage users to do that as it saves their computing power and reserves quality.
(lower quality copies and out-of-range source will be converted anyway)