VideoHelp Forum


Try StreamFab All-in-One and rip streaming video! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 23 of 23
Thread
  1. Hi, I'm trying to get PotPlayer to show my video as I see it in After Effects - right now Potplayer displays the video slightly too bright.

    I think the problem with PotPlayer is that it's not set to the correct color space.

    I'm exporting a ProRes 422 HQ video from After Effects with the Rec 709 Gamma 2.4 color space:

    Image
    [Attachment 57887 - Click to enlarge]


    I went to the preference in PotPlayer under Video > Colorspaces and changed the YCbCr <-> RBG Conv. from ITU-R BT.601 to ITU-R BT.709 but that made no difference.

    Image
    [Attachment 57885 - Click to enlarge]


    ...and that is the only place I could find any mention of 709.

    I checked the Output Color Space dropdown but could not find Rec 709 Gamma 2.4 as an option.

    Image
    [Attachment 57886 - Click to enlarge]


    Any idea on how I can get PotPlayer to display my content correctly? Thanks!
    Quote Quote  
  2. If it's a HDR video, try to click the HDR button in the navigation panel.
    Quote Quote  
  3. No, it's not HDR so I don't think that's the problem.
    Quote Quote  
  4. The YCbCr <-> RGB conv. matrix: setting is only used when Potplayer is converting YUV to RGB (or vice versa). So set the Output color space to an RGB format.
    Quote Quote  
  5. So, I did a little research and it looks like all versions of ProRes export YUV (ProRes 4444 can do RGB as well), so I do think Potplayer has to do a YUV to RGB conversion for my video.

    Here's how Potplayer reads my export's color space.
    Color Space: YUV
    Color Primaries: BT.709

    Image
    [Attachment 57948 - Click to enlarge]


    YUV 422 Plain 10 Bit sounds like the correct color space I should have Potplayer set to for viewing ProRes 422HQ material but that didn't make a difference. In fact, I couldn't get Potplayer to display my video differently no matter what Output Color Space I had it set to (it always looked the same, slightly too bright).

    Image
    [Attachment 57949 - Click to enlarge]


    Is this the same for everyone else? Does changing the Output Color Space actually make a difference for you?
    Thanks!
    Last edited by ObjectNull85; 22nd Mar 2021 at 13:34.
    Quote Quote  
  6. Originally Posted by ObjectNull85 View Post
    So, I did a little research and it looks like all versions of ProRes export YUV (ProRes 4444 can do RGB as well), so I do think Potplayer has to do a YUV or RGB conversion for my video.
    No. The player can send YUV directly to the video renderer (graphics card).

    Originally Posted by ObjectNull85 View Post
    Here's how Potplayer reads my export's color space.
    Color Space: YUV
    Color Primaries: BT.709

    YUV 422 Plain 10 Bit sounds like the correct color space I should have Potplayer set to for viewing ProRes 422HQ material but that didn't make a difference.
    When Potplayer is sending YUV to the graphics card it's up to the graphics card (or the TV/monitor) to do the conversion to RGB for display. The player can pass along the correct matrix but GPU drivers often ignore it. And once they get an update the works correctly the next update will break it again.

    Originally Posted by ObjectNull85 View Post
    In fact, I couldn't get Potplayer to display my video differently no matter what Output Color Space I had it set to (it always looked the same, slightly too bright).
    rec.601 vs. rec709 don't have different brightness, just a color shift. Though, if you are looking at a predominantly red or green picture you might interpret it as a change in brightness (blues are effected too but as much). If you view a rec.709 video with a rec.601 conversion greens will be too bright and reds too dark. If you view a rec.601 video with a rec.709 conversion greens will be too dark, reds too bright.

    Originally Posted by ObjectNull85 View Post
    Is this the same for everyone else? Does changing the Output Color Space actually make a difference for you?
    On my system Potplayer (v. 1.7.18958) displays videos correctly if the colormatrix is flagged in the file, both rec.601 and rec.709. The output colorspace is set to Auto. But I checked several of the YUV and RGB options and they all rendered correctly. With all those tests the YCbCr/RGB conversion matix was set to Auto. When the renderer was set to any of the RGB options, and the conversion matrix was forced to rec.601, only rec.601 video played correctly. If the matrix was forced to rec.709 only rec 709 video played correctly. Exactly as expected.
    Quote Quote  
  7. Thanks for the reply Jagabo! I don't think the problem is my video card or my display because I'm using the same display for both After Effects and Potplayer - so if my video card and monitor can display things correctly in After Effects then I assume they should be capable of displaying them correctly in other programs as well.

    Here's an example of the brightening:
    Image
    [Attachment 57953 - Click to enlarge]


    After Effects is on the left, Potplayer on the right.

    To me it looks like just a brightness change, not color, but it's hard to tell.

    I'm not really sure what else to test but I'll keep looking around and will let you know if I find the solution.
    Quote Quote  
  8. What does it look like if you re-import it back into AE ?

    How does it look in other players, such as MPCHC, MPV ?
    Quote Quote  
  9. Originally Posted by ObjectNull85 View Post
    I don't think the problem is my video card or my display because I'm using the same display for both After Effects and Potplayer - so if my video card and monitor can display things correctly in After Effects then I assume they should be capable of displaying them correctly in other programs as well.
    No, different programs may use different methods to get video to the display. For example, look in PotPlayer's Preferences -> Video -> Video Renderer. You'll see about a dozen different choices. Mine is set to auto and it picks "EVR Custom Present" when a video is played.

    Originally Posted by ObjectNull85 View Post
    Here's an example of the brightening:
    Image
    [Attachment 57953 - Click to enlarge]

    After Effects is on the left, Potplayer on the right.

    To me it looks like just a brightness change, not color, but it's hard to tell.
    It's a little hard to tell because the two images are a different size and not the same frame. But I'm pretty sure it's not a rec.601 vs rec.709 problem. Potplayer's black level is elevated but the white level is the same -- so it's not a full range vs. limited range problem. What does Preferences -> Video -> Levels/Offset show? I have this:

    Image
    [Attachment 57960 - Click to enlarge]


    Can you upload a small sample (not reencoded) of that section of video?
    Quote Quote  
  10. The Video Renderer is set to Automatic like yours, so it probably picks "EVR Custom Preset" when a video is played but I'm not sure how to check that. My Levels/Offset preferences are exactly the same as yours too.

    Here's a clip I exported directly from After Effects: https://forum.videohelp.com/attachment.php?attachmentid=57965&stc=1&d=1616520193

    Thanks for taking a look!
    Quote Quote  
  11. Originally Posted by poisondeathray View Post
    What does it look like if you re-import it back into AE ?

    How does it look in other players, such as MPCHC, MPV ?
    If I import the video back into After Effects it looks great, exactly the same as it does before I export.

    Here are the other players I've tried:
    Windows Media Player Classic
    Windows Media Player (this can't play ProRes so I tested a H.264)
    MPV
    VLC

    All of these display the video incorrectly. WMP, WMPC, and MPV display the video exactly as PotPlayer does, too bright.

    VLC has a different problem in that it adds contrast, this makes the darks closer too what I see in After Effects but it blows out the whites.

    Here's an example of what VLC is doing:
    Image
    [Attachment 57976 - Click to enlarge]


    After Effects on the left, VLC on the right.

    You can see the letters disappearing into the sun in the VLC version where in After Effects their outlines are still visible.
    Quote Quote  
  12. Like a color management issue 2.4 vs 2.2 display gamma.

    If you re-import the video into AE, but set working space to "none" (ie. disable color management) it looks like potplayer/mpc/everything else, right? (disregard VLC observations, it's buggy) . This is because all those other programs are not color managed, and assume ~2.2 sRGB display gamma

    The original Rec709 spec did not specify display gamma value... but EBU Tech 3320 and ITU-R BT.1886 introduced later on specified a gamma of ~2.4 for 709 (it's approximately "2.4", it's a non linear curve)

    But the majority of computer programs use sRGB, 2.2 display gamma . This includes things like common video players, youtube, etc - which are not color managed. Professional programs tend to use the BT.1886 recommendation now by default (709, 2.4 gamma), including Resolve. You'd have to set up color management on potplayer to use BT.1866 or ~2.4 display gamma

    (A 2.4 gamma appears "darker" because it's actually the inverse curve ~ 1/2.4 that is applied)

    There are ways to emulate BT.1866 transfer function in vapoursynth, but I don't see the it in ffmpeg filters, otherwise you could use built in libavfilters in mpv . It kind of sucks to have to player a video using a script

    The other option is to go old skool and use sRGB for everything until final format (instead of 2.4 working space) . That type of workflow will more closely emulate what you get in video players, youtube etc...
    Quote Quote  
  13. Everything I tried, except VLC, shows the Prores video with the higher black level of your Potplayer image.

    I guess poisondeathray has it figured out.
    Quote Quote  
  14. AE is not displaying it "wrong". It's displaying it as per BT.1866 because his working space is set to 709 2.4 display gamma. This applies an adjusted transfer curve function as per BT.1866 . It's a display gamma function, it's applied after the RGB conversion. (Underlying YUV values will be the same on a waveform , only the "appearance" of RGB converted values will change)

    AE without color management (working space set to "none" ) looks like avisynth/potplayer etc...too , standard sRGB ~2.2 display gamma

    I'm not sure if it's possible, but if you were able to enable color management on potplayer , look for BT.1866 or 2.4 gamma settings, it should look similar
    Quote Quote  
  15. Yes, I posted before reading your post. Then updated my post.
    Quote Quote  
  16. Not sure if potplayer can use cube luts directly, or if it can use ffmpeg libavfilters - but you can use a viewing cube lut applied through ffplay/ffmpeg's libavfilter 3dlut filter to apply the transform function

    ffplay and mpv can do this . (But ffplay is a crappy "player" UI, and mpv for some reason drops frames when applying the lut)

    potplayer has a vapoursynth and avisynth section ; not sure how to apply them in pp, but vpy, avs can apply cube luts, or vapoursynth can convert with the 1886 transform function with fmtc , so you might be able to use that indirectly in potplayer

    The cube luts someone created on the creative cow forum, it looks pretty close to AE results
    https://creativecow.net/forums/thread/luts-made-in-photoshop-look-different-in-premiere/
    https://drive.google.com/open?id=1HHxxaOWifI3TEhBwEyGSl139x2jRM9dO

    e.g path syntax on windows (pay attention to the escape character syntax, each "colon" requires a backslash, and all backslashes used forward slashes)

    mpv
    Code:
    mpv --vf=lavfi=["lut3d=file='D\:/LUTS/srgb to bt1886 and bt1886 to srgb/bt1886 to srgb.cube'"] "Color Test.mov"
    ffplay
    Code:
    ffplay -i "Color Test.mov" -vf "lut3d=file='D\:/LUTS/srgb to bt1886 and bt1886 to srgb/bt1886 to srgb.cube'"
    Quote Quote  
  17. Potplayer does let you use AviSynth scripts internally. So you can probably come close to BT.1866 with Tweak(), ColorYUV(), RGBAdjust(), Levels(), and/or mt_lut().
    Quote Quote  
  18. Originally Posted by jagabo View Post
    Potplayer does let you use AviSynth scripts internally. So you can probably come close to BT.1866 with Tweak(), ColorYUV(), RGBAdjust(), Levels(), and/or mt_lut().
    Yes, I used to use kmplayer and then potplayer, but I've become less of a fan the last few years with all the spyware issues. I liked the GUI a lot.

    I remember it had an avisynth and vapoursynth section where you could enter some text, but I never used it.


    avisynth has an avscube function too, based on the vapoursynth cube function
    http://www.avisynth.nl/index.php/AVSCube

    Code:
    LSmashVideoSource("Color Test.mov")
    z_ConvertFormat(pixel_type="RGBP16", resample_filter="point", resample_filter_uv="bilinear", colorspace_op="709:709:709:l=>rgb:709:709:f")
    Cube("D:\LUTS\srgb to bt1886 and bt1886 to srgb\bt1886 to srgb.cube")
    Quote Quote  
  19. Just as a proof of concept, this delivers very close to the same levels and colors as the AE image in post #7:

    Code:
    potplayer_source()
    ColorYUV(gain_y=16, off_y=-14)
    Image
    [Attachment 57996 - Click to enlarge]
    Last edited by jagabo; 24th Mar 2021 at 06:19.
    Quote Quote  
  20. Originally Posted by jagabo View Post
    Just as a proof of concept, this delivers very close to the same levels and colors as the AE image in post #7:

    Code:
    potplayer_source()
    ColorYUV(gain_y=16, off_y=-14)

    That's quite close in terms of brightness. It needs a bit more saturation, like tweak(sat=1.06, coring=false), or something like that

    I would imagine coloryuv and tweak would run faster than a 64x64x64 cube LUT

    Here is a shot with skin tones and colors (these were done in avisynth, I'm assuming potplayer would give same results with the avisynth box)

    1886
    Image
    [Attachment 58001 - Click to enlarge]


    ColorYUV(gain_y=16, off_y=-14)
    Image
    [Attachment 58002 - Click to enlarge]


    ColorYUV(gain_y=16, off_y=-14).Tweak(sat=1.06,coring=false)
    Image
    [Attachment 58003 - Click to enlarge]
    Quote Quote  
  21. Yes, those tweaked colors look a little better. ColorYUV(cont_u=15, cont_v=15) will give about the same as Tweak(sat=1.06, coring=false). Putting it all in one ColorYUV() call might be a littler faster: ColorYUV(gain_y=16, off_y=-14, cont_u=15, cont_v=15).
    Quote Quote  
  22. Thanks for the replies! I checked PotPlayer's preference and it doesn't look like there is a BT.1866 setting I can choose anywhere so I might be stuck with gamma at 2.2 on that player. I'll play around with the settings you mentioned and see if I can get the image closer to a gamma of 2.4.

    I guess the next thing to figure out is weather I should keep After Effects and Premiere's Color Space set to Rec.709 Gamma 2.4 or if I should set them to "none". Because this is going to broadcast first and web second I think I should keep the Rec.709 Gamma 2.4 Color Space even if it doesn't look right on my computer after I export. Unfortunately I don't have any way to test this on my TV other than using a MacMini or casting it from an iPad so I don't think I can accurately test how it would appear when broadcast.

    To confuse things even more, I did a couple of tests and the export looks to have the correct gamma setting on Apple screens only:
    Windows / Samsung monitor / After Effects: Looks great, this is what I expect to see on export
    Windows / Samsung monitor / PotPlayer: Too bright
    Windows / Samsung monitor / Shift.io (website): Too bright (same as PotPlayer)
    MacBook Air 2020 / Shift.io (website): Looks great, just like After Effects
    iPad 2018 / Shift.io (website): Looks great, just like After Effects
    Mac Mini 2015 / Vizio P Series TV / Shift.io (website): Too bright (same as PotPlayer)

    So as long as I used Apple screens (MacBook Air, iPad) my export looked as it should even if I viewed it on a website. I'm not sure what this means, maybe apps written for Apple products are color managed?

    As I mentioned, I'm leaning towards just keeping the Color Space as Rec.709 Gamma 2.4 because that sounds like what I want for broadcast. Let me know if you'd do something different.

    Thanks again!
    Quote Quote  
  23. So I found a setting in PotPlayer that makes the image look much closer to what I see in After Effects - it's not a perfect match but it's close.

    In PotPlayer under Preference > Pixel Shaders > Pixel Shader Settings > Enable Display ICC Color Gamut Correction

    ICC Color Gamut Correction is not checked by default but checking it darkens the image slightly getting it very close to what I want.
    Quote Quote  



Similar Threads