Server Version#: 1.41.4.9399
Player Version#: Plex for Samsung 5.90.1
My server is Ubuntu with Plex installed on bare metal with the default transcode location. We started a 4K DV HDR10 movie with 7.1 TrueHD (over 80GB total filesize) on a Tizen 4K TV with just the TV speakers. The TV can direct play/stream the video, but the audio has to be transcoded into a compatible format in a whole new container. So this means the transcoded stream grows to nearly the same size as the original file in the transcode directory.
Before this update, the transcode was throttled so while the directory would fill up, it did it fairly slowly, meaning Plex makes note of the low disk space and recovers as the player consumes previously transcoded ranges. With this update, the transcode directory fills up much faster (since it isn’t throttled), which leads to a ton of “out of space” log errors that seem to keep Plex from fully recovering and the client stream ends up dying. I rolled back to the previous version to test the same movie and it played through fine (even though the directory still fills up, it just has time to recover the space). I was testing using the movie half complete, but the transcode directory was over 37GB (the free space I typically have on the base OS).
Just to get it working again I created a new NFS mount on my NAS, so space isn’t as concerning while I sort this out.
I tested /dev/shm but no dice. Like I said I’m limited to 8GB of RAM (which looks like Plex reports as 3.73GB), which filled up in the first few minutes of playback as transcoding ran way ahead (>10% for the first 1% of playback). The log was slammed with Low disk space: 0B source file, 3.73GB capacity, 0B available on "/dev/shm/PlexCache/Transcode/Sessions/plex-transcode-.... The real problem is that Plex runs ahead creating these files, but they’re empty, so the client eventually starts asking for ranges that haven’t actually been transcoded: Overzealous client asked for end range of 1047499, content size is 765; we'll clip. and Range could not be satisfied 1047000 - 764 (total size=765) which appears as just buffering to the client indefinitely. Hazarding a guess, the client isn’t progressing through the movie fast enough for Plex to be able to clear out transcode data as it moves along? I’m not sure how much ACKing there is as clients ask for ranges from the server so that’s definitely me guessing.
So I guess I have to keep it on the NAS mount for now since that’s the only location that has the amount of space needed in my setup. Like I said, this is probably kind of an extreme example (UHD file on a constrained resource system), but this isn’t a great change for my setup. Would be great if Plex moved this from a change to an option or something rather than just flipping the switch for everyone. Another option, since you seem to be monitoring available space in the transcoder directory already, would be to reintroduce throttling when some percentage of the space is consumed that is possibly configurable on the server.
The weird thing in all this: my example isn’t even technically hardware transcoding from what I can tell. No (hw) on Tautulli or Plex Activity and intel_gpu_top doesn’t show any activity, but it has definitely stopped throttling on this test from 1.41.3 to 1.41.4.