Jump to content

HDR/Framerate switching


Recommended Posts

Posted

I'm running Emby Theatre on a PC that I use for gaming as well. Can't run 120Hz UHD though. In Plex when I enable framerate sync it'll automatically enable HDR when the video is UHD < 60Hz, without me needing to manually change anything in Windows. Since it works there I'm hoping you could bring that feature to Emby as well.

Posted

Hi, what version of Emby Theater are you running?

Posted
2 hours ago, Luke said:

Hi, what version of Emby Theater are you running?

3.0.20 on Windows 10

Posted

OK yes you do need to enable HDR in windows. Have you done that?

Posted

I can't enable HDR on 120Hz is the thing. So I'd have to manually set 60Hz and enable it every time.

Posted

OK currently it has to be enabled in Windows, but we are working on a new Windows app that shouldn't have this requirement anymore. Thanks.

Posted
6 hours ago, Luke said:

OK currently it has to be enabled in Windows, but we are working on a new Windows app that shouldn't have this requirement anymore. Thanks.

You need to employ the the option of using --gpu-api=vulkan, then he'll have what he wants.

Posted
On 9/20/2023 at 2:25 AM, generiq said:

You need to employ the the option of using --gpu-api=vulkan, then he'll have what he wants.

Using a custom mpv install with this option and set it as external player would solve this for me?

Posted (edited)
3 hours ago, eL1337- said:

Using a custom mpv install with this option and set it as external player would solve this for me?

If you use mpv as an external player, use gpu-next, fs=yes, target-colorspace-hint=yes and gpu-api=vulkan, it should automatically turn windows hdr on.

You'll want to use the executable and not the library. 

Edited by generiq
Posted (edited)

How would I know that emby theater successfuly change framerate on playback? I don't see the diffrence. I also had to change render method from automatic to gpu because playback was choppy. 

I use Intel NUC 12 with i5 and windows 11 PRO, LG C2. 

 

Edited by Kraszer
Posted
2 minutes ago, Kraszer said:

How would I know that emby theater successfuly change framerate on playback? I don't see the diffrence. I also had to change render method from automatic to gpu because playback was choppy. 

I use Intel NUC 12 with i5 and windows 11 PRO, LG C2. 

 

Just look at the stats. It'll show what the frame rate is set to.

Posted
4 minutes ago, Kraszer said:

How would I know that emby theater successfuly change framerate on playback? I don't see the diffrence. I also had to change render method from automatic to gpu because playback was choppy. 

I use Intel NUC 12 with i5 and windows 11 PRO, LG C2. 

 

If you're using Theater .21 you should regress to .20 and use gpu-next 

Posted

But you guys should be aware that if you use mpv externally, it won't switch the framerate. The executable that does that, is written by emby for Theater. I suppose if you are proficient in scripting, you could write a script and use the executable. But nobody is going to help you with that.

Posted

I use Emby theater 3.0.20
What stats should I look for?
 

  • 2 weeks later...
Posted

Not sure if this is helpful, but I wrote a Windows app and Lua script that will setup your display to match your video params.  The app also lets you query your displays and returns their current setup.  Currently I use it for setting hdr and refresh rates.

Usage: DisplayMode.exe -query [monitor] -monitor <1,2,...> -width <pixels> -height <pixels> -depth <16,24,32 bits> -refresh <23,24,25,29,30,50,59,60 Hz> -hdr <0,1> -bpcc <8,10,12>

Query example: DisplayMode.exe -query

{
    "display": [
        { "index": 1, "width": 3440, "height": 1440, "depth": 32, "refresh": 59, "hdr": -1, "bitsPerColorChannel": 8, "colorEncoding": "RGB" },
        { "index": 2, "width": 2560, "height": 1440, "depth": 32, "refresh": 59, "hdr": 1, "bitsPerColorChannel": 10, "colorEncoding": "RGB" }
    ]
}

hdr of -1 means the monitor does not support it, sdr only.  "0" means it's off and "1" means it's on.

Set example: DisplayMode.exe -monitor 2 -hdr 1 -refresh 23 (this would turn on hdr and set the refresh rate to 23.976 Hz)

Unsupported settings will not be applied, like setting 23 Hz and your monitor only supports 59 and 60 Hz.

The Lua script runs when the movie file is loaded, gets the video-params and then executes the DisplayMode.exe in a subprocess to setup the video card.  When the movie is stopped it sets the monitor back to the original settings.

If it's something you're interested I can send you the source (it's not on Github) or exe and Lua script.

This might be a good addition to ET.

Scott 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...