over 7 years ago - Ouiche - Direct link

Hi,


Some of you have noticed a loss of quality after ploading your video on youtube. No matter how good is your original video, you'll see a lot of blur and compression artifacts in some scenes of the final result.


The reason is simple : youtube encode automatically the video you upload, and limit the maximum bitrate. That maximum bitrate change depending of the resolution and frames per second, for example : 1080p@30fps will have a lower bitrate than 1080p@60fps. 1080p@30fps have a lower bitrate than 1440p@30fps.


It's fine for slow footage, but it can noticeably degrade the picture quality in a dynamic scene scene. A tank driving in grass, a ship on water, explosions and dust, you will notice quality problems.


How to solve that?


By recording in 1440p / 4k if your screen is big enough, or by upscaling your 1080p video in 1440p/4K if you don't have a big screen. Usually, up-scaling degrade the video quality but in that case, you'll gain a lot of quality on youtube.


You can see the difference in the following video (in full screen, source is a 1080p video for both of them).


Original footage, recorded in 1080p@60fps, 50kbps




Original footage upscaled in 4k





A couple of static pictures for comparison. You can click on them to get an high definition version.


Video uploaded in 1080p, watched in 1080p :



Video uploaded in 4k, watched in 1080p (notice the grass, the tank outline, the trees)



Video uploaded in 4k, watched in 4k. The tank and grass have more details, the trees start to have leaves again.



How to do that?


If you own After Effect or Premiere pro, you can follow that tutoriel.


If you don't own them and want a free software, try "Handbrake command line" (The regular version with a GUI do not support up-scaling). It's a free encoding software with a good multi-core support, a bit rough on the edges but it get the job done... for free!


Get the .exe in a convenient location, open cmd, navigate to that folder and run the following line (it's an example, it's not the best, feel free to adapt it)


HandBrakeCLI -i D:\ToEncode\Filetoencode.mp4 -o D:\Encoded\FileEncoded4k.mp4 -e x264 -2 -q 20 -B 160 -w 3840 -l 2160


It will - in that order - encode the file "Filetoencode.mp4", create the file "FileEncoded4k.mp4" (the result), web optimized, in x264, two pass encoding, very high quality (bitrate able to fluctuate), audio bitrate in 160kbps, upscaled in 3840x2160.


Note : It is not probably not the best settings there is, take some time to test encoding options, you may be able to lower the video size and encoding time without noticeable quality loss on youtube.


Few observations :

The encoding time will increase a lot. This is CPU encoding, so you better have a 6-8 core cpu. (An 8 core ryzen will encode at ~20fps.)


The video created will be much bigger (longer to upload)


If will take several hours (sometime a day, depend of the video size) for youtube to display 1440 or 4k option.


You can upscale in 1440p instead of 4k to limit the encoding and uploading time, for a lower quality.


It's better if the viewer force 1440p or 4k, but even if they don't and watch in 1080p, the quality improve.