Let me start this off by saying this could be a pie in the sky suggestion. I’m under no illusion that geek culture will go to great lengths to get something working, for minimal return. This may be that, but hear me out as it really is for a great number of Plex users with all skill levels of nerdyness.
The Problem: Proliferation of data necessitated proliferation of storage (vice versa?). The NAS appliance has become extremely popular in the past few years, and they’re great at what they were designed to do. Many NAS manufactures have taken it a step further, such as synology and created a fully working, viable and open operating system interface. We can load ‘apps’ and plugins to add functionality. Plex for NAS is one of these. Fantastic! But the first thing many less savvy users find out after loading up their expensive, but sorely under-powered appliance is, the thing is slow and gets bogged down easily. The processor power in any consumer NAS is not great for Plex. Streaming, sure, transcoding no.
The Solution: Distributed Computing
The entire premise of having a NAS dictates you probably have other computers in the local network. These other computers usually are real full fledged CPUs that sit idle for 90% of their life. What if a NAS/low power based Plex server could be directed to use the compute power of known local machines to transcode? This model could massively scale in the right environment. I think it would require some server side tweaks to be able to disconnect the transcode component and point it at an installed client component living on a single or multiple computers.
The Environment:
The Plex NAS server would have a new settings page to manage clients, and the network transcoding. I can think of several settings here that would be needed.
The plex ‘Client’ would be installed. (Probably could be rolled into any of the Plex players and have an on/off toggle.)
The client would touch the server and say I’m ready and have cpu cycles to burn. There could also be a benchmark component so the server could do intelligent distribution if there were more than one client connected. The benchmark would give a rating to the PC so it knew not to throw a 1080p transcode at it if it couldn’t handle it.
The client would receive instructions to encode \NAS\Media\Movies\X.mp4 file in y format. Then stream directly (or through the server??) to whatever player is asking for it. Essentially then the NAS would only be handling the file serving and streaming!
The end consumer would never know the difference. And the NAS wouldn’t have to struggle. And mom, grandma, dad wouldn’t be frustrated that this stupid thing that their son/daughter sold them ‘doesn’t work right’
It would also save tons of money in building a dedicated Plex server. I myself did this, building a Plex + Nas from a high end machine. It works great, but it was costly to put a high-end CPU in there, and still I have a ton of CPU cycles just sitting around on my network. With the distributed model, I could have just built a NAS from parts laying round and then the distributed Plex would use the various high-powered computers I’ve got to do the work.
Have it built by next week? Go! well ok, maybe not. But this would really be a killer feature. Not too difficult to get going either for a normal person. Some good guides/walk-through in the setup process would go a long way in making this a viable solution for many Plex + Nas/ARM/Low power devices. Perhaps a long term feature goal?
My inspiration for this: This morning I was able to get Plex up and running on my Router! sweet! but it can’t do much but serve up streams.