Buffering issues with DVR recordings -- Trying to identify the bottleneck/issue

I’m running a server with the following specs:

  • unRAID 4.6
  • 2x Intel Xeon E5-2650 (v1)
  • 32GB RAM
  • 250 GB Cache Drive and a mix of WD Red and HGST server drives
  • Silicon Dust HDHomerun Connect

The server and my primary client are both hardwired to the same LAN

I have the official Plex docker installed and PMS is on version 1.10.1.4602. I have DVR on-the-fly transcoding turned off, as well as hardware acceleration (I do not believe my Xeon CPUs support Intel Quick Sync).

OK, so recording TV shows seems to work without issue. However, when I try play the recordings back on my ATV4 (or any other client, for that matter), I get a ton of buffering and a message saying that my server is not powerful enough to playback the media file.

When I check my unRAID dashboard, it shows that my CPU usage isn’t even cracking 30%. Also, when I restart the server, the issue seems to go away for a day or so and DVR recordings play back without issue.

Any ideas? Happy to post logs or whatever if that would be helpful. Thanks!

Is everything using a hardwired connection?

@nokdim said:
Is everything using a hardwired connection?

Yes, everything is hardwired.

NOTE: I was on mobile and accidentally accepted the answer. Nokdim’s response obviously does not answer my question. Is there a way to “unaccept” his answer?

Do you know if the files are direct playing or if they are transcoding when you play them back?
lets stick to one client like ATV4 and test and see.

@nokdim said:
Do you know if the files are direct playing or if they are transcoding when you play them back?
lets stick to one client like ATV4 and test and see.

It is transcoding the video. Here is what I am getting with the ATV4 on a DVR recording:

Do you have any non DVR video to test with?
Something that your ATV can direct play?

So you can see if its the transcoding that is causing an issue?
And you have your cache drive setup properly and configured in plex for use?

@nokdim said:
Do you have any non DVR video to test with?
Something that your ATV can direct play?

So you can see if its the transcoding that is causing an issue?
And you have your cache drive setup properly and configured in plex for use?

Whew, last week was crazy so I haven’t been able to test anything. I’m back at it though!

I absolutely have non DVR video. I am currently playing this week’s episode of the Amazing Race, not recorded in Plex DVR. It is utilizing <1% of my CPU and direct playing to the ATV in 1080p. Everything is playing flawlessly.

Plex is transcoding to /tmp.

h

Any advice is appreciated!

Hmmm, well this would be annoying. I only occasionally get buffering issues, which seems to present as a weak signal message. The processors are 5 years old now and while I can’t imagine why that would be a problem, have you tried just turning the transcoder off? You say it’s turned off in the beginning post, but then later you say it’s on and the screenshots show it’s on. I’d just turn it off in the first instance which I assume results in a raw stream copy being copied to disk. This should rule out CPU / GPU troubles from fault finding and take you to pure network copy speed etc.

Also, for testing I wouldn’t have an unlimited Maximum Simultaneous Transcode enabled as per your picture.

Where does /mnt/user/TV go? Looking at the path and your commentary about Server / NAS drives I assume this is a network location? If so I expect there are a world of things to check regarding switches, swapping cables and even network protocols. I use NFS quite successfully given it has such a low CPU requirement next to SMB.

You say plex is transcoding to /tmp, but in your screenshot it says it’s going to /transcode. I’m not sure which is correct, but again check the speed of the disk in that location. Perhaps you don’t have a fast local disk or it’s low on space?

If you really want to use transcode, I’d buy a GPU and enable hardware acceleration, just do your homework on what is supported / tested by the community.

What else is running on the box? Perhaps there is an intermittent CPU hog that runs in the background?

Personally I think you take out the CPU from the equation by disabling transcoding and you’re left with network and disk performance probably.

Hope it gives you some extra things to think about.

@marshalleq said:
Hmmm, well this would be annoying. I only occasionally get buffering issues, which seems to present as a weak signal message. The processors are 5 years old now and while I can’t imagine why that would be a problem, have you tried just turning the transcoder off? You say it’s turned off in the beginning post, but then later you say it’s on and the screenshots show it’s on. I’d just turn it off in the first instance which I assume results in a raw stream copy being copied to disk. This should rule out CPU / GPU troubles from fault finding and take you to pure network copy speed etc.

Also, for testing I wouldn’t have an unlimited Maximum Simultaneous Transcode enabled as per your picture.

Where does /mnt/user/TV go? Looking at the path and your commentary about Server / NAS drives I assume this is a network location? If so I expect there are a world of things to check regarding switches, swapping cables and even network protocols. I use NFS quite successfully given it has such a low CPU requirement next to SMB.

You say plex is transcoding to /tmp, but in your screenshot it says it’s going to /transcode. I’m not sure which is correct, but again check the speed of the disk in that location. Perhaps you don’t have a fast local disk or it’s low on space?

If you really want to use transcode, I’d buy a GPU and enable hardware acceleration, just do your homework on what is supported / tested by the community.

What else is running on the box? Perhaps there is an intermittent CPU hog that runs in the background?

Personally I think you take out the CPU from the equation by disabling transcoding and you’re left with network and disk performance probably.

Hope it gives you some extra things to think about.

Thanks for the suggestions.

RE: Transcoding.
There are two types of transcoding that I refer to in my posts. The first is the on-the-fly transcoding for DVR recordings so that the resulting file is not a raw .ts file. That transcoding is turned off. The transcoding you see in my screenshots is the transcoding for playback of any media file in my Plex library.

If I turn off transcoding entirely, will my ATV even be able to direct play the raw .ts file that Plex outputs for DVR recordings?

RE: Paths to Media.
Because this is an unRAID box, I run Plex in a Docker container, which requires that I give Plex only certain access points to the underlying linux file system. /mnt/user/TV is the local path to my TV shows on the unRAID box. This appears as /TV to the Plex Docker. This also may be your confusion regarding my transcoding location. /tmp on my local system is the path necessary to transcode in RAM, but Plex sees this as /transcode. You can see that in my Docker screenshot above.

RE: CPUs.
I don’t think it’s a rogue process hogging CPU cycles, as I’ve never seen my CPUs climb above 40% utilization. My two CPUs combine for about a 15,000 passmark score so that can’t be the issue.

RE: Network.
All files are local. I have a gigabit ethernet connection from the unRAID server box to the ATV client, so I think I can eliminate network connection issues for now at least.