Most active commenters

    ←back to thread

    1597 points seapunk | 14 comments | | HN request time: 0.873s | source | bottom
    1. coder1001 ◴[] No.22703220[source]
    "the best of those, Zoom, is doing very well"

    Is Zoom really the best? No other comparable platform out there?

    Anyone know how difficult it would be to build something like it on top of aws or a similar cloud?

    replies(5): >>22703245 #>>22703281 #>>22703614 #>>22703626 #>>22703952 #
    2. jamra ◴[] No.22703245[source]
    Web RTC pretty much handles peer to peer video chat. I think you just need a server to organize the call’s, provide chat, and login from
    replies(2): >>22703354 #>>22703536 #
    3. geoffeg ◴[] No.22703281[source]
    I've been playing around with jitsi (https://jitsi.org/) and have been impressed. I may play around with deploying their server on aws this weekend (via this docker, most likely: https://github.com/jitsi/docker-jitsi-meet)
    4. fsh ◴[] No.22703354[source]
    Peer 2 peer doesn't scale for video conferencing with many users. Jitsi only does it for two participants. Everything larger has to go through the server.
    replies(1): >>22703492 #
    5. ryeguy_24 ◴[] No.22703492{3}[source]
    Why doesn't it scale? Because for n participants, each would need n-1 connections?
    replies(1): >>22703726 #
    6. Spivak ◴[] No.22703536[source]
    P2P video for large groups is dead over the public internet because you don't get the network's help in doing 1-many delivery.
    7. crazygringo ◴[] No.22703614[source]
    I used to work in videoconferencing, and Zoom seemingly came out of nowhere and everybody loved it, because people overwhelmingly said it really is the best.

    In terms of actual reliable video/audio experience. When evaluating platforms, other videoconferencing solutions simply suffered quality issues more -- taking longer to start, glitches, latency, pausing, echo, and so on.

    Also, the hard part isn't building 1-1 video chat. It's having it work with 20 or 200 separate participants.

    I have no idea why they're better except that building reliable audio-video at scale turns out to be a really hard problem, and they seemed to focus their engineering on that specifically.

    Kind of like file sync was really unreliable until Dropbox decided to focus on building a sync tool that actually "just worked". Same philosophy. Zoom is the Dropbox of videoconferencing.

    replies(1): >>22704408 #
    8. sakopov ◴[] No.22703626[source]
    A while ago I remembered reading that a typical video conferencing/streaming setup on AWS has astronomical costs. I don't remember exactly which AWS services were used in the estimate but it seemed very prohibitive for startups.
    replies(1): >>22703858 #
    9. fsh ◴[] No.22703726{4}[source]
    Each client has to send n-1 streams and domestic connections usually have quite weak uplink.
    replies(1): >>22705362 #
    10. angry_octet ◴[] No.22703858[source]
    Yeah it's high bandwidth out (egress costs) and video processing is expensive, whether CPU (more cores * more time) or GPU (expensive instances). You basically have to process every input camera stream in real time to generate miniatures and do change detection (although at a lower frame rate, which you can signal to the client, so rate/resolution scaling is done client-side). VAD (voice activity detection) is client side, one mixer per output stream on the server -- not too bad. Video decode, mixing and H.265 encoding is expensive, but saves on transmission bandwidth.

    Then consider that contention is terrible for real time and you would want dedicated instances.

    I don't know the zoom architecture, but I doubt they could scale so fast without lots of cloud. I think they have an enormous bill, which they are using capital to pay for because they are becoming a household name.

    11. peterwwillis ◴[] No.22703952[source]
    > Anyone know how difficult it would be to build something like it

    Companies have been trying to build the perfect video chat system for about 30 years. Companies with tens of billions of dollars in cash and more in stock. Almost all of them suck in various ways.

    You can stream one audio+video to one person, and you can stream it to multiple people. But then do multiple duplex audio+video streams to multiple people, on multiple platforms, with low CPU, memory, and bandwidth requirements, with user controls, recording, chat, screen sharing, drawing, and 50 other features. Get 49 of them right, and the 50th feature will suck, and your users will hate it and be ready to move to a different product. I think it's one of the most complex user applications that exists.

    12. rstupek ◴[] No.22704408[source]
    "Zoom is the Dropbox of videoconferencing" weird I had the exact same thought yesterday and it even translates to everyone thinking they can build it themselves with gluing tools x,y,z together!
    13. jessaustin ◴[] No.22705362{5}[source]
    ISTM there could be some opportunities here? First, not everyone is talking at once (else this is a riot rather than a conference), so many of the uplinks could be "nothing new" packets for much of the time. Second, if any participant(s) (even a dummy participant) has faster uplink, that/those client(s) could forward to the rest of the group, in a fashion somewhat analogous to torrent.
    replies(1): >>22707021 #
    14. jamra ◴[] No.22707021{6}[source]
    You could also do leader election and make that one leader be the sink. Then broadcast to everyone else. However, I'm gonna keep my trap shut because I don't want to get downvoted by this elite squad of video professionals.