4 ms·
My team and I built some of the world's most decentralized videoconferencing software, using WebRTC. You can try it on https://yang2020.app/meeting https://yang
by EGreg 5y ago
My team and I built some of the world's most decentralized videoconferencing software, using WebRTC. You can try it on https://yang2020.app/meeting https://yang2020.app/meeting for example ... but it's available in all of our apps, including for teachers, etc.
Since a major point of our platform (qbix.com/platform) is to avoid relying on external third parties, that meant we built a version of livestreaming that is completely peer-to-peer. Imagine a giant tree at whose root are the WebRTC participants "on stage", the ones getting their feed directly get the least lag, and then people just join different parts of the tree (and ask to rejoin if the parent node dropped out or is too slow).
Here is what we learned:
1. On some platforms, it's hard to turn off the audio listening, because you can't turn it back on later. So you have to just disconnect the audio stream going out, but it's still being captured.
2. When someone is "muted" in a chat, what this really means in P2P setups is that the peers have to "respect this setting" and simply ignore the audio/video stream that the one muted is sending.
3. Sometimes, it's very valuable from a business standpoint to grab the incoming video, and do eye recognition and face tracking (yes we support all that too, in our platform, it's available in Javascript). So a teacher can, for example, take attendance and know which students are no longer present or engaged, without actually seeing their feed. All of it is done on the client side of the student, and with their consent.
Each of 1, 2, 3 can lead to a determined "hacker" kid making it seem like they're listening when they're not, etc. But there are some cool tricks to make it really hard and expensive to pull off perfectly.
We use this, for example, to award credits to people for completing educational materials or listening to a show, as with https://ftl.fm https://ftl.fm
- sizzle 5y agoMight want to hire some marketing and product branding agency folks to make sure you are branding this in a way that seems safe and trustworthy, so people will try it out and you can increase engagement and adoption.
- EGreg 5y agoThat sounds like a great idea, but how much would it cost? We are kind of strapped for cash.
- datadata 5y ago2) Seems like a waste of bandwidth, did you consider the use case that turning off the video stream might be done to try to reduce bandwidth usage either due to cost of bandwidth or bandwidth being limited enough to break other simultaneous needs? And since 3) while creepy, is at least done on the client so does not seem to require the stream to always be sent to the other clients.
- EGreg 5y agoWell, yes, it can be turned off and yes it can be not sent, but that's at the discretion of the client. They can "hack their client" to send it anyway which is why everyone has to "refuse" to receive it from a "muted" client, as well. It's a second line of defense. Never trust the client.
- m463 5y ago> Sometimes, it's very valuable from a business standpoint to grab the incoming video, and do eye recognition and face tracking ... this should 100% be opt-in. Think what kind of future is being created.
- EGreg 5y agoit's a core feature of the app, in this case it's opt-in by the TEACHER, the student can simply choose not to participate in the course