"Bitrate Starving"

Arctic Pride

L Plate Member
So I saw this comment on one of Accidental Broadcast's videos...

Thoughts, comments? I'm going to check out my current render settings. I set mine based on a YT vegas tutorial for best YT quality however do notice this in my vids as well, not the actual rendered file but once uploaded

It has nothing to do with the GoPro. Notice how the pixelation only happens during high motion and immediately goes away when he slows down or stops? This is called bitrate starving and it only happens if you render with a low bitrate. Rendering with a higher bitrate might help but Youtube compresses 1440p video super weird for streaming because of residential bandwidth restraints.
 
If I remember right, they also take out 30fps and leave it at 30fps. I could be wrong but I believe that's what I read somewhere.....
 
YT will "process" every video to a "bandwidth friendly" low bitrate. It doesn't matter what settings you use when encoding. It will only take longer to upload and it'll still look blocky and over-compressed when viewed on youtube.
Upload a 4GiB video in 1920x1080 then download it again. You'll end up with a smaller file.
 
I usually have my bitrate set at about double the source files native bitrate. Setting it any lower than the native one is what can cause problems. If you set it the same you might see a little pixelation, it depends on whether you're looking at the average or not. I have a hard time telling what is what sometimes, so I just aim high. Setting it way high doesn't seem to have yielded any negative side effects yet, and I have never had the random pixelation issues.
 
YT will "process" every video to a "bandwidth friendly" low bitrate. It doesn't matter what settings you use when encoding. It will only take longer to upload and it'll still look blocky and over-compressed when viewed on youtube.
Upload a 4GiB video in 1920x1080 then download it again. You'll end up with a smaller file.

This is only partially true. What you send up most certainly does matter. If what you render doesn't have the bitrate to keep up, and it pixelates when you watch it, it's going to do the same thing after you upload it. If it doesn't have that problem, then it likely won't after upload. YT compresses the crap out of everything, but that doesn't necessarily mean it's going to cause that specific issue. It'll certainly lower the overall quality though.
 
Got some 2hr 720p films that are significantly under 1GB... There must be an optimum to upload to YT at, just finding what it is, and probably for each type of editing program.
 
Got some 2hr 720p films that are significantly under 1GB... There must be an optimum to upload to YT at, just finding what it is, and probably for each type of editing program.
The program you use doesn't matter in the slightest. The codecs used are universal (for the most part) across the different programs. There probably is an 'optimum' set of settings, but you're never going to get people to agree on them imo, and you'll probably never find them in the first place.
 
I tried to get FCPX to use the same output as the input file, but it seemed to make little difference to the size of the output file. I have been using the output with H.264/AAC which YT recommends, can't see much other available adjustment than that.
 
I have SEVERAL 4 gig videos, and those are usually 20 mins reviews or some such. (latest is for example, me riding some 22kms of awesome twisties).

Now, I have MANY of those, and I have research both the cause, effect, and solution:

What is this effect?
h.264 basically only records the CHANGES from each image on the file. Meaning, if you are filming a face talking to the camera, most of the image (all the background) has no new info, so its simply carried over. The only info that is used on each frame is what is DIFFERENT from the preceding (or two or 4 preceding) frames.
So a still image, rendered at 5MBPS, will have much more detail, and less blockyness than a moving image at the same bitrate.
On a motorcycle riding through the woods footage, almost every SINGLE pixel will have had a change. And not only that, a significant change, in all color components (hue, saturation, luminosity). this means that it needs a ALOT of info to carry it over to the next frame, info that will NOT fit into the maximum bitrate selected. So it simplifies that by making "blocks", where it assumes all pixels are the same, thus compressing the info.
This is why you can choose a variably bitrate - it will try and make every frame comply to the average bitrate you said, but if a frame needs more info, it will give it extra space up to the maximum bitrate.

Want a cool example? Record some footage of you going down a road with only blue sky overhead. Now, look up to the sky, leaving only a tiny bit of road in frame.
Then look down so the road fills all the frame. (works best if you can manage to avoind looking at your bike, so stand up).
Since with the sky in most of the frame, there will be a huge part of the image that has no changes, suddenly the road is nice and detailed.
Look down, all the frame is movement, and boom... a lego road.

Cause:
Youtube compresses everything you send up back down to 8-12 MBPS. Even if you upload a 50 MBPS file. (which I do).
Youtube cuts the fps down to 30.
Youtube does not appear to use "deblocking filter" on the recompress. (deblocking filter detects the big squares in the low-bitrate encoding, and smoothes them out).
There also seems to be a maximum file size, as my longer vids suffer a LOT more from this effect than the shorter ones.

Effect:
Wonderfull footage, when viewed locally (on the rendered file, not the gopro file), is turned into square potato encoding, SPECIALLY in scenes with lots of movement (riding motorcycles, especially through foliage.... sight).
The more movement between frames, the worse the effect is.

Solution:
Oddly enough, if you render at 8MPBS, youtube STILL recompresses it, and it looks like shite. I found that uploading the 50max-28med bitrate works well-ish.
Upload shorter videos, for highest quality.
Upload at 2.7k I found that on THAT resolution, re-compression doesnt seem nearly as bad. I might wager a bet that youtube has a much increased maximum file size for 2.7 resolution videos.
 
Coming back to this, I have switched from variable bit rate to a constant bit rate at 50,000...file size much bigger, and noticeable quality improvement on 1080 post upload

So in this vid, I'm pretty sure I was at 60FPS, variable bitrate render


And most current 60FPS non variable 50MBPS render, the pixelation/bit-rate starving is significantly reduced

 
Gosh this is complicated! I can't even find a render setting that works for me. Everything I've tried ends up pixelating the video.
 
if you're using vegas make sure your render settings are NOT set to variable but constant...i had followed some tutorial back in feb that suggested variable and it clearly doesn't work for "action" videos
 
I'm using power director at the moment but will still look into it. usually I'm quite good at this stuff but it's doing my head in trying to figure rendering out. If you check my first vlog you'll see that I managed to get a setting that pixelated the sky and pretty much left the ground alone. I'm not sure why that would happen but it was far better than anything else I tried. The highest bitrate I can do is 26000 and I'm not sure if I can choose variable or constant. Any ideas?
 
I find that my sony hdr-as15 records very well in its native 1080p 60fps format but even when using a high bit rate to encode at 1080p my videos end up blocky during motion, during static shots its extremely high quality but any/all motion pretty much blows after uploading.

 
Okay so I've found a render setting that gets me perfect image quality albeit with a slightly large file size but then I compress to get it to normal levels with no noticeable quality drop.
I also think I might have found a solution to the "blocky during motion" thing but will need to do some testing to figure it out.
 

Winners Video

Website Supported by Ipswich SEO

Latest posts

Back
Top