Jump to content

My videos follow all of YouTube's recommended upload encodings [H.264, Progressive, VBR 2 Pass, 60 FPS, 1920x1080, and bitrate ranging from 15,000 to 22,000 (depending on the video)], and the rendered product looks great on both my PC and my HDTV.

But after uploading (which takes around 20 hours, mind you), the end-result is so bad that it looks like 2000 kbps at best and it is (without exaggeration) pixelated.

 

I don't know if this is the right place to ask (if not, please redirect me to a more suitable subfoum), but I really need help with this.

Between writing scripts as a non-native speaker, self-consciousness if I sound fun, and a hard drive cluttered with large video files, the last thing I need is such an abysmal quality of the final product.

 

Thanks,

Katarn

Link to post
Share on other sites

Youtubes video encoder is crap, what editing/rendering software do you use?

Main Desktop: CPU - i9-14900k | Mobo - Gigabyte Z790 Aorus Elite AX | GPU - PNY Gaming OC RTX 5080 16GB RAM - Corsair Vengeance Pro RGB 64GB 6400mhz | AIO - Arctic Liquid Freezer III 360mm | PSU - Corsair RM1000X | Case - Hyte Y40 - White | Storage - Samsung 980 Pro 1TB Nvme /  Sabrent Rocket 4 Plus 4TB Nvme / Samsung 970 EVO Plus 2TB Nvme / Samsung 870 EVO 4TB SSD / Samsung 870 QVO 2TB SSD/ Samsung 860 EVO 500GB SSD|

 

TV Streaming PC: Intel Nuc CPU - i7 13th Gen | RAM - 16GB DDR4 3200mhz | Storage - Crucial P3 Plus 1TB Nvme |

 

Phone: Samsung Galaxy S26 Ultra - Black 256GB |

 

Link to post
Share on other sites

YouTube compresses less for quality and more for streaming efficiency. Even the bitrate for 3840x2160 is quite lacking, to put it charitably.

Check out my guide on how to scan cover art here!

Local asshole and 6th generation console enthusiast.

Link to post
Share on other sites

1 hour ago, Katarn said:

My videos follow all of YouTube's recommended upload encodings [H.264, Progressive, VBR 2 Pass, 60 FPS, 1920x1080, and bitrate ranging from 15,000 to 22,000 (depending on the video)], and the rendered product looks great on both my PC and my HDTV.

This is good advice if it's a video for your own use, for your own playback. It's not a good recommendation for a video that's gonna be uploaded to Youtube.

Youtube will recompress anything you upload to it, so think of it like you saving a picture to JPG 90% quality, and after you upload the picture to Youtube , Youtube loads the picture and saves it again using the JPG 75% preset.

When you use 2 pass bitrate 15-20mbps, the encoder will analyze the video and determine where there's a lot of motion or content that needs more bits to get a good quality, and gives those areas more bits, and takes those bits from other places.

So throughout the video, some areas will have less quality (like jpg 87%), some will have more (like jpg 92%) but overall, throughout your video, the quality will be something like 90% on average. 

What you can do is to change from this "best quality within a bitrate constraint" mode, to the "same level of quality for each video frame regardless of disk space used" which is called CRF (constant rate factor)

 

With x264 (command line encoder) you can say something like this:

 

x264.exe --crf 18 --preset [slow | slower | veryslow] --tune [film|animation] --colorprim bt709 --transfer bt709 --colormatrix bt709 --output c:\path\to\output_file_name.264  c:\path\to\input_file_name.whatever

 

The default for crf is 23 which is kind of like JPG 90% quality, a good compromise between high quality and low file size.

Below 16, it's practically super hard to spot differences in videos... so 18 is something like JPG 95%, a value that should be good enough while still not going overboard with file sizes.

 

So you could export the video to a lossless video file on your computer (ex using Huffyuv or MagicYUV codecs) and then compress it using x264 and you get the raw h264 stream, which you can then use with the audio using MKVToolnix (while not forgetting to specify the 60fps when loading the raw h264 file into it) and you can then upload the mkv file to youtube.

Link to post
Share on other sites

Quote

at what resolution the vide was being reproduced on youtube?

1080p, of course.

 

Quote

Youtubes video encoder is crap, what editing/rendering software do you use?

Adobe Premiere (whichever version we have at work, probably CS5 or 6, but not sure)

 

Quote

YouTube compresses less for quality and more for streaming efficiency. Even the bitrate for 3840x2160 is quite lacking, to put it charitably. 

Mine look REALLY bad. I've seen videos of the same content that are much sharper, whereas mine look (quite literally) pixelated.

 

__________________________________________

 

First, I would like to thank you for the elaborate reply @mariushm

Now,

Quote

What you can do is to change from this "best quality within a bitrate constraint" mode, to the "same level of quality for each video frame regardless of disk space used" which is called CRF (constant rate factor)

I have experimented with CBR, VBR 1 Pass, and VBR 2 Pass, and the rendered result (on PC and TV) looks about the same -- in that they're all fine. Having said that, once uploaded to Youtube, it looks like trash. But if I understand correctly, are you saying that if I go for a CBR render, YouTube won't be as keen on butchering the quality of my videos?

 

Quote

So you could export the video to a lossless video file on your computer (ex using Huffyuv or MagicYUV codecs) and then compress it using x264 and you get the raw h264 stream, which you can then use with the audio using MKVToolnix (while not forgetting to specify the 60fps when loading the raw h264 file into it) and you can then upload the mkv file to youtube.

I no longer have the original files (in the original locations) for most of these videos, so I cannot render them anew with Premiere. But I do have the final (pre-upload) renders. Is there a way to just convert these to the specifications you mention instead of a separate render; any specific software you would recommend?

Link to post
Share on other sites

No, not CBR ... CBR is the worst out of all options...  in CBR mode the codec simply keeps throwing away details from each frame until the data for that frame goes below the threshold... ex if you set CBR 20 mbps and you have 60fps ... the encoder simply tries to get each frame to or below 20 000 kbps / 60 fps = 333 kbps per frame.... of course, it gives more bits to keyframes and less bits to predicted frames but overall as soon as the condition of having less bits than treshold is satisfied, the codec moves on. Think of it like codec trying to save a second using JPG quality 95% only to see the content can't fit in the bitrate, then resaving original data at 94% and checking again and so on

 

CRF is constant rate factor, where the actual bitrate is ignored, one second could be 5 mbps, the next second could be 40 mbps depending on the content in the frames.

 

Another option you have is to use Adobe Premiere in frame server mode : https://www.debugmode.com/frameserver/

Premiere simply starts serving uncompressed frames to whoever requests them, so you can use MeGUI, StaxRip or command line x264 to encode the video as it's served by premiere.

You'll have to look for tutorials online because I don't have time to search for you now.

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×