So here’s a use case…
TrueNAS server that’s just fine for storage, etc…not a super beefy CPU, but works well for most things (think TrueNAS mini). I’d like to use that as a Channels DVR server, recording to the large storage pool that’s on-device.
Now…I want better performance characteristics when streaming and I don’t want to peg the CPU of the TrueNAS because it needs to do other things as well. Enter an Apple Silicon Mac mini.
What I want to be able to do:
Use CDVR on the TrueNAS to RECORD all shows/movies.
Use CDVR on the M2 Mac mini to access that library (shared via SMB) and do all the heavy lifting when needed: commercial detection, all streaming / transcoding to clients, etc.
Why do I want to do something like this? Well…SMB connections can fail for a variety of reasons (reboots, network, etc…). The most reliable way to record the shows is to write them to local media whenever possible.
The “cost” of that reliability of recording, in the example above, is performance characteristics when streaming / detecting commercials. I’d like to get the best of both worlds.
It seems to me to do this, CDVR would need to be able to do two things:
- Have a way to share libraries across CDVR instances while maintaining state and avoiding race conditions.
- Have a way to communicate between CDVR instances recording status (e.g. when a recording is complete triggering commercial detection on the Mac in the example above). This I believe is somewhat available through the API right now, I believe…it would just need to be incorporated into the logic of this feature.
Is there any way to do this currently? Is this a feature request that’s valuable for other folks?
I do think the secondary library support is the right path here overall…let’s see how it goes.