3 ms·
> It’s crazy that I’m 2021 we don’t have video calling that isn’t a ginormous performance hog It sure is. On the other hand, the big tech companies did not vie
by kwindla 6y ago
> It’s crazy that I’m 2021 we don’t have video calling that isn’t a ginormous performance hog
It sure is. On the other hand, the big tech companies did not view video calls as a critical use case until ~9 months ago.
You can see this in how much Chrome has improved in its last 3 releases. A year ago, you could play ~15 videos simultaneously in a page on Chrome before <stalling, chaos, and crashing>. Now, on the same machine, you can play >50. This matters for video calls because the standard stream topology these days for multi-party calls is 1 up, N down, where N is the number of participants in the call.
Hardware and OS support is critical, too, so this is an ecosystem challenge.
- encoder pipelines don't do low-resolution streams very well, which matters for large video calls
- encoder pipelines don't do variable framerate, variable resolution, large resolution/low-framerate, and "non-standard" resolutions as well as they could
- hardware support for newer codecs (vp9, h265, av1) would help
- decoder pipelines aren't great at decoding lots of small videos in parallel
Everyone focused on single-stream video playback for the last few years, which led to really amazing improvements watching video. Nobody complains anymore about their fan spinning up every time they watch Netflix. Now we have to put the same effort into the building blocks needed for video calls.
- cloogshicer 6y agoThank you for the detailed reply. On the one hand, yes, it's a hard problem, on the other hand, if you think about how much a modern video game does 60 times per second, it's not that hard anymore. That said I agree with a lot of your points and I totally get why it is this way. It's just sad that it's mainly due to business reasons. I think part of it that video conferencing is too cheap/free. It's just a bad business to be in.
- kwindla 6y ago> On the one hand, yes, it's a hard problem, on the other hand, if you think about how much a modern video game does 60 times per second, it's not that hard anymore. Agreed! Modern GPUs are amazing, as is the software stack on top of them. (Crufty, fragile, maddening, inconsistent ... and amazing.) For the next-gen needs of video calling, some combination of Nvidia, Apple, Intel, Arm, Microsoft, Google, codec IP owners, and a bunch of mobile chipset manufacturers are going to have to agree on a bunch of stuff. That never happens in a logical, straightforward way. For the past 10 years Nvidia has been betting that a really big chunk of their future growth will come from powering machine learning applications of all kinds. They're probably ... right? (I mean, I have no idea.) But as someone who cares a lot about video and only intramurally about machine learning, I find that frustrating. There's a lot of relatively low-hanging fruit, from a technical perspective, in hardware codec support.