So I’m trying to maximize transcoding performance and i’m trying to understand the flow of files and data in relation to the transcoding directory.
So I have my iMac 2017 4.2 ghz i7 Processor. All my media is on an external thunderbolt raid 0. Gets about 200 MB/s Write / 200 MB/s read times for speed.
I’m trying to determine the best place to put my transcode directory. I am trying to avoid putting it on my internal SSD since it’s going to get constantly written too with temp files. So overall it’s bad on my SSD’s life. So I need to understand the flow of data.
If I set my transcode directory to the same external disk as the media is on, am I doing a ton of reading/writing to that disk when I trancode? Like does Plex read the media off the disk > transcode it > write that data to the transcode directory > then read the data again from that directory to play it on the requesting player? If so that seems like a lot of extra work for the disk.
So it would seem likely that having the transcode directory on another totally separate disk would be better. Then plex could read from the media disk (only doing reads) so the read performance off the main disk would be better since no writing would be taking place.
Then the transcode reading/writing would happen on a separate disk, which doesn’t even need to be that large. Ideally it would just need to be fast.
Does anyone know exactly how this reading/writing/playing of files truly works?
2nd this… I’ve got my Mac mini’s optimized enough for basic playback of direct play files but the DVR feature is left to be desired and I don’t know if that’s a SSD read/write issue with transcoding. Currently when playing anything on the Roku from Plex related to the DVR time shifting, it never does a great job at sectioning off the time segments. when I rewind about 10min, the time shifting will send me all the ways back to when I entered the previous show when I’m totally on a different show on the same channel. I don’t know if this is just because it doesn’t agree with the data saved on the ssd. I just let things record and watch later as my current solution. My recordings playback just fine but watching live could be improved but I don’t know if it’s Plex settings or my ssd. I have directed the transcoding be done on my external hard drive when I first setup my DVR but of course that wasn’t the best idea as it was the same drive doing the recording. The transcoding is now on my ssd, that’s also where the MacOS is installed.
So far I’m not having much luck figuring out where my bottleneck is occurring. It doesn’t seem to matter what disk I use as the transcode scratch, I can’t transcode more than 2 movies at once. Even then I get random buffering occurring. The only way it will stream solid uninterrupted is if I only transcode 1 stream.
I’ve tried an external USB 3 disk with 100/120 Mb/s read/write. I’ve tried my external SSD and my internal SSD. Doesn’t matter, I get the same behavior.
Network bandwidth isn’t the issue. I have a dedicated AC network for streaming and if I direct stream movies (which uses way more bandwidth) everything plays solid just fine. I can direct play 4 movies in 4k HDR with no hiccups at all. So the network has plenty of bandwidth.
The CPU doesn’t seem to be an issue. Its an i7 with 4 cores and when streaming 2 movies I can see 2 cores maxed out, every movie I add maxes another core.
My only guess is that my bottleneck has to do with how HW transcoding works. I know if one has supporting hardware for it you can do HW transcoding for “greatly” improved performance. But, no matter how that actually works, there are chips involved and presumably those chips can be maxed out. They aren’t the main CPU so I don’t have any way to monitor what the associated chips are doing and if those chips are just pegged when transcoding more than 1 movie.
So I’d say at this point I don’t really have much choice except to transcode movies ahead of time if they are ones which are going to be played remotely and transcoded. For the most part it isn’t a huge deal. I don’t have a ton of people playing movies remotely at the same time all that often.