High-performing NAS/Media Distribution Server

southwow

Contributor
Joined
Jan 18, 2018
Messages
114
Your network is going to struggle with multiple uncompressed 4k video/audio streams regardless of what you have as a backbone. Wifi and uncompressed 4k just isn't going to happen even with the latest 802.11ac stuff. You're going to need to transcode on the fly.

I can run 4-6 1080 streams with comparable hardware. That same system struggles to deliver a single uncompressed 4k stream without transcoding on a solid and dedicated Cat6 gigabit network.

You're going to need a lot more cores and a lot more memory, not to mention lots of drives to do what you're asking.

Just for reference:

I'm running plex under Freenas on an E3 1231 V3 with 32GB and an x10 board with 6gb/s sas.

I'm also runing plex under ubuntu on a c2750 atom board with 32GB as a DVR.

both systems have arrays/volumes of 12 WD 8TB Red (5400) drives. Both can do 4-6 streams depending on whether somebody is watching live off of the tuners in ubuntu.

Edit 2:

If you're wondering which system can consistently handle more streams, it's the Ubuntu system. Plex seems to run much better there.

If you're wondering which system has been on constantly and stable for almost year, it's freenas.
 
Last edited:

Ender117

Patron
Joined
Aug 20, 2018
Messages
219
My Plex server is currently running in Ubuntu not FreeNAS unfortunately, so I can't give stats for an apples-apples comparison though I'd imagine it's the same. I am moving to FreeNAS with the CPU and GPU soon, and had planned on putting up a build report with tests for concurrent streams when that is done. Apparently FreeBSD doesn't support hardware acceleration :(
I am mostly interested in your hardware spec and setup. My plan is to run a plex VM and pass the card through.

BTW why did you pick Ubuntu? I thought hardware decodec is not available in Linux?
 

Ender117

Patron
Joined
Aug 20, 2018
Messages
219
Your network is going to struggle with multiple uncompressed 4k video/audio streams regardless of what you have as a backbone. Wifi and uncompressed 4k just isn't going to happen even with the latest 802.11ac stuff. You're going to need to transcode on the fly.

I can run 4-6 1080 streams with comparable hardware. That same system struggles to deliver a single uncompressed 4k stream without transcoding on a solid and dedicated Cat6 gigabit network.

You're going to need a lot more cores and a lot more memory, not to mention lots of drives to do what you're asking.

Just for reference:

I'm running plex under Freenas on an E3 1231 V3 with 32GB and an x10 board with 6gb/s sas.

I'm also runing plex under ubuntu on a c2750 atom board with 32GB as a DVR.

both systems have arrays/volumes of 12 WD 8TB Red (5400) drives. Both can do 4-6 streams depending on whether somebody is watching live off of the tuners in ubuntu.

Edit 2:

If you're wondering which system can consistently handle more streams, it's the Ubuntu system. Plex seems to run much better there.

If you're wondering which system has been on constantly and stable for almost year, it's freenas.
OP can just got 10GBe to the 4K players and got a few good APs. Also, for a single uncompressed 4K stream over WiFi is still possible, tough may be laggy
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
Server side transcoding is essentially a way of saving space.

If you didn’t care about space usage you’d just stream HLS or DASH from a zfs backed web server.

Just have your 1080p and 4K versions hosted on your server and have powerful clients. No need for transcoding.

You’ll be fine.
 

southwow

Contributor
Joined
Jan 18, 2018
Messages
114
Server side transcoding is essentially a way of saving space.

If you didn’t care about space usage you’d just stream HLS or DASH from a zfs backed web server.

Just have your 1080p and 4K versions hosted on your server and have powerful clients. No need for transcoding.

You’ll be fine.

In plex, server-side transcode is a way to reduce the bitrate and resolution of the stream in real time to save BANDWIDTH. if you save the transcoded streams (which is possible), you're actually using more space as you retain multiple copies of the same file.

I'm not saying it isn't possible to watch 4k over 802.11ac, just that uncompressed video isn't going to yield a good result. You're going to have lots of buffering and hanging with your plex clients.

I'm sure that with a 10 gigabit network, you can pull if off. However, you're not going to see the difference on the screen in most cases.

Example: I have a 1080p projector on a 120" screen and 7.2 audio in one room. I can't see the difference between playing media directly from the source... except for plex's occasional habit of messing up sync between audio and video when transcoding.
 

southwow

Contributor
Joined
Jan 18, 2018
Messages
114
I am mostly interested in your hardware spec and setup. My plan is to run a plex VM and pass the card through.

BTW why did you pick Ubuntu? I thought hardware decodec is not available in Linux?
I can tell you why I specifically chose Ubuntu. Linux has much better tuner support. I'm running 2x QuadHD tuners in the Ubuntu machine for OTA DVR. Hauppauge officially supports Debian and Ubuntu. Also, ubuntu server is headless and the installation is small. It allows me to use a small SSD as a boot drive and store everything else on a software RAID volume. Webmin and the plex page are basically my server UI.
 

kdragon75

Wizard
Joined
Aug 7, 2016
Messages
2,457
OP can just got 10GBe to the 4K players and got a few good APs. Also, for a single uncompressed 4K stream over WiFi is still possible, tough may be laggy
Well if we have dual 10gbe LAGG to the distribution switch and 1gbe to the stationary players, the mobile players should all be pre transcoded to 1080p. With 2-3 solid APs, you should have no bandwidth restrictions.
 

Reader

Cadet
Joined
Nov 17, 2018
Messages
6
I am mostly interested in your hardware spec and setup. My plan is to run a plex VM and pass the card through.

BTW why did you pick Ubuntu? I thought hardware decodec is not available in Linux?

Hmm I actually was not aware that hardware decoding was not available on linux. Fortunately all of my media is 264 except for a relatively small 4k-hdr selection which I have set to forced direct play. I performed a test with one of those videos and my cpu was definitely taking a beating to decode it. The second source linked below makes it sound like the new ffmpeg version which supports hardware decoding should be coming along at some point. For 1080p transcoding (and even 4k non-hdr 264 content) the hw encoding seems to bring the cpu usage down to negligible.

The third source below seems to indicate that it is relatively simple to pass the gpu up through esxi to a windows vm. It is likely that I will move my setup to this to take advantage of hardware decoding as well.

Thank you for bringing this to my attention, I would've never realized otherwise.

Sources:
https://support.plex.tv/articles/115002178853-using-hardware-accelerated-streaming/
https://forums.plex.tv/t/hardware-accelerated-decode-nvidia-for-linux/233510/69
https://www.reddit.com/r/PleX/comments/9dc726/quadro_p2000_hardware_transcoding_benchmark_in/e5gxmw2 (specifically https://elatov.github.io/2018/04/es...o-card-to-plex-vm/#confirming-gpu-utilization)
https://forums.plex.tv/t/windows-server-2016-and-hw-acceleration/226643/15
 
Last edited:

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
Hmm I actually was not aware that hardware decoding was not available on linux. Fortunately all of my media is 264 except for a relatively small 4k-hdr selection which I have set to forced direct play. I performed a test with one of those videos and my cpu was definitely taking a beating to decode it. The second source linked below makes it sound like the new ffmpeg version which supports hardware decoding should be coming along at some point. For 1080p transcoding (and even 4k non-hdr 264 content) the hw encoding seems to bring the cpu usage down to negligible.

The third source below seems to indicate that it is relatively simple to pass the gpu up through esxi to a windows vm. It is likely that I will move my setup to this to take advantage of hardware decoding as well.

Thank you for bringing this to my attention, I would've never realized otherwise.

Sources:
https://support.plex.tv/articles/115002178853-using-hardware-accelerated-streaming/
https://forums.plex.tv/t/hardware-accelerated-decode-nvidia-for-linux/233510/69
https://www.reddit.com/r/PleX/comments/9dc726/quadro_p2000_hardware_transcoding_benchmark_in/e5gxmw2
FreeNAS is not Linux.

Sent from my SAMSUNG-SGH-I537 using Tapatalk
 

Reader

Cadet
Joined
Nov 17, 2018
Messages
6
FreeNAS is not Linux.

Sent from my SAMSUNG-SGH-I537 using Tapatalk

I am aware, but that particular conversation thread had moved to discuss Ubuntu. Earlier it was noted that the FreeNAS plex plugin essentially only supports software transcoding (FreeBSD limitation) so that is sort of a DoA topic anyway.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
In plex, server-side transcode is a way to reduce the bitrate and resolution of the stream in real time to save BANDWIDTH. if you save the transcoded streams (which is possible), you're actually using more space as you retain multiple copies of the same file.

I'm not saying it isn't possible to watch 4k over 802.11ac, just that uncompressed video isn't going to yield a good result. You're going to have lots of buffering and hanging with your plex clients.

I'm sure that with a 10 gigabit network, you can pull if off. However, you're not going to see the difference on the screen in most cases.

Example: I have a 1080p projector on a 120" screen and 7.2 audio in one room. I can't see the difference between playing media directly from the source... except for plex's occasional habit of messing up sync between audio and video when transcoding.

Server side transcoding saves space while saving bandwidth at the cost of cpu. You can get the same bandwidth saving with out the cpu usage by wasting prodigious amounts of space on preencoded adaptive bitrate streaming with multi variant dash/hls manifests.
 

CK224

Cadet
Joined
Nov 17, 2018
Messages
6
Your network is going to struggle with multiple uncompressed 4k video/audio streams regardless of what you have as a backbone. Wifi and uncompressed 4k just isn't going to happen even with the latest 802.11ac stuff. You're going to need to transcode on the fly.
I can run 4-6 1080 streams with comparable hardware. That same system struggles to deliver a single uncompressed 4k stream without transcoding on a solid and dedicated Cat6 gigabit network.
To understand correctly, what is "uncompressed 4K" for you? For me currently "all" 4K content is H.264/265 encoded anyway, right?
If you look at the UHD BluRays, according to wikipedia, they have a bitrate of 128 Mbit/s, so I wonder why the network would struggle with this? Or am I missing something?
 
Last edited:

southwow

Contributor
Joined
Jan 18, 2018
Messages
114
It was poor choice of words on my part. By uncompressed, I meant original resolution and bitrate (i.e. no transcoding down to lower bitrates or resolution happening on-the-fly).

It's the amount of bandwidth required at both ends.

I've worked as an engineer in video distribution for a company that built hospitality video distribution systems (literally the ones you use on transcontinental flights and in hotels). That's not bragging, just saying I have a bit of practical experience with this topic. Albeit, with 1080p video streams over Cat5e/6 networks using MPEG2 and h.264. We built DTA's and Set-top boxes for IPTV and cable providers as well as cable and DSL modems for providers.

A standard compressed HD stream is going to gobble up 8 megabit/second or slightly more bandwidth at 720p. In theory, gigabit should be able to keep up with lots of 720 and 1080 streams, but that's excluding downgraded links, collisions, etc. In real-life, a 4k stream takes around 50-60 megabits per second, which means all 100 megabit devices like smart TVs, consoles, raspberry pi's, etc. are going to struggle with playback and have buffering issues. If all of the clients have a gigabit connection speed and can decode the stream in a timely fashion, you're probably good until you hit the next cap.

Multiple 4k streams puts the bottleneck on the NIC in your media server as well as the drive pool. Maybe your setup can keep up, but mine definitely can't with multiple NICs and a dedicated cat6a network with solid gigabit switches. I doubt that 10 gigabit switches would make much of a difference because I'm not even utilizing the gigabit connection fully. My pool is 6gb/s with WD Red 8tb drives, approximately 36 of them.

From my perspective, the mainstream technology just isn't there. Maybe a better board with SMP, 12gb/s sas controller, and 10GB network would make it possible... but that's a lot of cash.
 

r0nski2000

Dabbler
Joined
Jun 20, 2017
Messages
20
For comparison, I have zero professional networking experience, but I was able to configure my netgear wifi router myself(r7000). My nas is a VM with a single "core",1gb ram and I am able to stream a 4k uhd bluray backup(no further compression from the uhd disk) over wifi with no buffering, stuttering or any other issue.
I don't know why everyone is so caught up on Plex transcoding requirements...
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
The problem is generally the receiving end, which often does not support 4K.
 

r0nski2000

Dabbler
Joined
Jun 20, 2017
Messages
20
The problem is generally the receiving end, which often does not support 4K.

That is probably true in a lot of cases, but unless I misunderstood the op, it doesn't apply here.
It seems to me the op wants to have 2 copies of the same content, one in 4k and one in 1080p. He wants to use Nvidia shield TV for displaying the 4k version(shouldn't be a problem) and wants to use tablets for displaying the 1080p version of the same content. As long as the 1080p version is somewhat compliant to bluray encoding standards, then any "decent" tablet should be able to display it using its own hardware decoding.
 

Constantin

Vampire Pig
Joined
May 19, 2017
Messages
1,829
Per Kramer, a 60Hz, 10-bit 4K display consumes about 21Gbps to stay updated. However, no stream, etc. will ever send that much content due to compression, interpolation, etc. While I don't have a stream handy to check against, the internet suggests that a high-quality 1080p stream only consumes 12Mbit/s and Netflix suggests at least 25Mbit/s for its 4K content. A Quora user with FTTH suggests 25-50 Mbps for smooth 4K Netflix playback. Even a old 5th Gen 802.11n AP from Apple can handle that (@125MBit/s in practice).

As nice as admiring 4K content up close is, I'd have to wear glasses and/or sit closer to really appreciate the delta to 1080p. I shake my head at the sheer amount of content where the source isn't even close to 1080P and the movie gets transferred anyway because it's another opportunity to charge for the same content by changing the delivery format.
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080

southwow

Contributor
Joined
Jan 18, 2018
Messages
114
For comparison, I have zero professional networking experience, but I was able to configure my netgear wifi router myself(r7000). My nas is a VM with a single "core",1gb ram and I am able to stream a 4k uhd bluray backup(no further compression from the uhd disk) over wifi with no buffering, stuttering or any other issue.
I don't know why everyone is so caught up on Plex transcoding requirements...

How many simultaneous streams?
 
Top