I am having the same problem with Cyberpunk Edgerunners screenshots.
If you have potplayer's HDR to SDR feature turned on, the image will be as nice as your second image. This feature adjusts the colour of the video to make it look a little more correct on an SDR monitor (but in reality it is nowhere near the correct HDR colour, even though it looks good).
Or maybe you have an HDR monitor and something goes wrong when you save the screenshot as a JPEG. the JPEG may only save the SDR image and when it tries to save the HDR image it will interpret it as an SDR image format and the image becomes grey.
The way I did it was to convert the Cuberpunk Edgerunners video to a new video file in SDR colours using ffmpeg. Then I took a screenshot on the new video.
Or you can take the image you have already captured and fix it with image processing software.
You could download the compiled ffmpeg executable from the internet. And I used the following code to transcode the HDR video to SDR video:
param ([string]$filename)
./ffmpeg.exe `
-hwaccel cuda `
-c:v hevc_cuvid `
-i $filename `
-vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p `
-c:v h264_nvenc `
-preset slow `
-crf 18 `
-c:a copy `
-c:s copy `
./sdr/$filename
Save the code in .ps1 format. Place it in your video directory. Put the ffmpeg.exe in the same place. In a blank area of this directory's window use shift + right mouse click to open powershell. start with
.\[your ps1 file name].ps1 [your video name].mkv
to execute it.
Both of these methods will reduce the HDR image to an SDR image. However if you watch Cyberpunk Edgerunners via Netflix streaming, you don't get the .mkv file, so you can't transcode it to an SDR video file with ffmpeg. Maybe you should try Google to find a way to save HDR images in the correct format. JPEG doesn't achieve this.
Translated with www.DeepL.com/Translator (free version)