The best technology can be used for good and for bad

Plex

I was very much reminded of this when reading about a user abusing Plex’s share.

Earlier this week the man in question informed fellow Plex users on Tweakers that he was approached by local anti-piracy group BREIN, which had become aware that he was running a Plex share with 5,700 movies and 10,000 TV-shows.

 

This is not Plex on your GPU

https://www.flickr.com/photos/nvidia/30153594058/

I hadn’t really thought Plex Media Server could massively benefit from a GPU, to be fair its not really a thing you put in a headless server? But after reading about it, I gave it a try by borrowing a Nvida Quatro PCI-express card and after some small issues getting the propitery drivers working gave it a try.

I thrown together a shell script to log the CPU and GPU heat to a text file called heat.txt

while true; do date >> heat.txt ;
 nvidia-smi -q -d temperature |
 grep 'GPU Current Temp' >> heat.txt; sensors |
 grep -e 'CPU Temperature' -e 'CPU Fan Speed' 
-e 'MB Temperature' >> heat.txt; sleep 10; 
done

I know theres a better way but it was quick and dirty.

From the short tests I did, it seemed the CPU kicked into high gear for a minute or two before it hands off to, what I thought was the GPU. However… During a stream encode of 4k h.264 content to 1080p h.264, while directly streaming at the same time. I got these results.

Thu 20 Dec 20:23:51 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan: 1650 RPM
> CPU Temperature: +71.0°C
> MB Temperature: +34.0°C
Thu 20 Dec 20:24:01 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan:: 1599 RPM
> CPU Temperature: +68.0°C
> MB Temperature: +34.0°C
Thu 20 Dec 20:24:11 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan: 1261 RPM
> CPU Temperature: +59.0°C
> MB Temperature: +34.0°C
Thu 20 Dec 20:24:21 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan: 1167 RPM
> CPU Temperature: +54.0°C
> MB Temperature: +34.0°C

A while later once the transcoding stops

Thu 20 Dec 20:37:40 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan: 725 RPM
> CPU Temperature: +37.0°C
> MB Temperature: +35.0°C
Thu 20 Dec 20:37:50 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan: 724 RPM
> CPU Temperature: +37.0°C
> MB Temperature: +35.0°C
Thu 20 Dec 20:38:00 GMT 2018;
> GPU Temperature: 33.0°C
> CPU Fan: 725 RPM
> CPU Temperature: +37.0°C
> MB Temperature: +35.0°C

As you can see with proper testing it was clear the GPU isn’t being used for transcoding (unless the CPU magically is doing something else, but looking at Htop, its clearly Plex transcoding). This was confirmed when doing more research on the issue.

Seems the problem I got is the AMD processor and if I was to swich it to a Intel one it should work with the Nvidia GPU?

So this brings me to the idea of maybe changing parts of my server.

Si pointed me at PC part picker which is alright but I don’t really understand why some Linux operating systems are not listed under operating systems? I listed most of my parts here and to be fair changing the CPU, motherboard, case and of course getting my own GPU might be a good idea?

Data & stats from Plex Mediaserver

A while ago I wrote about having so much bandwidth from hyperoptic gigabit broadband, means I can now share my media collection with friends.

Its great but its interesting looking at the data my friends are generating through their use of my sever. But it’s not all super smooth, mainly due to my poor single core AMD Sempron 2800 processor doing transcoding on the fly. The biggest problem is the Xbox Plex client, which we discovered doesn’t support x.264 at all, meaning transcoding the whole thing is the only way to view anything. My poor CPU maxes out at 100% during the whole thing. This seems to be a massive bug bear for many people out there… I dread to think what happens with H.265 encoded media.

I installed PlexPy a while ago and decided it was time to have a look.

plexpy Screenshot from 2016-04-042

The Chromecast isn’t anywhere as bad but still triggers transcoding, but to be fair I’ve not really played with the settings but I think theres a way to force the chromecast to play directly (Directstream). Some Smart TVs seem quite happy to take the direct stream putting absolutely no strain on my CPU.

plexpy Screenshot from 2016-04-041

Because of the strain on my CPU, I’m considering changing my CPU to something better. I mean even a quad core or six core processor would be ideal.

Although part of me is thinking maybe I should block all client which require transcoding, or maybe just block the Xbox Plex client. This doesn’t seem to be a problem with the Sony Playstation, from first tests. But I also wonder about DTS, MKV and h.265?

plexpy Screenshot from 2016-04-045

I mean its not like its heavily used anyway. Sure my one friend will like that (smile). The Chromecast is far and away the biggest client and we tried the Xbox 360 once just to see if it was any better (which it wasn’t)

plexpy Screenshot from 2016-04-044

The other stats generated are quite interesting to look at…
For example when most of my friends watch my media by hour of the day and which day.

plexpy Screenshot from 2016-04-043

Theres much more interesting stats but of course privacy of my friends is the up most importance. Maybe I should craft a EULA (End User Licence Agreement)?

Its really interesting to think about the ethics of data when you are the provider.