Unraid + Plex + 4k, what are the hardware requirements? Plex complaining server not powerful enough.


syrys

Recommended Posts

Sorry, im really not sure where this thread should be posted, but i will post here for now and hopefully someone can link me to somewhere more suitable if this is not appropriate.

----------------------------------------

 

I have been using unraid for couple of years now. I use a linuxserver.io docker for plex. I play plex on a Nvidia Shield (Android TV device). My plex server is running a i7 4770 with 16gb ram. 

 

So, since recently, my plex client keeps pausing videos, failing to smoothly playback most of my recent 4k videos. Anything from movies or tv shows. Plex has a popup saying my server is not powerful enough to playback the video. Is that really true? an i7 4770 is not powerful enough to transcode 4k videos? I use plugin on unraid to monitor server stats, and most of the time when its skipping, the server CPU usage is nowhere near 100%, sometimes barely hitting 30+%. So, what on earth is going on?

 

Can anyone shead some light on this, and maybe point me in the right direction? Im not sure if the cause is the plex docker/server, plex client (unlikely, i've tried multiple clients), unraid (somehow not allowing full cpu access to the docker?), 4770 really isnt powerful enough (if so, what is?), something to do with media type (some specific encoding?), or something else entirely?

 

TY in advance.

Link to comment

I suggest you try installing Kodi on your Sheild and then the Plex addon for Kodi.

 

I found that even on the Sheild, Kodi is more capable of playing formats as direct play. **As I'm typing this I'm wondering if it was FireTV or Sheild. Either way I had a much better experience playing 4k content through Kodi/Plex than the Plex app direct. 

 

Do you use PlexPy or are you looking at stats when it attempts to play it. Does it really try to transcode it? That shouldn't be required on the Sheild unless you are playing 10bit. ** Memory seems to be telling me that 10bit HEVC isn't supported.

Edited by Tuftuf
Link to comment
48 minutes ago, Tuftuf said:

I suggest you try installing Kodi on your Sheild and then the Plex addon for Kodi.

 

I found that even on the Sheild, Kodi is more capable of playing formats as direct play. **As I'm typing this I'm wondering if it was FireTV or Sheild. Either way I had a much better experience playing 4k content through Kodi/Plex than the Plex app direct. 

 

Do you use PlexPy or are you looking at stats when it attempts to play it. Does it really try to transcode it? That shouldn't be required on the Sheild unless you are playing 10bit. ** Memory seems to be telling me that 10bit HEVC isn't supported.

 

I have plexpy docker installed (never really used it much), but i have it disabled atm. Ive disabled almost ever docker thats not 100% necessary to get the max performance. But, i use a unraid plugin called "Dynamix System Statistics" (i think) to see the server stats (shows me cpu/network/ram/hdd activity). 

 

Alright, ill try out Kodi. I didnt realise kodi had a plex plugin (that sounds strange haha). I did install Kodi just earlier on the shield, but got stuck on some stupid thing, where as soon as you launch the app, it just says "waiting for external storage" and nothing happens (cant do anything besides closing the app). Ill look into that further.

 

As for transcoding, i may be using that work incorrectly. Im just trying to get my 4k content from my plex server playing on my plex client on the shield. Honestly, i have no idea if the server is transcoding/converting this or sending it direct (direct play?). Is there any way i can tell if its being transcoded? As for 10bit, is there a way i can tell if my content is 10bit?

 

Also, i can play some 4k content just fine. Its really weird. So i have some shows, where every episode (4k) works just fine. And i have other shows where none of the episodes (4k) play properly (well, it freezes time to time and says server isnt powerful enough). It seems like there is a connection to certain shows.

Link to comment

When you are playing a video on your plex client. Load up Plex on your computer or Plexpy and look at the current streams, this will tell you if its transcoded, direct play or direct stream.

 

This will show us if you are Transcoding content (Making your CPU hurt) or simply doing direct play which doesn't really require any CPU at all.

 

Plex > Status > Currently Playing. Click on the video and it'll say Transcode or Direct Play.

 

An example is if I play 4k content to my laptop within the Plex app, then my PC will transcode it. I'll see the CPU hitting 90%+ until there is another transcoded/buffered and it'll calm down but not much. 

If i watch content via the Kodi/Plex app then its direct play and my CPU isn't touched.

 

 

Link to comment
30 minutes ago, Tuftuf said:

When you are playing a video on your plex client. Load up Plex on your computer or Plexpy and look at the current streams, this will tell you if its transcoded, direct play or direct stream.

 

This will show us if you are Transcoding content (Making your CPU hurt) or simply doing direct play which doesn't really require any CPU at all.

 

Plex > Status > Currently Playing. Click on the video and it'll say Transcode or Direct Play.

 

An example is if I play 4k content to my laptop within the Plex app, then my PC will transcode it. I'll see the CPU hitting 90%+ until there is another transcoded/buffered and it'll calm down but not much. 

If i watch content via the Kodi/Plex app then its direct play and my CPU isn't touched.

 

 

 

Hey, thanks so much for the advice. I tried plex addon on kodi, and all works perfectly fine. when i messed around with direct play on plex app, it was hit and miss. with kodi, so far, 100% success (and is perfect). I will bring my queries to the plex forums.

 

Only downside with kodi is the UI is not as good (and i dont see any options like automatic subtitles for things like anime). But maybe ill get used to it, who knows.

 

Thanks again :)

Link to comment
12 minutes ago, syrys said:

 

Hey, thanks so much for the advice. I tried plex addon on kodi, and all works perfectly fine. when i messed around with direct play on plex app, it was hit and miss. with kodi, so far, 100% success (and is perfect). I will bring my queries to the plex forums.

 

Only downside with kodi is the UI is not as good (and i dont see any options like automatic subtitles for things like anime). But maybe ill get used to it, who knows.

 

Thanks again :)

Personally I  moved to Kodi clients for my local viewing as the audio and video direct play support seems better (and you can play DVDs and ISOs), and I use Plex for my remote devices e.g. phones and tablets that need transcoding.

Link to comment

Plex has two components, the server and the client (player). The server looks at the player and its capabilities to determine if it will need to transcode a video into a format compatible with that player. If it does not have to transcode, it will send the raw file contents to the player for it to handle. Plex needs little power to send the raw contents, 4k or otherwise. But if the player lacks the power, Plex server has to transcode the video, which can be a CPU intensive tasks. (I should mention that Plex does have the ability to pre-transcode video - if you plan to watch a high-res video on a low-res client for some specific material, this pre-transcoding might be a good strategy. It does not have to do some in real time.)

 

If Plex has to transcode the video, the job can be easier or harder depending on the resolution and compression standard. In general, Plex can transcode effectively and in real time, requiring a CPU with about 2000 Passmark per parallel stream with (pre-HEVC) HD material. 

 

4K adds a new dimension. HEVC (or H.265) is a relatively new and very efficient compression standard.  It can be used with any resolution content, but is used for most, if not all, compressed 4k video. And it comes in 2 bit-widths - 8 bit and 10 bit. It is also computationally complex (10 bit especially) for a normal CPU to transcode. If you have a ton of power - well north of 10,000 Passmark, you might be able to transcode one stream in real time. But more modern CPUs, starting with Braswell (8 bit only), have specific hardware features to provide very efficient transcoding of HEVC content. And if you have an older CPU there is an alternative. Video cards (not sure how far back) are able to do this type of transcoding. Some have "Vulcan" drivers, which allow the CPU to offload the heavy lifting to the video card to perform, freeing the CPU for the intense activity. If the video card is passed through, I am not sure if the video card is available to a Plex Docker or not. (If someone knows, I'd actually like to know this answer). (I cannot speak to the maturity of Plex server and its ability to make use of Vulcan and CPU features for transcoding HEVC video - but do believe it is working at least to some degree).

 

Besides the HEVC bit-rate, there is also the FPS that impact the difficulty of HEVC material. Up to 30 FPS can be handled by Sky Lake, but only the Kaby Lake have the ability to handle 60 FPS HEVC content (which is generally scarce for movies, but should come into heavier use with TV and personal video). THis makes Kaby Lake and now Coffee Lake the best for 4k video.

 

So, in summary, if your playback device has the smarts to decode the HEVC, the server doesn't have to transcode anything. And the playback is relatively simple. But if the client is not HEVC capable, your server is going to have a lot of work to do.

 

You might look at something like a low-end Kaby Lake NUC as a very capable playback device for 4K content. It can decode the HEVC effortlessly, and it very small with built in IR. I run mine with the generic x64 Plex client and recommend it. It also flawlessly handles sending native audio to a surround sound system is needed.

 

Good luck!

Link to comment

Simply use a GTX1050 (or Ti) or the newer GT1030 on your Client and done. This Cards are able to do H265 in hardware.

 

INFO:

4K (UHD) Direct Play Video Support

Some 4K (ultra high definition) devices are recognized by the Plex app. We're working to bring 4K playback support to other devices, too. 4K/UHD content matching the following will Direct Play on supported devices:

  • Container: MP4
  • Resolution: 3840x2160 or smaller
  • Video Encoding: HEVC (H.265)
  • Video Frame Rate: 30fps
  • Video Bit Depth: 8

4K content not matching the above properties will be transcoded to 1080p. Transcoding 4K content is a very intensive process and will require a powerful computer running Plex Media Server.

Edited by Zonediver
Link to comment

Since some of the guys here mention other hardware, I just want to chime in and say that your Shield TV is more than capable to handle 4k, so no need to upgrade anything. What you might want to do is to use SPMC instead of Kodi. SPMC is made by the former Kodi android dev. Kodi doesn't have (didn't when I checked) any android devs anymore, so SPMC is a better choice and have fixes and optimizations for android and the Shield TV. The dev uses Shield TV himself.

 

As @Zonediver mentions, it's your Plex client that can't play your media and therefor wants to transcode it. SPMC should handle your media directly.

Link to comment
2 hours ago, Zonediver said:

Simply use a GTX1050 (or Ti) or the newer GT1030 on your Client and done. This Cards are able to do H265 in hardware.

 

INFO:

4K (UHD) Direct Play Video Support

Some 4K (ultra high definition) devices are recognized by the Plex app. We're working to bring 4K playback support to other devices, too. 4K/UHD content matching the following will Direct Play on supported devices:

  • Container: MP4
  • Resolution: 3840x2160 or smaller
  • Video Encoding: HEVC (H.265)
  • Video Frame Rate: 30fps
  • Video Bit Depth: 8

4K content not matching the above properties will be transcoded to 1080p. Transcoding 4K content is a very intensive process and will require a powerful computer running Plex Media Server.

 

I would take the above info with a grain of salt. They unfortunately are not so timely at updating their DOCs, and I didn't see a date on this info. And also not so precise.

 

I just did a test play of a 4K HEVC 10-bit .MKV file (23.976 FPS) that plays back through my NUC client (explained earlier) with no transcoding. Interpreting above would make you think it would have to transcode the 10 bit video depth.

 

This goes through a Marantz pre-amp to an LG TV. Sever utilization went up from about 17% to about 18% from baseline (baseline includes running my Windows VM). So I think I could handle 80 more such streams if I had enough I/O bandwidth on the LAN (and enough 4k TVs)! ;) 

 

I have not had great luck with a Plex client running on Windows VM. I lose audio/video sync. The generic x64 version which runs on Openelec is definitely what I prefer. I have not gone outside of Plex, but thinking of trying the PHT that is now community supported, as well as possibly the Koki client for comparison. But I am pretty happy with Plex for now.

Link to comment
57 minutes ago, SSD said:

 

I would take the above info with a grain of salt. They unfortunately are not so timely at updating their DOCs, and I didn't see a date on this info. And also not so precise.

 

I just did a test play of a 4K HEVC 10-bit .MKV file (23.976 FPS) that plays back through my NUC client (explained earlier) with no transcoding. Interpreting above would make you think it would have to transcode the 10 bit video depth.

 

This goes through a Marantz pre-amp to an LG TV. Sever utilization went up from about 17% to about 18% from baseline (baseline includes running my Windows VM). So I think I could handle 80 more such streams if I had enough I/O bandwidth on the LAN (and enough 4k TVs)! ;) 

 

I have not had great luck with a Plex client running on Windows VM. I lose audio/video sync. The generic x64 version which runs on Openelec is definitely what I prefer. I have not gone outside of Plex, but thinking of trying the PHT that is now community supported, as well as possibly the Koki client for comparison. But I am pretty happy with Plex for now.

 

OpenPHT is my go-to for Windows based VM's for playback. I get the audio/video out of sync issues on the VM's in plex media player as well as any webbrowser, when using Windows 10. I swapped my VM's back to Windows 7 on Saturday and so far have had no audio/video sync issues in web browser, OpenPHT or PMP.

 

However, I do not have any 4k content, so I cannot help much with the original question of the thread, sorry! :) 

Link to comment
1 hour ago, SSD said:

 

I would take the above info with a grain of salt. They unfortunately are not so timely at updating their DOCs, and I didn't see a date on this info. And also not so precise.

 

I just did a test play of a 4K HEVC 10-bit .MKV file (23.976 FPS) that plays back through my NUC client (explained earlier) with no transcoding. Interpreting above would make you think it would have to transcode the 10 bit video depth.

 

This goes through a Marantz pre-amp to an LG TV. Sever utilization went up from about 17% to about 18% from baseline (baseline includes running my Windows VM). So I think I could handle 80 more such streams if I had enough I/O bandwidth on the LAN (and enough 4k TVs)! ;) 

 

I have not had great luck with a Plex client running on Windows VM. I lose audio/video sync. The generic x64 version which runs on Openelec is definitely what I prefer. I have not gone outside of Plex, but thinking of trying the PHT that is now community supported, as well as possibly the Koki client for comparison. But I am pretty happy with Plex for now.

 

My "Plex-Client" has a GTX1050Ti on Board and plays my 4k content without any issues, so whats the Problem? :)

Dont use a crapy VM for this!

Edited by Zonediver
Link to comment
10 minutes ago, SSD said:

LIke I said - I use a NUC client primarily. My Windows box is a VM, but if I manually playback the media with VLC or MPC, it plays back fine.

 

@Zonediver - do you use a full size HTPC to house the HTPC?

 

Yep - its a i3-4150T with a GTX1050Ti and 8GB RAM in a 44cm HTPC case (Silverstone Grandia GD06B).

 

HTPC-1.jpg

Edited by Zonediver
Link to comment
4 minutes ago, SSD said:

Mine is a i3-7100U (dual core Laptop i3 Kaby) in a NUC7i3BNH.

 

I am sure it is not better for playback than your configuration, but it is a lot smaller, very quiet, and has IR built in.

 

Capture3.PNG.7422acf940491662283897dd7ba74b36.PNG

 

I want a Case which meets the Amplifier dimensions - and yes, my HTPC has IR as well - the keyboard in the background is only for service purpose xD

The whole normal use goes over IR - ON/OFF, Mediacenter and Plex (over EventGhost).

Edited by Zonediver
Link to comment

Hmmm .. weird - didn't see the picture until I refreshed the page. Nice setup - I get it now! I had something similar in a Silverstone case, but it was a little noisy and generated a fair amount of heat. It was also sort of persnickety about the motherboard configuration as it required the cards be mounted sideways on a riser card. I went for the NUCs as my players now. One 4K and a few Braswells for HD / 8-bit HEVC content.

Link to comment
22 minutes ago, SSD said:

Hmmm .. weird - didn't see the picture until I refreshed the page. Nice setup - I get it now! I had something similar in a Silverstone case, but it was a little noisy and generated a fair amount of heat. It was also sort of persnickety about the motherboard configuration as it required the cards be mounted sideways on a riser card. I went for the NUCs as my players now. One 4K and a few Braswells for HD / 8-bit HEVC content.

 

The GD06B is 15cm high and can hold normal PCIe Cards - and for the noise reduction i use a Fan-control. The Case holds 3x 120mm Fans and the CPU is a 35W model with a 120mm fan, so completely noisless.

This machine is also my SAT-Server with 2x Dual DVB-S2 Cards (4 Receivers) from Digital Devices so its almost always running and need to be quiet.

Edited by Zonediver
Link to comment
  • 3 months later...
On 10/23/2017 at 10:00 AM, SSD said:

Plex has two components, the server and the client (player).

[...]

So, in summary, if your playback device has the smarts to decode the HEVC, the server doesn't have to transcode anything. And the playback is relatively simple. But if the client is not HEVC capable, your server is going to have a lot of work to do.

Similar issue, but with EMBY...  The unRAID server has a basic gfx card and the media box has an Nividia 980TI; connected via 1Gbs Ethernet. HEVC and x264 @ 1080p plays back fine..sometimes higher than 10+ mbs on an good day. However, 4K stutters so bad its worthless. Should I be using the EMBY client instead of the web interface for playback? How do I tell EMBY that windows on the mediabox should transcode the stream and vice-vera? Based on the conversation, I get the feeling all my mobos and cpus need to be upgraded to something newer than sandy bridge.

 

 

Edited by Joseph
Link to comment
1 hour ago, Joseph said:

Similar issue, but with EMBY...  The unRAID server has a basic gfx card and the media box has an Nividia 980TI; connected via 1Gbs Ethernet. HEVC and x264 @ 1080p plays back fine..sometimes higher than 10+ mbs on an good day. However, 4K stutters so bad its worthless. Should I be using the EMBY client instead of the web interface for playback? How do I tell EMBY that windows on the mediabox should transcode the stream and vice-vera? Based on the conversation, I get the feeling all my mobos and cpus need to be upgraded to something newer than sandy bridge.

 

Never used EMBY. But Plex is able to query the capability of the player and that determines if real-time transcoding is needed. So if EMBY works the same, it means that your media box (with the Nvidia 980Ti) is advertising it can handle H.265 for 1080p, but not for 4k. Either that or you media player is not advertising H.265 at all, and your server is powerful enough to transcode the H.265 / 1080p in real time. Plex allows you to see if transcoding is happening. Not sure about EMBY. Even if there is no direct way, watching CPU utilization might give a clue.

 

Transcoding can be hardware assisted by the CPU or GPU. Below see the CPU capabilities. Sandy bridge (as you see) does not support HEVC at all. The row that says "HEVC" means HEVC 8-bit. Which is not that useful since 10-bit seems to be the format of choice. You really need to get to Apollo Lake. My new CPU is Skylake-X, and still not clear if it does HEVC 10-bit. Found something that says Skylake is "hybrid". Will have to test and see. If not, 12-cores will at least help.

5a70a4e95e754_HEVCbyCPU.thumb.PNG.60703660f7e54de29dc4d8449fe46b53.PNG

 

But even if the CPU is supported, it can get complicated. I have a NUC NUC7i3BNH that I use as a media player, that contains a Kaby Lake and should work like a champ with 4k playback without the server being involved. And it does. But unfortunately it can't pass through all digital audio. They fixed it in Windows, but not in LibreELEC yet. Waiting for LibreELEX 9.0. The joy of early adoption! :( 

 

"Initial patches to resolve the lack of pass-through HBR audio on NUC devices and similar with an internal DP > HDMI convertor were published recently. Testing has shown good results on Linux 4.13+ kernels but issues are seen with older Intel/NUC hardware using the 4.11 kernel used in LibreELEC 8.2. As a result these patches are not suitable for the 8.2.0 release and this minor issue will be resolved with LibreELEC 9.0 in the future."

 

If you don't have a more modern processor that works, in theory the transcoding can be accelerated with a GPU. You'd need the Vulkan drivers. I am not clear if EMBY or PLEX have the capability today to do on the server. When/if the GPU is supported, I assume the server could not use a passed through graphics card - so would need a capable GPU in the server that is not passed through. Maybe an NVidia 1030.

 

There is another capability that PLEX provides - not sure about EMBY. And that is the ability to transcode and sync content to another device (e.g., phone or tablet). I happen to use this quite a bit for travel. I transcode TV shows (normally 720p) to lower bit rate and resolution for my cheap Amazon Fire tablet with a 200GB microSD card. A can fit a surprising amount of content. As far as I know, hardware assisting conversion is not supported. The whole feature is a little flakey, but what I found is that if the Plex player software is loaded on the microSD card, it works. If you load the software to the tablet's internal memory, and try to store media on the SD, it gets confused and content might start to sync to the SD card, but then it switches to using the internal memory. And the SD card winds up with stranded media that takes some effort to find and clean out. But since I figured out to put the software on the SD card, have not had that problem.

  • Like 1
Link to comment
11 minutes ago, SSD said:

If you don't have a more modern processor that works, in theory the transcoding can be accelerated with a GPU. You'd need the Vulkan drivers. I am not clear if EMBY or PLEX have the capability today to do on the server. When/if the GPU is supported, I assume the server could not use a passed through graphics card - so would need a capable GPU in the server that is not passed through. Maybe an NVidia 1030.

 

Great Info! I didn't realize there was so much to consider.  FWIW, here's the only info on the EMBY server docker's transcoding setup page.

 

Untitled.jpeg.6b7bcdd769ed8166dd1e824818817579.jpeg

 

I'll have to dig around on the EMBY interwebs to learn more about the proper hardware/setup. My plan is to pick up a couple of Xeon E3s or E5s and build a dual core unRAID that would support 24 drives and at least one beefy graphics card. Might have to rethink the plan if watching 4K is on the table.

Link to comment

Plex (plexpass) and emby (netcore ver.)can do quicksync(intel) decode/transcode in docker containers.

u need to  activate i915 driver in unraid "go" file.Than  and add extra parameters --device /dev/dri:/dev/dri in plex or emby template

P.S. on my asrock j4205 both works perfect! emby and plex plays 4k hevc 10bit 400mbps video from here http://jell.yfish.us/ whith 35% cpu util. 

 

i missed one thing... i tested transcoding 4k 10bit content in web browser, and on devices thet cant play it natively 

Edited by vanes
Link to comment
On 1/30/2018 at 12:09 PM, vanes said:

Plex (plexpass) and emby (netcore ver.)can do quicksync(intel) decode/transcode in docker containers.

so, do I understand correctly... you have either plex or emby server on an unRAID docker; and when you watch videos, do you view them on a client player --or web player-- in a VM on unRAID or on another box setup in your house?

Edited by Joseph
Link to comment
On 1/30/2018 at 11:41 AM, SSD said:

You really need to get to Apollo Lake. My new CPU is Skylake-X, and still not clear if it does HEVC 10-bit. Found something that says Skylake is "hybrid". Will have to test and see. If not, 12-cores will at least help.

So based on the column Kaby/Gemini/Coffee Lake, I was trying to find the type and price of Xeon CPUs in that category. A wiki entry says the Xeon E3's architecture is code named Kaby Lake DT.

https://en.wikipedia.org/wiki/List_of_Intel_Xeon_microprocessors#Kaby_Lake-based_Xeons

 

However, the Intel site says both the Xeon E3 & E5 are "formerly Sandy Bridge"

https://ark.intel.com/products/55452/Intel-Xeon-Processor-E3-1290-8M-Cache-3_60-GHz

 

Does anyone know where I can get clarification on whether or not the E3 or E5 will support 4K content?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.