Brian Iannone
Well-known member
- Joined
- Sep 7, 2011
- Messages
- 1,501
- Reaction score
- 0
- Points
- 36
I just recently learned that YouTube supports some more advanced video codecs like ProRes, so I decided to do a few tests (okay... A LOT of tests) to see exactly what codecs and resolutions it supports.
YouTube Supported Codecs
[TABLE="class: grid, width: 500"]
[TR]
[TD][/TD]
[TD]1080p
(1920x1080)[/TD]
[TD]4K (4096x2304)[/TD]
[/TR]
[TR]
[TD]MainConcept H.26410 Mbps (Level 4.1, Main Profile)[/TD]
[TD]Yes[/TD]
[TD]n/a*[/TD]
[/TR]
[TR]
[TD]MainConept H.26450 Mbps (Level 5.1, Main Profile)[/TD]
[TD]Yes[/TD]
[TD]n/a*[/TD]
[/TR]
[TR]
[TD]MainConcept CUDA H.264[/TD]
[TD]Yes[/TD]
[TD]n/a*[/TD]
[/TR]
[TR]
[TD]Photo-JPEG[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple Animation[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple Intermediate Codec[/TD]
[TD]No[/TD]
[TD]No[/TD]
[/TR]
[TR]
[TD]DNxHD 220 10-bit[/TD]
[TD]No[/TD]
[TD]n/a**[/TD]
[/TR]
[TR]
[TD]DNxHD 220 8-bit[/TD]
[TD]Yes[/TD]
[TD]n/a**[/TD]
[/TR]
[TR]
[TD]DNxHD 145 8-bit[/TD]
[TD]Yes[/TD]
[TD]n/a**[/TD]
[/TR]
[TR]
[TD]Apple ProRes 4444[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422 (HQ)[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422 (LT)[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422 (Proxy)[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]QuickTime Uncompressed 8-bit 4:2:2[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]QuickTime Uncompressed 10-bit 4:2:2[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[/TABLE]
*MainConcept H.264 and CUDA H.264 encoder does not support 4K.
**DNxHD codecs do not support 4K.
Personally, I find these tests to be very interesting. And surprising. Normally, we export a video from our NLE to H.264 and then upload that to YouTube only for it to get recompressed again by YouTube's encoder. That means that the video is being compressed (and destroyed) twice. Whereas, if you export from your NLE to a codec like ProRes or DNxHD, you can reduce the loss of quality by ensuring the you're delivering a high quality file to YouTube. YouTube will then take that high quality file and compress it down to H.264, but at least you're doing everything you can on your end to receive the highest quality image possible from your YouTube videos.
So, what difference will uploading a 4GB file encoded in Apple Animation make when compared to uploading a 32MB file in H.264 at 10 Mbps?
Apple Animation
MainConcept H.264 at 10 Mbps
Original Frame
View Original 4K Uncompressed Version (10MB)
See the peak signal-to-noise ratio section below for additional tests.
Disregarding the gamma shift, the H.264 version has noticeably more blocking in the gradients and more compression artifacts everywhere. At first glance, the H.264-encoded one may appear sharper due to the image being darker, but zoomed in, you can see that the lines are worse than the version encoded in Apple Animation.
This specific video was about 27 seconds long. The Apple Animation file was more than 4GB. Converting all your videos to Apple Animation from your NLE to upload to YouTube would be inconvenient, to say the least, due to the enormous bandwidth that would be required. Using another lossless compression method like DNxHD or ProRes would be a much better choice. Both the DNxHD 220 8-bit and Apple ProRes 422 (HQ) versions of this video were nearly identical in file size at 722MB and 721MB.
That also means faster exports from your NLE to the file that you'll be uploading to YouTube. Normally, your NLE should be set to render to a format like 8/10-bit Uncompressed or ProRes/DNxHD. If your exporting a file in the same format as what you've been editing in, your conversions are (typically) going to be much faster. Many people aren't aware of this, but converting to H.264 is a very CPU-intensive process. By the way, I know this may come up, so I'll address it now... GPU-accelerated H.264 encoding is not at a point yet where its quality can compete with that of multi-pass CPU-processed video conversions. GPU-powered encoding methods such as Nvidia CUDA is limited to 2-pass encodings. The definition of "multi-pass" CPU encoding is between three and six passes. So, there's quite a substantial difference in quality. But, it is getting better.
YouTube supports resolutions up to a maximum of 4096x2304, which is 4K with an aspect ratio of 16/9. (That's larger than Quad HD or "4K HD.") When you watch a video on YouTube, you have the option to watch it at different resolutions, and ultimately different levels of quality. YouTube takes the video that you upload and converts it to each of those files. YouTube's encoder sets a different data rate for each version according to the file's frame rate and resolution.
YouTube Encoder Data Rates
[TABLE="class: grid, width: 500"]
[TR]
[TD][/TD]
[TD]23.98 fps[/TD]
[TD]29.97 fps[/TD]
[/TR]
[TR]
[TD]4K (4096x2304)[/TD]
[TD]Results on 1/22[/TD]
[TD]Results on 1/22[/TD]
[/TR]
[TR]
[TD]1080p (1920x1080)[/TD]
[TD]3.75 Mbps[/TD]
[TD]5 Mbps[/TD]
[/TR]
[TR]
[TD]720p (1280x720)[/TD]
[TD]2 Mbps[/TD]
[TD]2.5 Mbps[/TD]
[/TR]
[TR]
[TD]480p (854x480)[/TD]
[TD]825 Kbps[/TD]
[TD]1 Mbps[/TD]
[/TR]
[TR]
[TD]360p (640x360)[/TD]
[TD]550 Kbps[/TD]
[TD]725 Kbps[/TD]
[/TR]
[TR]
[TD]240p (400x226)[/TD]
[TD]300 Kbps[/TD]
[TD]325 Kbps[/TD]
[/TR]
[/TABLE]
So, watching a video on YouTube at 1080p will, of course, show you a higher quality file than if you select 480p. But... If the original file that was uploaded to YouTube had a frame rate of 30p, it will be of "higher quality" than if it were a 24p file. Basically, the higher the frame rate, the larger the data rate that YouTube encodes your video in.
YouTube encoder quality: 1080p30 > 1080p24
Keep in mind however that YouTube encodes using VBR. So, there will always be a fluctuation in the data rate. The table above is the most accurate data I've been able to put together.
Peak Signal-to-Noise Ratio Tests
This is a continuation from the first test above comparing a frame encoded in Apple Animation and MainConcept H.264 at 10 Mbps.
Test 1
Difference between uploading a video at QuickTime Uncompressed 10-bit 4:2:2 and MainConcept H.264 at 10 Mbps.
Loss in quality from original and YouTube-encoded QuickTime Uncompressed 10-bit 4:2:2 file:
Loss in quality from original and YouTube-encoded MainConcept H.264 (10 Mbps, Level 4.1, High Profile) file:
Difference in compression artifacts between YouTube-encoded Uncompressed 10-bit and MainConcept H.264 file:
That's the loss of quality you get when you upload an H.264 file at 10 Mbps compared to uploading an Uncompressed 10-bit file. The difference is substantial, both visually and "technically."
Also, for those of you who are curious about the animation that I'm using as the test video, it's a Cinema 4D rendering of a city fly-through. I did a version of the animation at 1920x1080 for the 1080p tests. Rendering took just a little less than two hours in Maxon C4D NET Render across three machines (an 8-core Mac Pro and two PC workstations overclocked at 123%). It's a 16-core, 12.92GHz processing cluster. As I type this, the cluster is rendering the 4096x2304 version of the animation that I'll be using for the 4K tests.
EDIT:
Due to the character limits in this forum, I've had to post the additional tests in a separate post in this thread. See here: http://www.reduser.net/forum/showth...amp-Data-Rates&p=925175&viewfull=1#post925175
YouTube Supported Codecs
[TABLE="class: grid, width: 500"]
[TR]
[TD][/TD]
[TD]1080p
(1920x1080)[/TD]
[TD]4K (4096x2304)[/TD]
[/TR]
[TR]
[TD]MainConcept H.26410 Mbps (Level 4.1, Main Profile)[/TD]
[TD]Yes[/TD]
[TD]n/a*[/TD]
[/TR]
[TR]
[TD]MainConept H.26450 Mbps (Level 5.1, Main Profile)[/TD]
[TD]Yes[/TD]
[TD]n/a*[/TD]
[/TR]
[TR]
[TD]MainConcept CUDA H.264[/TD]
[TD]Yes[/TD]
[TD]n/a*[/TD]
[/TR]
[TR]
[TD]Photo-JPEG[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple Animation[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple Intermediate Codec[/TD]
[TD]No[/TD]
[TD]No[/TD]
[/TR]
[TR]
[TD]DNxHD 220 10-bit[/TD]
[TD]No[/TD]
[TD]n/a**[/TD]
[/TR]
[TR]
[TD]DNxHD 220 8-bit[/TD]
[TD]Yes[/TD]
[TD]n/a**[/TD]
[/TR]
[TR]
[TD]DNxHD 145 8-bit[/TD]
[TD]Yes[/TD]
[TD]n/a**[/TD]
[/TR]
[TR]
[TD]Apple ProRes 4444[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422 (HQ)[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422 (LT)[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]Apple ProRes 422 (Proxy)[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]QuickTime Uncompressed 8-bit 4:2:2[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[TR]
[TD]QuickTime Uncompressed 10-bit 4:2:2[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[/TR]
[/TABLE]
*MainConcept H.264 and CUDA H.264 encoder does not support 4K.
**DNxHD codecs do not support 4K.
Personally, I find these tests to be very interesting. And surprising. Normally, we export a video from our NLE to H.264 and then upload that to YouTube only for it to get recompressed again by YouTube's encoder. That means that the video is being compressed (and destroyed) twice. Whereas, if you export from your NLE to a codec like ProRes or DNxHD, you can reduce the loss of quality by ensuring the you're delivering a high quality file to YouTube. YouTube will then take that high quality file and compress it down to H.264, but at least you're doing everything you can on your end to receive the highest quality image possible from your YouTube videos.
So, what difference will uploading a 4GB file encoded in Apple Animation make when compared to uploading a 32MB file in H.264 at 10 Mbps?
Apple Animation
MainConcept H.264 at 10 Mbps
Original Frame
View Original 4K Uncompressed Version (10MB)
See the peak signal-to-noise ratio section below for additional tests.
Disregarding the gamma shift, the H.264 version has noticeably more blocking in the gradients and more compression artifacts everywhere. At first glance, the H.264-encoded one may appear sharper due to the image being darker, but zoomed in, you can see that the lines are worse than the version encoded in Apple Animation.
This specific video was about 27 seconds long. The Apple Animation file was more than 4GB. Converting all your videos to Apple Animation from your NLE to upload to YouTube would be inconvenient, to say the least, due to the enormous bandwidth that would be required. Using another lossless compression method like DNxHD or ProRes would be a much better choice. Both the DNxHD 220 8-bit and Apple ProRes 422 (HQ) versions of this video were nearly identical in file size at 722MB and 721MB.
That also means faster exports from your NLE to the file that you'll be uploading to YouTube. Normally, your NLE should be set to render to a format like 8/10-bit Uncompressed or ProRes/DNxHD. If your exporting a file in the same format as what you've been editing in, your conversions are (typically) going to be much faster. Many people aren't aware of this, but converting to H.264 is a very CPU-intensive process. By the way, I know this may come up, so I'll address it now... GPU-accelerated H.264 encoding is not at a point yet where its quality can compete with that of multi-pass CPU-processed video conversions. GPU-powered encoding methods such as Nvidia CUDA is limited to 2-pass encodings. The definition of "multi-pass" CPU encoding is between three and six passes. So, there's quite a substantial difference in quality. But, it is getting better.
YouTube supports resolutions up to a maximum of 4096x2304, which is 4K with an aspect ratio of 16/9. (That's larger than Quad HD or "4K HD.") When you watch a video on YouTube, you have the option to watch it at different resolutions, and ultimately different levels of quality. YouTube takes the video that you upload and converts it to each of those files. YouTube's encoder sets a different data rate for each version according to the file's frame rate and resolution.
YouTube Encoder Data Rates
[TABLE="class: grid, width: 500"]
[TR]
[TD][/TD]
[TD]23.98 fps[/TD]
[TD]29.97 fps[/TD]
[/TR]
[TR]
[TD]4K (4096x2304)[/TD]
[TD]Results on 1/22[/TD]
[TD]Results on 1/22[/TD]
[/TR]
[TR]
[TD]1080p (1920x1080)[/TD]
[TD]3.75 Mbps[/TD]
[TD]5 Mbps[/TD]
[/TR]
[TR]
[TD]720p (1280x720)[/TD]
[TD]2 Mbps[/TD]
[TD]2.5 Mbps[/TD]
[/TR]
[TR]
[TD]480p (854x480)[/TD]
[TD]825 Kbps[/TD]
[TD]1 Mbps[/TD]
[/TR]
[TR]
[TD]360p (640x360)[/TD]
[TD]550 Kbps[/TD]
[TD]725 Kbps[/TD]
[/TR]
[TR]
[TD]240p (400x226)[/TD]
[TD]300 Kbps[/TD]
[TD]325 Kbps[/TD]
[/TR]
[/TABLE]
So, watching a video on YouTube at 1080p will, of course, show you a higher quality file than if you select 480p. But... If the original file that was uploaded to YouTube had a frame rate of 30p, it will be of "higher quality" than if it were a 24p file. Basically, the higher the frame rate, the larger the data rate that YouTube encodes your video in.
YouTube encoder quality: 1080p30 > 1080p24
Keep in mind however that YouTube encodes using VBR. So, there will always be a fluctuation in the data rate. The table above is the most accurate data I've been able to put together.
Peak Signal-to-Noise Ratio Tests
This is a continuation from the first test above comparing a frame encoded in Apple Animation and MainConcept H.264 at 10 Mbps.
Test 1
Difference between uploading a video at QuickTime Uncompressed 10-bit 4:2:2 and MainConcept H.264 at 10 Mbps.
Loss in quality from original and YouTube-encoded QuickTime Uncompressed 10-bit 4:2:2 file:
Loss in quality from original and YouTube-encoded MainConcept H.264 (10 Mbps, Level 4.1, High Profile) file:
Difference in compression artifacts between YouTube-encoded Uncompressed 10-bit and MainConcept H.264 file:
That's the loss of quality you get when you upload an H.264 file at 10 Mbps compared to uploading an Uncompressed 10-bit file. The difference is substantial, both visually and "technically."
Also, for those of you who are curious about the animation that I'm using as the test video, it's a Cinema 4D rendering of a city fly-through. I did a version of the animation at 1920x1080 for the 1080p tests. Rendering took just a little less than two hours in Maxon C4D NET Render across three machines (an 8-core Mac Pro and two PC workstations overclocked at 123%). It's a 16-core, 12.92GHz processing cluster. As I type this, the cluster is rendering the 4096x2304 version of the animation that I'll be using for the 4K tests.
EDIT:
Due to the character limits in this forum, I've had to post the additional tests in a separate post in this thread. See here: http://www.reduser.net/forum/showth...amp-Data-Rates&p=925175&viewfull=1#post925175
Last edited: