This message was deleted.
# helpdesk
s
This message was deleted.
m
hey there 👋 Here are some self-hosted benchmarks we’ve done using our load tester for audio-only: https://docs.livekit.io/oss/benchmark/#audio-only
t
Thank you for your kind reply. May I please ask: 1.Isn't a 16-core computer kinda expensive though? Does it require so many resources to operate on normal conditions?
2. Also, why does it require API keys if it's self hosted?
b
1.Isn’t a 16-core computer kinda expensive though? Does it require so many resources to operate on normal conditions? (edited)
Are you aware what an SFU has to do? It creates a WebRTC connection to each peer and forwards the correct media stream to it. This is pretty CPU intensive and those numbers are actually incredible. Compare them to any other SFU and you’ll see that
t
I might be missing something. Can it handle, let's say 10 users talking in a group chat and that, multiplied * 100 different group chats?
m
While I highly recommend you use our load tester for your specific use case, on the surface, this shouldn’t be a problem at all. You can also easily horizontally scale the number of rooms/sessions with LiveKit. What is trickier is scaling the number of participants in a single session (which the benchmarks I shared reflect for a single instance).
t
Thank you very much for your kind reply. I highly appreciate it and this service is one of the very few that I admire so much! Thank you for this contribution 🙏 May I please ask 3 last questions? 1. I've seen that server sdk requires api-key and secret-key. Why is that? I mean, if it's self hosted solution, then where do we find those keys? 2. How many one to one video/audio calls can LiveKit handle (no participants/subscribers, just 2 people talking or doing video call) and what's the minimum server requirements? 3. Is there a comparison between LiveKit and Jitsi meet? I can't find any benchmarks between those two. Thank you very much for your valuable time once again 🙏
@magnificent-art-43333 @swift-controller-1011 I'd appreciate your help guys 🙏
m
Thanks for the kind words @thankful-dentist-87916. 🙏🏽 On your questions: 1. In a self-hosted setup, access tokens can be generated via server SDK or CLI. They are used to authenticate participants with instance(s) of LiveKit’s media server (“SFU”). The server SDK is code running external to the SFU, so for security reasons, this is why you must do this handshake. I’ve been meaning to write up some more on this, but here’s some additional info. 2. I’m not sure on this and encourage you to load test your specific use case. However, LiveKit has no problem horizontally scaling as the number of rooms increases. You should be able to host as many of these 1:1 conversations as you want. 3. we have not yet done a detailed comparison of LK against Jitsi.
t
Thank you very much @magnificent-art-43333 for your detailed reply, I highly appreciate it. Also I cannot thank you enough for your open-source contribution. LiveKit is by far the most interesting open source software I've found that is backed by the most inspiring team! Thank you guys!🙏
❤️ 1
🙏 1
m
Thanks for sharing this with us, @thankful-dentist-87916. It means a lot to the team! Excited to see what you build with LiveKit and if you have any more questions or concepts need further clarification, please let us know.
🙏 1
❤️ 1
t
@magnificent-art-43333 I'm trying to build a social-media/chat like app, but more secure. However, I have some GDPR concerns as to whether it is possible to store and retain every audio/video call (in .mp4 format) on the server, for a specified amount of time (e.g. 1 year). I guess LiveKit provides this option. So far, I guess this can be included on terms of use & privacy policy pages where the user accepts any given terms. Would that be enough/okay though for GDPR compliance? The reason of being able to store every data, even audio/video ones has 2 main security benefits. Case 1, is when e.g. law enforcement is applied for whatever the case (e.g. between a dispute of 2 or more users), so they require data. Case 2 though, is more important. It is about preventing bad or certain things to happen, eliminates bots and makes a social system more safe. That ofcourse, requires an automated process where every stored text/audio/video information from each user is passed into a Natural Language Processing model (for text/audio) and into a Video Classification model (for video), to identify (bad/harmful) personality traits. Being able to use self-hosted software, allows us to build more secure systems without transferring data to 3rd party services, thus respecting user's privacy while providing an almost bot-free environment that is used by non-weirdo people :)
m
Thanks for the detailed response on what you’re trying to build! LiveKit Cloud doesn’t actually store/retain audio or video data. If you use the egress service to record a call, it’s uploaded directly to your specified cloud bucket. Virtually every popular cloud provider is GDPR compliant, so you’re fine there. Regarding LiveKit, you primarily (there’s some additional nuance here, but not worth getting in the weeds) need us to be compliant as a data processor (which we’re in the process of doing) for transmission. You also need to ensure your app itself complies with GDPR (making sure you have your user’s permission to collect/transmit personal data, etc.).
t
Thank you for your detailed response. I guess LiveKit Cloud doesn't store any audio or video data, however a self hosted instance of LiveKit on our own server should be able to, right?
m
A self-hosted deployment of LiveKit + Egress does allow you to store recordings locally if that’s what you want to do, yes. With Cloud, you’re still hosting the files yourself, they’re just in a cloud bucket (e.g. S3) that you control.
👍 1
t
Please let me clarify. By recordings you mean every video/audio call in general or only the ones when a user presses a button to record? I'm interested for the first case.
m
That’s completely up to you. You can record every call or you can only record certain ones (either user-initiated or by some other mechanism). GDPR doesn’t explicitly prevent you from doing the first case, but you do have to make sure you describe what your application is doing somewhere and obtain your users’ consent.
t
Yeah, most definitely! Users will be informed about everything. Processing data will ensure better user safety. Thank you for your response🙏
👌 1