Today I tested the @PeerTube remote runners. Quite a lot. 2 servers and 2 local machines (laptops).
The conclusion:
The transcoding is fast and that's great. The main server where Peertube is hosted can breath and not stress about converting any videos.
However, videos that are longer than 1h may fail at times, and idk why. But it is rare it seems. And then other runners can take over but if the runner that was converting it hangs....then it hangs forever. This is concerning. Imagine someone uploads a huge video and it will forever remain non-converted because the runner stalled. Peertube devs are aware of this. So probably they will fix it ;).
Else all works quite good. Granted that you have a very good internet connection for your remote runners and a stable one. If the connection drops, then things will go into uncharted territory.
Lives...I streamed several times for like 1-2 hours each. Worked most of the time. But at times my internet dropped for a second or two and that can kill everything. A bit buggy with the lives...
So they are on a good path. But the fact that I feel kinda stressed about "What if a runner drops a connection? What if a runner stalls? What if a runner fails?" that makes it a bit tricky to use for now. But we will try to still use it for our main instance and monitor closely. I want this thing to work great, because it is a fantastic feature, and one that allows us to scale up more.
What I would like to see is: safety nets!
If a remote runner transcodes a video, but the process is interrupted, wait a few seconds to see if the runner can pick it up again, if not switch to another runner. If none is available put it in queue and do it as soon as any runner is available.
Make it work alongside the local server and let admins use it as they want. I'd love to enable something like "local server runner backup". In case all other runners are not available, always default to the local one, to make sure the transcoding WILL happen no matter what.
Lastly, for lives, we need proper safety net because lives will interrupt at times. So be patient, wait for it to reconnect. If a remote runner drops the connection, switch the live to another runner.
Anyway. I love this feature!