There is flexibility - in the P2P model if one of the clients has bad latency - their buffer gets increased to prevent drop outs.
How is a server better in this scenario?
P2P doesn't require any computation on any server - it's essentially serverless. It doesn't make much sense to me at least to need to compress everything twice and have multiple buffers AND have to manage a server.
Basically similar issue to Sonobus. Relay could work buy it probably adds latency and it certainly adds complexity. I may know a way to improve some NAT configurations but need to do more research.
Also I live in a village in Denmark near Aarhus. I believe my connection goes via Copenhagen which is actually the wrong direction!
Though it is true that Denmark is very well connected.
Honestly I was a bit blown away when I got it working the first time ! It kind of mental that I can capture audio and compress it - send it through all these layers and machines - and receive it 1000km away 20ms later. All on consumer grade internet.
I used the standard 2.5ms. I know you can go lower if you want, but then you need a higher bitrate as it's "custom".
I turned off FEC as it adds latency.
Jitter buffer right now is just user controlled. A bit lame, - I should make it automatic, but need to get the right heuristic. With a LAN connection, the buffer can be as low as one or two packets.
I don't use any packet redundancy either and there's no ARQ as if you have to ask for a retransmit you've already lost the war!
Well you do need to find a server midway between all the users, which is a hassle of course. I don't personally like the model either becuase it needs to decompress, mix and recomopress all the streams on the server and also needs an extra jitter buffer.
The only clear benefit to it AFAIK is that it scales better for larger groups O(N) rather than O(N2)
I haven't ruled out opensourcing, but honestly I already have limited time and in my experience open source takes _more_ time commitment (I get that you will get free help eventually).
I'm making a VST plugin to stream output from a DAW.
Problem with Tauri is that you have to support the native browser, rather than just chrome, so it's more work to build and maintain.
I would like to make some money with it to continue the support, but it's not clear yet the best way forward. Currently it's donationware, but other models could be a subscription, or some sort of premium/freemium model.
Really I just want to see how people use it and figure it out from there.