Jump to content

Never been able to play 4K on client PCs


Recommended Posts

diaz1510
Posted

I've never been able to play any of my 4K content on any of my smaller PCs I have throughout my home network.  The server CPU is a solid Core i7-9800X and can transcode decently.  The main TV in the home has a good (2080Ti) graphics card that we have no issues playing the 4K content from the server directly in all its 4k glory.  It's when I try to watch 4K content onto PCs that are in the other rooms of the home.  I've got Intel NUC i5's in each room acting as clients and under normal circumstances they wok perfectly fine for Netflix/Hulu/YouTube and even Emby.  But now that my 4K content library is getting larger, it is starting to effect the experience.

 

When I want to watch a movie that is 4K, I select play just as I would any other content, and the media artwork shows as it starts transcoding, but then the emby circle just goes and goes...it pretty much just sits there and I have to end the process via task manager.

 

I understand the NUCs do not have great video capability but shouldn't the server transcode it down to a quality that it can play?  Even regular 1080p movies I have to manually adjust it down to no more than 4mbs or it drops frames, which is fine (i know those NUCs won't give me the full cinematic experience), but why is it not doing that automatically when it is set to Auto?

 

i imagine I am just not setting emby up properly.  Is there some settings in emby I need to adjust in order to ensure each device in the home can play the the media, while in Auto, to the limit of its capability without causing the video to basically buffer?

 

Thanks.

Posted

Hi there, what Emby app are you playing from? Is it on the same machine as the server?

diaz1510
Posted

Oh my bad...should've clarified that.

 

I run Emby Theater and nope...its on a client PC on my home network (all client PCs are on Ethernet, not a WiFi connection).  Ember Server is on the server itself.

diaz1510
Posted (edited)

Are you using this app?

 

https://emby.media/emby-theater.html

LOL, yes...I said that already.  I been an emby user since back when they were MediaBrowser, lol.  Not new to this, but never been able to use Auto setting on any of the NUCs.  I always have to go into the video settting and manually turn it down to about 720p at no more than 4mbs.

 

I've got 3 client NUCs throughout the home and they all are basically clones of each other.  None of them are able to play media without manually setting the limit down as mentioned above.  And forget about any 4K content, it just sits there and shows the processing wheel endlessly.  As mentioned, I have to kill emby in task manager after many many minutes (I've let it run over 10 minutes before to see if it just takes awhile) of waiting.  This was never really an issue until my 4K library has been expanding of late.

Edited by diaz1510
Guest asrequested
Posted

LOL, yes...I said that already. 

 

No you didn't. You said you used Emby Theater, there's more than one.

 

 

I been an emby user since back when they were MediaBrowser, lol.  Not new to this

 

You don't need any help, then.

rbjtech
Posted (edited)

The first thing I would check is the data transfer capability of the NUC outside of Emby.  

 

Ensure the media directories (on the Emby 'Server')  are 'shared' in Windows and then simply copy a large multi-Gb file from one to the other.

 

Assuming you are on a Gb network connection, then you should see ~80-100 Mbytes transferred per second - if you are only seeing ~8-10 Mbytes per second, then you may only using a 100 Mbit/sec LAN connection.

 

Even with just a 100 Mbit/sec LAN connection - you still SHOULD be ok for high bitrate (~80-90) 4K Video.

 

Lets us know, and if you have the above transfer rates, then we can eliminate the 'OS & network' and look into why Emby is transcoding in the first place because it should direct play if using Theatre, depending on hevc support of the NUC, 8 or 10bit support -  basically how old it is (which Gen?).

 

h264 is fully hardware supported on even the 1st Gen NUC - so there should be zero reason why these do not direct play ...

Edited by rbjtech
diaz1510
Posted

The first thing I would check is the data transfer capability of the NUC outside of Emby.  

 

Ensure the media directories (on the Emby 'Server')  are 'shared' in Windows and then simply copy a large multi-Gb file from one to the other.

 

Assuming you are on a Gb network connection, then you should see ~80-100 Mbytes transferred per second - if you are only seeing ~8-10 Mbytes per second, then you may only using a 100 Mbit/sec LAN connection.

 

Even with just a 100 Mbit/sec LAN connection - you still SHOULD be ok for high bitrate (~80-90) 4K Video.

 

Lets us know, and if you have the above transfer rates, then we can eliminate the 'OS & network' and look into why Emby is transcoding in the first place because it should direct play if using Theatre, depending on hevc support of the NUC, 8 or 10bit support -  basically how old it is (which Gen?).

 

h264 is fully hardware supported on even the 1st Gen NUC - so there should be zero reason why these do not direct play ...

Thanks @@rbjtech

 

Yup network is a Gb network, but it makes sense to test this to make sure everything is working right.  Everything is shared throughout the network and copied a large 4k file across it and am getting average of 100-112 Mbit/sec transfer speeds so it seems to be working right on that part at least.  I know the graphics is integrated into those NUCs so capabilities are limited, but I'm wondering if there isn't some setting on those clients I should be looking at...to be exact they are all Intel NUC5i5RYH from around 2015 model year, if that helps for troubleshooting.

rbjtech
Posted (edited)

ok good news on the network - that is perfect - so we can rule that out.

 

Your NUC's are using Broadwell HD6000 (Gen 8) Graphics - which according to Wiki do 'partially' support HEVC in both 8 and 10bit.  

 

https://en.wikipedia.org/wiki/Intel_Graphics_Technology#Capabilities_(GPU_video_acceleration)

 

So the first thing I would do is ensure you have the latest Windows drivers from Intel (not the standard Microsoft ones) and see if you can directly play HEVC via the local file system (copy the MKV or whatever to the local HDD) and play via VLC etc and make sure it plays via hardware (cpu should be low %).    If this is good, then you at least know your NUC video hardware is not the issue here and it's capable of direct play via Emby without transcoding.

Edited by rbjtech
diaz1510
Posted (edited)

ok good news on the network - that is perfect - so we can rule that out.

 

Your NUC's are using Broadwell HD6000 (Gen 8) Graphics - which according to Wiki do 'partially' support HEVC in both 8 and 10bit.  

 

https://en.wikipedia.org/wiki/Intel_Graphics_Technology#Capabilities_(GPU_video_acceleration)

 

So the first thing I would do is ensure you have the latest Windows drivers from Intel (not the standard Microsoft ones) and see if you can directly play HEVC via the local file system (copy the MKV or whatever to the local HDD) and play via VLC etc and make sure it plays via hardware (cpu should be low %).    If this is good, then you at least know your NUC video hardware is not the issue here and it's capable of direct play via Emby without transcoding.

Well, transferred it to the local client NUC and played via VLC and Windows Media Player.  Both completely peg the CPU to 100% and stutter really bad...the TVs that are connected to the NUCs are not 4K capable btw (older, and yes, new TVs are pretty cheap, so I SHOULD probably upgrade these things, lol).  So I wouldn't expect these to play at there full capability.  But I'm wondering why Emby can't transcode it down so that it becomes playable, btw...

 

UPDATE...actually hold that thought.  I just recently upgraded my living room PC to a more powerful PC with a dedicated graphics card and it plays 4K content just fine, BUT, I had an identical NUC connected to it and it still would never play 4K content, despite that TV being a high end, 4K capable LG TV.  So not sure if the TV is truly the bottle neck...

Edited by diaz1510
rbjtech
Posted (edited)

Couple of things here - if you are trying to play a 4K video on a 1080p screen, then either your TV (the best device to do it) or your NUC will just SCALE it down to 1080p (the opposite of upscaling, you want to downscale..)

 

The issue looks to be your NUC graphics cards cannot direct play hevc (could be the encode settings, bit depth etc - they may play some) and thus emby is trying to trancode them.  These transcode to h264, so your NUC can definitely play these as said earlier.  Attach your ffmpeg log file for the transcode and we can take it from there.

 

The other option is multi-version (which is what I do) - simply have both a 4K (HDR, Mult-channel HD Audio etc) + a (1080p SDR, AAC Stereo etc) copy of your films - that way, you rarely have to transcode on any device as emby will pick the most appropriate one to direct play.    Be wary of converting 4K HDR to 1080p SDR though, it's better to source the native 1080p if you can.

 

https://github.com/MediaBrowser/Wiki/wiki/Movie-naming

Edited by rbjtech
Guest asrequested
Posted (edited)

It's probably falling back to software decoding and the NUC can't handle it. The server will never transcode due unsupported codecs, because the player supports everything. Just look at the stats for nerds. It'll tell you everything it's doing.

Edited by Doofus
diaz1510
Posted

Couple of things here - if you are trying to play a 4K video on a 1080p screen, then either your TV (the best device to do it) or your NUC will just SCALE it down to 1080p (the opposite of upscaling, you want to downscale..)

 

The issue looks to be your NUC graphics cards cannot direct play hevc (could be the encode settings, bit depth etc - they may play some) and thus emby is trying to trancode them.  These transcode to h264, so your NUC can definitely play these as said earlier.  Attach your ffmpeg log file for the transcode and we can take it from there.

 

The other option is multi-version (which is what I do) - simply have both a 4K (HDR, Mult-channel HD Audio etc) + a (1080p SDR, AAC Stereo etc) copy of your films - that way, you rarely have to transcode on any device as emby will pick the most appropriate one to direct play.    Be wary of converting 4K HDR to 1080p SDR though, it's better to source the native 1080p if you can.

 

https://github.com/MediaBrowser/Wiki/wiki/Movie-naming

hmmm, ok, went to play a 4K movie on the client NUC. Emby Theater is set to play "Auto - Direct" and the movie stutters pretty bad.  I'm looking at Stats For Nerds and the bitrate is identical to the original media video bitrate.  I go to the emby server logs to paste it up on the forum and there was no FFMPEG log.  Almost as if the movie is playig directly with emby NOT transcoding at all.  I went to the client NUC, changed the quality setting to 720p - 4Mbps and the movie plays fine, AND emby creates an FFMPEG log.

 

Isn't emby supposed to do this automatically?  I'm wondering if there is some setting in Emby that I didn't set up right.   I'd like for it to do that so that I don't have to manually go into the quality setting and just play darts figuring out which one will maximize my quality without dropping frames.

 

Thanks again BTW.

diaz1510
Posted (edited)

It's probably falling back to software decoding and the NUC can't handle it. The server will never transcode due unsupported codecs, because the player supports everything. Just look at the stats for nerds. It'll tell you everything it's doing.

yeah, you're right.  I knew going into this the NUC can't handle 4K.  I'm just wondering why emby isn't automatically picking the best quality and transcoding it for me instead of me having ot manually go in every time and change it.  That usually takes quite a few attempts to balance the quality without dropping frames.

 

Unless I am misunderstanding how Emby works and it isn't supposed to be automatically transcoding on my local network at all, which is what it looks like it's doing.

 

Thanks for the assist btw.

Edited by diaz1510
Posted

Did you explore your server dashboard during playback to learn why it was transcoding? Or the stats feature inside the video player?

Guest asrequested
Posted

Did you explore your server dashboard during playback to learn why it was transcoding? Or the stats feature inside the video player?

 

No, it's not transcoding. That's the problem in this case. The server can't tell that the CPU can't decode the video very well when hardware acceleration fails, so the NUC just struggles. This is the exception to the rule. Because mpv can play everything, the server will never transcode based on what the player will not support. So when playing in a LAN, and the bandwidth is substantial, the player is left to it's own devices. And in this case, playback just stalls. Maybe there should be should be some kind of check that if hardware acceleration is aborted by mpv that the server will transcode? Of course this shouldn't apply if hardware acceleration was never selected. mpv does run this check and is in it's logging. But I can see that if not handled correctly, it could possibly cause other problems.

Guest asrequested
Posted

I hate to suggest this, but maybe add the playback correction option, like other apps do?

diaz1510
Posted

Did you explore your server dashboard during playback to learn why it was transcoding? Or the stats feature inside the video player?

Yeah, it wasn't transcoding at all on the NUC.  I've got the main HTPC (also an Emby client) that is pretty powerful and have no issues watching 4K directly.  It's the NUCs that I have scattered throughout the home running the smaller setups that cause the issues.  Sounds like @ might be right in this case.  Ember server just doesn't know the NUC isn't powerful enough to keep up.  IS there anyway that Emby can monitor the capabilities of the system that is attempting to play the media?

diaz1510
Posted

No, it's not transcoding. That's the problem in this case. The server can't tell that the CPU can't decode the video very well when hardware acceleration fails, so the NUC just struggles. This is the exception to the rule. Because mpv can play everything, the server will never transcode based on what the player will not support. So when playing in a LAN, and the bandwidth is substantial, the player is left to it's own devices. And in this case, playback just stalls. Maybe there should be should be some kind of check that if hardware acceleration is aborted by mpv that the server will transcode? Of course this shouldn't apply if hardware acceleration was never selected. mpv does run this check and is in it's logging. But I can see that if not handled correctly, it could possibly cause other problems.

Hmm is there a fix for this?

Guest asrequested
Posted (edited)

Hmm is there a fix for this?

 

There's really no good way to 'fix' this. Most 4k content that people watch is HDR, and if transcoded isn't tone-mapped.

 

https://emby.media/community/index.php?/topic/81222-what-is-the-reason-behind-no-hdr-tone-mapping/

 

This is an edge case. For you, I think you could use multiversioning and choosing the 1080 version before watching, would be the best option. Long term, Luke might consider a playback correction button, that would force transcoding (I don't like this idea). You could try auto-refresh rate switching. Then it would playback without interpolating and halving the load of so many frames. Along those lines, you could also lower your GPU refresh rate to 29 or 30Hz. Then the need for frame doubling won't be needed and the UI should still be smooth enough to not irritate you. I'd actually try that, first. Set it to 29Hz, then you'll get 3:2 pulldown without frame doubling. That will halve the load on the processing. It might just get you there......maybe....

 

Or buy new stuff :)

Edited by Doofus
diaz1510
Posted

There's really no good way to 'fix' this. Most 4k content that people watch is HDR, and if transcoded isn't tone-mapped.

 

https://emby.media/community/index.php?/topic/81222-what-is-the-reason-behind-no-hdr-tone-mapping/

 

This is an edge case. For you, I think you could use multiversioning and choosing the 1080 version before watching, would be the best option. Long term, Luke might consider a playback correction button, that would force transcoding (I don't like this idea). You could try auto-refresh rate switching. Then it would playback without interpolating and halving the load of so many frames. Along those lines, you could also lower your GPU refresh rate to 29 or 30Hz. Then the need for frame doubling won't be needed and the UI should still be smooth enough to not irritate you. I'd actually try that, first. Set it to 29Hz, then you'll get 3:2 pulldown without frame doubling. That will halve the load on the processing. It might just get you there......maybe....

 

Or buy new stuff :)

I will try and make some of those recommended changes and see how it goes.  but LOL, yeah, I have been limping these NUCs along. They are 5 years old now. I like the idea of the NUCs for these various rooms throughout the home, but as they are mostly used as a media client, I may need to finally break down and get something more capable.  I've got 3 of those systems throughout my network.  I wonder if the latest NUC versions are any better...

Guest asrequested
Posted

 I wonder if the latest NUC versions are any better...

 

They are. They have better GPUs, but still intel with HDMI 2.0. So if you wanted to watch HDR stuff, or even 10 bit stuff properly, you'd have to change the refresh rate to 30 Hz or lower. HDMI 2.0 doesn't support RGB10 at anything higher than that. If you want a mini pc, maybe look at Zotac stuff with an Nvidia GPU. Much more versatile. Then you can use chroma subsampling and run it up to 60Hz.

diaz1510
Posted

They are. They have better GPUs, but still intel with HDMI 2.0. So if you wanted to watch HDR stuff, or even 10 bit stuff properly, you'd have to change the refresh rate to 30 Hz or lower. HDMI 2.0 doesn't support RGB10 at anything higher than that. If you want a mini pc, maybe look at Zotac stuff with an Nvidia GPU. Much more versatile. Then you can use chroma subsampling and run it up to 60Hz.

hmm, i will definitely look into that.  Whats nice about the NUCs is that I have them secured to the rear of each TV.  With Bluetooth keyboard/mouse, it is almost undetectable and pretty minimalist, which I like.

Posted

Ideally we should have options in the app about direct playing certain formats so that you have a way of indicating that your client machine isn't powerful enough for it.

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...