VideoHelp Forum



Support our site by donate $5 directly to us Thanks!!!

Try StreamFab Downloader and download streaming video from Netflix, Amazon!



+ Reply to Thread
Results 1 to 11 of 11
  1. Member
    Join Date
    Dec 2015
    Location
    France
    Search Comp PM
    Hello everyone,

    I’m new to color management and after one week of watching tutorials, searching forums and running tests, I feel completely lost.

    I use After effect and Premiere pro on Windows 7.

    I color corrected my video in premiere pro, which uses a 0-255 luma range if I’m correct.
    Then I export it as H264 .mp4, import it in After Effect and set the color space to Rec. 709 (16-235). I rectify the contrast a little bit, save and use Media encoder to encode the video as H264 .mp4. When I watch it with Media Player Classic, it looks exactly as in the preview so everything is ok so far.

    At that point, here are the specs of the video:

    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : Main@L4.1
    Format settings, CABAC : Yes
    Format settings, ReFrames : 3 frames
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 2s 0ms
    Bit rate : 63.8 Kbps
    Width : 1 280 pixels
    Height : 720 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Standard : PAL
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.003
    Stream size : 15.6 KiB (15%)
    Language : English
    Encoded date : UTC 2015-12-12 13:50:35
    Tagged date : UTC 2015-12-12 13:50:35
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    However, when I try to upload it on Youtube, pure black, which was 16, becomes 30 and pure white, which was 235, becomes 218.
    So my guess is that either Youtube doesn’t care which color space you used and crops everything to 16-235, even if it’s already been done ; or I missed something and failed to have youtube recognize that my video was already at a legal color format.

    Which brings me to a second point : if youtube scales everything to 16-235 then how can this person’s t-shirt be more than black (level 1, when it should logically be 16 !!!) : https://www.youtube.com/watch?v=n0PUiC_bfE4

    What do you think?

    Thanks.
    Quote Quote  
  2. I can't speak to the particular software you're using, but in general:

    The RGB you see on the screen uses the full 0-255 range. YUV video uses the limited 16-235 range. Software/hardware that converts between the two normally accounts for this: when converting RGB to YUV RGB=0 becomes Y=16, UV=128. Conversly when converting YUV to RGB Y=16 becomes RGB=0, Y=235 becomes RGB=255.

    If you upload YUV video to youtube it retains the levels you uploaded. I'm not sure what youtube does if you upload RGB, but I would assume the follow the usual rules for converting from RGB to YUV.

    That youtube video has incorrect levels with Y ranging from 0 to 255. If your computer is set up correctly it will display like this (note the waveform monitor below the image with the Y<16 and Y>235 marked in brown):

    Click image for larger version

Name:	bad.jpg
Views:	572
Size:	58.6 KB
ID:	34789

    If it had correct levels before uploading it would look like this:

    Click image for larger version

Name:	good.jpg
Views:	522
Size:	57.7 KB
ID:	34790

    If the youtube video looks like the second image when you view it your computer is set up incorrectly.

    There are some exceptions. For example, some SLR cameras shoot full range YUV. Some codecs, like MJPEG, use full range YUV. When converting such sources to standard YUV video you need to compress the YUV ranges. Or if you need to work with those videos in RGB you need to avoid the standard YUV expansion on the conversion -- so you don't crush superblacks and superwhites.
    Last edited by jagabo; 12th Dec 2015 at 11:31.
    Quote Quote  
  3. Member
    Join Date
    Dec 2015
    Location
    France
    Search Comp PM
    Thanks for the answer !

    So you mean that my video, being YUV, was already limited at a 16-235 range when it came out of Premiere pro ? And that what I saw on the preview screen of Premiere and on VLC was just an upscale to 0-255 ?

    If so, how come I was able to edit the 0-16 and 235-255 ranges in premiere pro and how can I preview properly on Premiere of After Effect what I will see on youtube once it's uploaded ?

    And the youtube video looks like the second picture when I watch it on youtube and like the first when I watch it on VLC or when I override Youtube presets by telling my Nvidia card to display a full range 0-255 for all players. Plus on either picture, the t-shirt is at a level of 0 or 3, so it's weird. Shouldn't it be limited to 16 ?
    Last edited by DavStu; 12th Dec 2015 at 11:41.
    Quote Quote  
  4. I edited my last post a few times adding more detail -- I'm not sure exactly which version you saw. I don't know the particular tools you're using. You need to figure out how they handle the various types of inputs and adjust accordingly. Use known good test pattern videos.

    This post contains a test pattern (MPEG video) with YUV ranging from 0-255 and explains what you should see when viewing it:

    https://forum.videohelp.com/threads/374734-Color-Levels-Question?p=2414529&viewfull=1#post2414529
    Quote Quote  
  5. Member
    Join Date
    Dec 2015
    Location
    France
    Search Comp PM
    I checked the test pattern and I see it correctly with VLC and Premiere (I calibrated my computer with an X-rite device, so I guess the problem is not there).
    Then I uploaded it on youtube and it appeared like "the base image", so not what it's supposed to look like.

    So what's the matter with youtube and vimeo ?
    Quote Quote  
  6. The display problem is probably in the browser (or video plugin). Download the video from youtube -- I'm pretty sure you'll see the levels are unchanged. Check the browser or video plugin for full/limited range settings.
    Quote Quote  
  7. Member
    Join Date
    Dec 2015
    Location
    France
    Search Comp PM
    I'm even more lost now.

    When I download the video of the gray scale from youtube, it's displaying as it should in VLC, so ok.

    But I don't understand how it is possible that once in Youtube, levels of 0, 5, 10, 15, 240, 245 and 255 are visible in this video whereas when I upload my 0-255 videos (see specs below), they are just cropped to 16-235 range . . . They booth are YUV and they both use a 0-255 range so why is that so ?

    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : Main@L4.1
    Format settings, CABAC : Yes
    Format settings, ReFrames : 3 frames
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 1s 240ms
    Bit rate : 12.2 Mbps
    Width : 1 920 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Standard : PAL
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.235
    Stream size : 1.80 MiB (96%)
    Language : English
    Encoded date : UTC 2015-12-11 17:07:17
    Tagged date : UTC 2015-12-11 17:07:17
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    Plus, even when I make sure in my Nvidia panel that players are limited to 16-235, the grey scale video on youtube still displays levels of 0, 5, 10, 15, 240, 245 and 255 so it makes even less sense to me.

    Sorry if it's a stupid question, I'm still discovering the complexity of video colors / editing.

    Thanks for your help.
    Last edited by DavStu; 12th Dec 2015 at 13:58.
    Quote Quote  
  8. 1) Premiere can work in YUV or RGB. It has YUV and RGB filters. If you apply an RGB filter, those sections you applied it to get converted to RGB. AE works in RGB only

    2) Youtube re-encodes everything. You don't actually see your original video.

    3) As mentioned in that other thread, currently, youtube clamps the re-encode from input full range YUV videos that are properly flagged as full range YUV, at least for AVC . The range is clamped to 16-235 YUV in the actual re-encode so you can "see" everything. About a year ago, this behaviour was different. Your video probably wasn't flagged as full range, so that's why the super brights/darks are not visible on a proper display (ie. YT didn't clamp the re-encode, and you won't see 0-15 or 17-255)

    4) It's bad practice to use full range YUV. Normal range is standard for everything, and that's what you should be using (16-235 for Y', 16-240 for U,V) for best practices. That's what gets delivered for everything, blu-ray, dvd, web distribution, etc.. everything. A normal range matrix will convert that to 0-255 in RGB for display (0,0,0 - 255,255,255 in 8 bit RGB values). You will lose values <16, >235.

    In order to display full range YUV correctly, a full range matrix needs to be used to convert to RGB for dispaly. Essentialy you get 0-255 in Y mapped to 0,0,0-255,255 in RGB instead of Y 16-235 mapped to 0-255

    (Adobe flash actually supports range flags in browsers. So if you host your own site, you can serve full range YUV video and it will display properly because a full range matrix will convert it to 0-255 in RGB.)



    If it still doesn't make sense I can upload some examples

    Also, flash in a browser can be configured differently with GPU on vs. off. The settings can alter the appearance and you might have to configure some things properly
    Quote Quote  
  9. Member
    Join Date
    Dec 2015
    Location
    France
    Search Comp PM
    Wow ! Thanks for the answer, that was very clear

    About point 3), I tried to use the effect "Levels" in Premiere and limit the output to 16-235 but the video got cropped to 30-218 anyway. How can I clearly have youtube understand that a video is already 16-235 so that it accepts is as it is ?

    About point 4), I use a camera that encodes videos in YUV and as I didn't know all of this before starting editing, I used both effects on my YUV videos: RGB and YUV. Media Player Classic however tells me that my final export was "Color space : YUV" so did all the RGB parts get converted ? How is it managed ?

    Would you advice to convert all my videos from YUV to RGB before any editing in the future ? I think I will stick to PP and AE. I can see that H264 uses a YUV space so I think I will end up with YUV any way.

    About using full range YUV, I actually did not know that before I start editing either. Do you know how to stay within the limits (16-235 for Y', 16-240 for U,V) in PP ? What about AE, how is it manageable since it works in RGB only ?

    Sorry, that's a lot of questions.
    Quote Quote  
  10. Almost all consumer level cameras record in YUV, but most have usable values in the overbright range , so they actually record 16-255, not 16-235

    Premiere handles most native camera formats as YUV. So if you use YUV labelled filters, you won't clip anything (you can recover highlights, superbrights etc...) . If you have slight overexposure, youcan bring those 235-255 values into legal range with a YUV filter

    It might help if you upload your actual video from premiere - there might be other errors earlier in your workflow before youtube . For AE, you don't have to use color management - I suspect that's where you went wrong and exported full range YUV, but unflagged. If you export full range YUV and it's unflagged, then YT will not clamp the re-encode and the levels will appear messed up (it will actually be a full range video, but displayed with normal range)

    If you upload normal range YUV, then youtube will handle it normally. It doesn't need to be flagged. Normal range Y is 16-235 for Y. ie. don't use full range YUV and you won't have these headaches. This is what everyone should be doing.

    Both premiere and AE are setup like this normally - there is nothing special to do, except bring down the overbrights with a YUV filter if you are using a consumer camera. In AE, normal range YUV is handled normally with a standard range conversion to RGB. If you export from AE directly some YUV format, it will use a standard range conversion back to YUV. Or you can export an intermediate RGB format and do the conversion with other programs and have more control

    (h.264 can use YUV or can use RGB. But the common variant is YUV )

    => The bottom line is use legal range YUV for your final distribution, whether its youtube or anything else. That way you avoid these headaches
    Quote Quote  
  11. Member
    Join Date
    Dec 2015
    Location
    France
    Search Comp PM
    Thank you for all your answers. I finally understood what was wrong.

    First, I understood that a video IS not "16-235" or "0-255" in absolute but rather "optimized for a display in 16-235 (or 0-255)".

    So in premiere pro, I saw my video in a 0-255 space and it looked good. But I realized that my blacks were not always set to 0 so when the video was cropped to 16-235 on youtube, the blacks were too grey. The problem was solved by adjusting luminance and bringing the blacks to 0.

    And I did not actually have a problem with "super whites" or "super blacks" since Premiere Pro cuts them off. So when the video was displayed in a 16-235 space, nothing when out of this range unlike in the video I posted in the first message.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!