Encoding issue on bright colors on Mac

Forum / NoMachine for Mac / Encoding issue on bright colors on Mac

Tagged: ,

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #24717
    kvic
    Participant

    Hi there

    Recently I notice an issue on color shift & pixelation. It only becomes very noticeable when the screen on server side has bright colors e.g. visiting Reddit. Anything with bright red on a dark background is a good test like the one below. Screenshots to demonstrate the issue I saw:

    • NX with H264 at max quality: nx_h264_max.png
    • Apple Screen Sharing at max quality: apple_vnc_max.png
    • The test image (a screenshot of the live website): “Screenshot 2019-12-09 at 12.58.23 PM.png”
    • URL of the live webpage tested
      https://www.msi.com/Motherboard/support/B450M-MORTAR-MAX

    Note the pixelation of small features in red such as words and the dullness in bright colors.

    Server is Catalina 10.15.1 (I saw the same on Mojave before upgrade). It runs AMD GPU with Metal support at 2560×1440 resolution. H264 software encoder. NX display quality at maximum.ย I’ve also tried VP8 and MJPEG encoding. See the same problem.

    Client is Mojave. Also played with different combinations available on NX display settings to no avail.

    Cheers & thanks

    #24739
    fra81
    Moderator

    Hi kvic,

    it seems the ‘lossless refinement’ feature is not being used. Can you send send server (https://www.nomachine.com/AR10K00697) and client (https://www.nomachine.com/DT10O00163#2.2) logs so we can take a further look? You can send them to forum[at]nomachine[dot]com.

    #24846
    fra81
    Moderator

    Thanks for the logs. Please check if any of the these helps:

    1) turn off UDP (Edit connection -> Advanced -> uncheck ‘Use UDP communication for multimedia data’);

    2) uncomment and set the EncoderMode key (in /Applications/NoMachine.app/Contents/Frameworks/etc/node.cfg) to the following:

    EncoderMode bitrate

    (then restart the server)

    #24851
    kvic
    Participant

    Hi fra81

    Thanks for the prompt help. I tried your suggestion but no difference unfortunately. Based on in-line comments in the file, I also tried ‘EncoderMode quality’ but no difference either.

    Cheers

    #24930
    fra81
    Moderator

    Hi,

    I wasn’t able to reproduce your problem. Could you send a screenshot of the scaling options from the display settings of both your client and server Macs?

    #25070
    kvic
    Participant

    Hi there,

    Server side has four items listed under “Scaled” resolutions:

    • 2560×1440
    • 1600×900
    • 1080p
    • 720p

    Client side has exactly the same items.

    I tried to set server to different scaled resolutions in macOS. I also realized that NX client can request custom resolution as well as setting to match client. Played with them individually or in combination. Make no difference.

    I believe the issue may be before the encoder (as it happens in h264, VP8 and MJPEG). Perhaps a common setting applicable to all of them in the encoding pipeline.

    I’m no expert in video encoding. Google pointed me to discussions about color space. In particular, some people mentioned YUV 4:4:4 vs YUV 4:2:2. The latter hurts bright colors in non-video materials (such as graphics and text). Don’t know if it’s relevant but worth checking.

    Cheers

    #25230
    fra81
    Moderator

    Thanks for info!

    Finally we reproduced something similar between two Macs in our labs. I’ll let you know the results of investigations.

    About color spaces you are right, but NoMachine dealt already with this problem (see https://www.nomachine.com/FR03M02907).

    #25274
    Britgirl
    Participant

    @kvic, can you please check your email inbox for further instructions.

    #25380
    kvic
    Participant

    Hi there

    First of all, great to hear you have a breakthrough on this issue!

    I’m sorry for my late response. I followed the instructions in the email. nx server starts successfully. But then cannot make a connection.

    I followed your webpage’s instructions on checking server log and found the following errors in “session” file when nx client attempts to connect to nx server:

    NXAGENT – Version 6.9.2

    Copyright (C) 2001, 2019 NoMachine.
    See http://www.nomachine.com/ for more information.

    Session: Starting session at Sun Jan 26 00:05:44 2020.
    Info: Agent running with pid 1287.
    Info: Slave server running with pid 19971.
    Info: Display running with pid 19203.
    Info: Listening to slave connections on port 12002.
    Session: Session started at Sun Jan 26 00:05:45 2020.
    dyld: lazy symbol binding failed: Symbol not found: _NXShadowOptionSetXTestWorkaround
    Referenced from: /Applications/NoMachine.app/Contents/Frameworks/bin/../lib/libnxdiag.dylib
    Expected in: /Applications/NoMachine.app/Contents/Frameworks/bin/../lib/../lib/libnxdimi.dylib

    dyld: Symbol not found: _NXShadowOptionSetXTestWorkaround
    Referenced from: /Applications/NoMachine.app/Contents/Frameworks/bin/../lib/libnxdiag.dylib
    Expected in: /Applications/NoMachine.app/Contents/Frameworks/bin/../lib/../lib/libnxdimi.dylib

    Please advise.

    Cheers

    #25424
    Britgirl
    Participant

    Please check your inbox for further instructions ๐Ÿ™‚

    #25430
    kvic
    Participant

    It works now!

    I’ve been using it for a day at various quality settings. Eventually it will end up crystal sharp every time (after a very brief transition).ย Thank you very much!

    My last wish (not related to this thread):

    Hopefully AMD GPU will be supported for HW encoding soon as in FR01P03578.

    ๐Ÿ™‚

    #25443
    Britgirl
    Participant

    Thanks for letting us know ๐Ÿ™‚

    As for AMD GPU support, it’s in its last phase of development.

    #25444
    kvic
    Participant

    Good to hear. Thanks again!

Viewing 13 posts - 1 through 13 (of 13 total)

This topic was marked as solved, you can't post.