I’m having the issue of when I start a video stream my CPU goes from 0.46% to 100% for the begining and then go down to normal but if I jump through the video it has the same issue for a single stream. I deleted the jail for Plex and reinstalled Plexpass plugin and updated and I’m still having this issue. Video streams will take a long time to load for a single stream and some videos will have skips every 2 seconds. I used to be able to do 4 streams at the same time and only use 25% at most. I Looked and it looks like the transcoder is causing this but I’m not sure how to resolve with FreeNAS and downgrading plex.
I’ve tried updating FreeNAS to 11.3, Deleting my Jail dataset to have it be recreated and then reinstall both versions of Plex, Resit the cooler on the CPU with new thermal paste. Checking the cable to the OS drive by installing a new one. Pretty lost on what to try next.
So it wasn’t happening before? Are you sure its the same content and player? I ask because if i.e Subtitles are involved and you need to transcode+burn subs it will cost a lot on the cpu.
This Processor doesn’t seem to support Intel Quick Sync either so no way to use Hardware Transcoding (which wouldn’t be easy in FreeNAS anyway).
Can you post/DM the XML of the file you’re trying to play and what you see in the Dashboard when playing the file?
Actually the logs seem to suggest this was a h264 with truehd audio and no subs involved, do you know what was the version when this was working before?
No sir it wasn’t happening before. I don’t remember what version it previously was but I know it was working before December 8th and I like to run the “pkg update -f && pkg upgrade” command once every 2-3 weeks at the longest so it would’ve been whatever Plex plugin was in production at that time. I tested with Plex and PlexPass version at that time and it was working. Let me know how you want me to share the file or if you want me to upload it to my oNedrive and then share that file with you from there. It’s weird because when I test and play around by jumping around the video forcing the server to transcode in Google Chrome it jumps to over 100% but when I do it in my mobile phone it goes around 11-25% which is still two high but it’s a lot faster and more responsive on my Android plex app. I tried going to both locations in chrome legacy and the app.plex.tv and it was still the same thing on chrome. When I play the same file in the Android Plex app it doesn’t skip and is a lot faster in transcoding. Let me know how you want me to send you the file. Thanks for helping me try to figure this out.
This is what I’m getting with the Plex Phone App. Still high for a single stream because I was getting these kind of numbers or less with 4 streams running at the same time but it’s a better experience then it is through Chrome. I haven’t tried with Roku.
Btw the screenshots from the Dashboard I meant was the plex app dashboard (on the web app) in fact you can see the resource usage in this same screen, it also shows both PMS and general usage which provides better info than the FreeNAS screens in this case.
I would also say that if you’re at least Direct Steaming (meaning we transcode audio but not video) a cpu usage of ~10-15% is not unexpected, 1% is definitely not gonna be the case.
DirectPlay of course is much different has there’s not much cost on CPU.
The first picture from the dashboard is from the first file and jumping around in that file for the first half and the second half is just starting up the second file not even jumping around. Second/Third picture is just regular streaming from the second file.
This is what it looks like playing the second file through the Plex phone app. First picture is jumping around and the second is just streaming without jumping around.
If you could explain what I need to do to provide a sample of the file (Movie) that would be great. Don’t think I could DM a 10GB MKV file. Yes I agree I won’t be able to see 1% per stream but I was seeing 5-13% per stream I think because I had local set to direct stream and remote to 720 2 MB. Don’t seem to see those settings in the updated version. I left the Plex server settings default for the most part before I updated besides the remote play.
I updated my Plex Server to Version 1.18.6.2368 and I’m still having the same issue. Any Ideas? I did change my subtitles to Image Only and it’s a better performance on the CPU which is around 20% usage but the video stuttering is still happening. Any Ideas?
Do you see this behaviour with other media files that have the TrueHD audio codec?
It seems like the MKV you’re playing has dual audio tracks. Could you play the AC3 track instead of TrueHD and post the results?
post the picture of the now playing section (above the graphs) so we can see what is being direct played/streamed/transcoded and whether HW is used, what codec, and whether the client is local or remotely connected.
This was the video in question. I just updated to the version relased yesterday and some of the videos that wouldn’t play at all are now able to play. Still issue with High CPU but it’s better and now I can at least somewhat confirm that it’s probably the transcoder. What do you think about the picture Tenkojunky? pahi78 I tried by changing the audio to that and it’s still the same thing.
In Plex Web go to settings -> Plex Web -> Quality and set it to maximum.
Your video is transcoded to SD because you tell it to somewhere.
Edit: wait that is for internet streaming…
Maybe disable automatic quality adjustment, same page.
When transcoding video it is expected to see a high CPU utilization. However, when you first posted you were streaming to your phone. And according to the server logs you were only transcoding the audio-stream while the video-stream was just copied. This is called “Direct Stream” and @mikec_pt pointed it out to you.
The screen shot you posted suggests you are streaming to Chrome. Please repost an image while you are streaming to your phone. You should see lower CPU-usage, and also please try to keep AC3 as the audio stream. It will however issue a transcode, since your phone announced it can only support AAC as the codec, but I believe AC3->AAC is more kind to the CPU than the high bitrate TrueHD codec.
Yep pahi78. I understand that and how you have to look at your CPU’s mark to see how many streams and at what quality you can do. 1500 for 720 and 2k for 1080. I believe my machine was working best in 1.17 last. Sadly I won’t be able to rollback on FreeNAS (Don’t know how to install a specific jail/plugin version). I see hover that it’s kinda weird that even though I have “Automatically adjust quality” set and I’ve turned off all the settings for direct play and everything else when I start a stream it is always trying to stream at the max possible quality. When I change the quality down while I’m watching it on the videos that were having issues they work fine. I think it has been an issue with the automatic quality setting for the transcoder but I’m not sure how to test for sure on it.
If you want playback to be smooth why disable Direct Play / Direct Stream? Unless you have Hardware Transcoding (which is unlikely since you’re running FreeNAS and you’d also need a different processor as that one doesn’t even support it), this will hurt the CPU (software transcoding). The performance will depend on a bunch of factors but “Automatically adjust quality” doesn’t necessarily help with this, has the setting states in Web: Automatically adjust quality (Beta) - Plex will increase or decrease quality based on connection speed. Requires latest Plex Media Server. so its mostly about the bandwith the server/client can handle!
In general if CPU is you’re concern a manual setting for something you know works is likely better, however you shouldn’t be disabling direct play or direct steam.
With DP the cpu doesn’t do any heavyweight, you’re just streaming the file over http but its “direct” no conversion involved AT ALL, hence no CPU!
Ofc not all players support all codecs and container combinations, so you sometime need to transcode (convert), Direct Stream is “step in the middle” where we are able to copy one stream and just convert the other!
I.E. if the player supports h264 video but not AC3 audio we would copy the video and just convert the audio, and this is also not very expensive on the CPU.
Same for subs, which is most time the tricky part because image type subs would need to be “burned in the video” and that is in fact the most expensive task for the CPU.
In any case if you can post screenshots of the dashboard (please include the stream info, not just the cpu graphs) and we find you’re bumping into a scenario where things should work better than they are, we can also look into that. This paired with logs make it easier to check, feel free to DM if you don’ want to public share those, and even so you can hide sensitive info like media names and IPs, I just need the codecs, quality and bandwidth, ie.:
Direct Stream is likely disabled here, we should copy the video since the browser supports H264, and the Audio is converted to AAC, this shouldn’t be extremely expensive on the CPU. Another reason is if you have subs and they need to be burned in, but the screeshots doesn’t show subs!
Hey mikec_pt! Thanks for the explanation. Yes I was just turning all that off to test since I’ve been looking for possible solutions to the issue. The video in question doesn’t have any subs so no need for them to be burned. I think I narrowed down the issue of not being able to play media properly that has to transcode down to the player playback settings for Quality not changing. When I try and play a file it trys to play at the maximum settings and doesn’t transcode the media down which I believe could cause issues since it’s trying to stream at a higher rate then I have available. As far as the high cpu usage I’m not sure. I see that the next Plex version update has updates for transcoding. My guess is that something weird is happening on files when PMS is trying to direct stream the media but it starts working when I transcode it down. Maybe something weird is going on with direct play and transcoding?