what is delta encoded ? ADPCM ?
HN user
weepy
https://sub.live
Could the algo prevent clicks in the case of packet loss in low latency streaming ?
woah what is this fastpast magic ?!
Maybe I'm missing something but A->B is likely to be faster than A->S->B ?
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?
Hey thanks.
You can also send the backing track ahead of time a little so that you both hear it at the same time!
Do you mean that you want to mix the inputs from multiple devices ? This is possible - but you do get a little bit of extra latency of course.
It's supposed to refresh the audio devices when you "mouseenter" the select box, so perhaps there's a big there.
Multitrack recording with a bigger buffer would be great.
Good you found the buffer settings. I'm surprised that you found a significant difference though between 2ms and 5ms?
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!
How about you ?
no retransmits - Opus handles a degree of packet loss pretty well. Not using FEC as it adds extra latency.
Yes JUCE is da bomb
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)
Thanks!
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.
Good luck with your project!
J
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.
Thanks !
It uses WebRTC for the video, but the audio latency of WebRTC is too large and uncontrollable.
As stated in the post, the audio uses a custom C++ UDP solution. As far as I know it's the first video calling app with very low latency audio.
you could but you don't need higher latency.
You must have set it up wrong. It doesn't add any latency, but you do need a higher bitrate to get similar quality.
The issue with Jamulus is that it requires a central server - which means it needs to be close to everywhere . It also needs double buffering and double compression. P2P is the way forward here IMHO.
That sounds really crazy bad. Europe here so I don't know much about US - but I've had US people use it an report good experience - so dunno.
You could - but you can also just drag in an audio loop already.
Actually I can jam with ease with my friends in London from Denmark. That's over 1000km. And if you don't believe me - check the testimonials on https://sub.live ^_^ Also you have a much lower tolerance of latency for your own actions that other people's. I'm hopefully going to record a video this weekend to show everyone!
You can play with Wifi - it's OK - but you get probably 5-10ms better latency with Wired LAN. Also I think you have a lower tolerance for latency of your own actions vs the latency of another person's.
I did actually add a way to play a backing track for some drums or similar . It does make it much easier for everyone to stay together .
There's a "buy me a coffee" on the page if you're feeling generous! It's true the cost is certainly the dev time not so much the servers. Though open sourcing doesn't protect things from dying - it's people not using them!
Within the same city you can get <5ms
If you are on Windows you need to use an ASIO soundcard ?
Yes Opus - the other benefit is that it can handle a degree of missing packets which is very handy.