
Adventures in Video Conferencing Part 1: The Wild World of WebRTC - walterbell
https://googleprojectzero.blogspot.com/2018/12/adventures-in-video-conferencing-part-1.html
======
Traubenfuchs

      "Can you hear me?"
    
      "I can't hear you."
    
      "Let me change the microphone settings."
    
      "Can you hear me now?"
    
      *horrible audio feedback*
    

Every single time, even in 2018. Will WebRTC save us? No.

~~~
epynonymous
you should try zoom or bluejeans, it's been extremely stable and consistent
for us, we do conference calls from behind china's great firewall to palo alto
with little to no lag, even has HD video.

~~~
kabes
Zoom won't really help you with the above situation which is mainly users
having their microphones disabled etc.

We're building a virtual classroom solution and we now always force every user
to go through a wizard which checks their audio and video, clearly marks when
there is no sound being received and connects them to a support person to help
them resolve their AV issues before they can join the meeting.

It's a little annoying for the person who wants to join, but the experience
for the people already in the meeting/classroom is much better.

~~~
hatchoo
Is the product you are building out already?

~~~
kabes
We are currently testing with some early customers and now about to go
broader. We only sell to universities though, so it's hard to demo. Here's an
article with more info from one of our customers that gives you a look into
the product: [https://awaytolearn.iese.edu/ieses-virtual-room-online-
learn...](https://awaytolearn.iese.edu/ieses-virtual-room-online-learning-
reinvented/)

One interesting part is that, just like in a real classroom, by default
everybody is unmuted. So you can have discussions with 80 students and one or
multiple teachers. This makes stuff like echo cancellation, reducing the noise
floor etc. a big part of the problem we attempt to solve.

------
oplav
I'm working on a project that requires consuming a UDP video stream from the
browser. Because of the near real time latency requirements, I think a WebRTC
is the correct solution, but every time I start reading about it, I get
overwhelmed by all these acronyms like STUN, TURN, ICE, etc.

Does anyone have suggestions for good learning paths for WebRTC?

~~~
shams93
This might be helpful for your project
[https://janus.conf.meetecho.com/](https://janus.conf.meetecho.com/)

~~~
noiv
Yeah, Janus is excellent. Just get it running in a local network and head
scratch about ICE, STUN, etc. only if a firewall is needed.

------
saagarjha
> Facebook, WhatsApp, FaceTime and Signal are just a few of the many ways that
> users can make audio and video calls across networks.

I find it interesting that they don't mention Hangouts, given that they're,
well, _Google_ Project Zero…

~~~
marketshate
Maybe they listed the highest market share? I didn't look but I wouldn't be
suprised if these have the biggest. In order, too.

Or maybe they just listed the ones they use. If I did the same, it would look
_very_ similar.

------
pcwalton
A bunch of these vulnerabilities are the result of iterator invalidation in
C++. Food for thought for those who claim that iterator invalidation doesn't
happen in modern idiomatic C++.

------
mgamache
Low latency video streaming in the browser is a mess. it's WebRTC or [insert
hack]. WebRTC is kind of a single-purpose black box, so it's difficult to deal
with. I Would love to know more about how people are solving this problem
(like Zoom).

~~~
metildaa
Zoom's solution seems to be clunky software that works worse than Jitsi.

~~~
sethammons
Works better than LifeSize! I've been relatively non-angry with Zoom which is
at least some form of success. I also like that we can download missed
meetings that we're recorded and I can play them in my player of choice (yay,
2x speed!).

------
eric_khun
We've tried several video conference solutions. Google hangout was nice for up
to 10 people. Then it get really slow and the quality of the video decrease.
It also do not work in China (need a VPN).

By far, the best one is Zoom. It can easily handle with a really great quality
25 people on 1 page, in a conference with 80+ people. It also works smoothly
for people in China (without VPN). Anyone has any know the magic behind their
tech?

~~~
FajitaNachos
Zoom doesn't use WebRTC (which the article is about). They use websockets to
send media through the pipes and decode using a webgl shader or similar.

I don't work for Zoom, but do work in the WebRTC space and read an article
about it recently.

~~~
edoceo
Gotta link for that? Sounds really neat

~~~
shadesof
[https://webrtchacks.com/zoom-avoids-using-
webrtc/](https://webrtchacks.com/zoom-avoids-using-webrtc/), perhaps?

~~~
mgamache
Zoom has to be using h264 under the covers. Did they recompile the OpenH264
into WASM?

like:
[https://github.com/kazuki/mediacodec.wasm](https://github.com/kazuki/mediacodec.wasm)

It could also be that they are using websockets to deliver MPEG-DASH/HLS
segments for low latency.

------
fulafel
A good testability lesson. The project had used fuzzing, but due to complexity
nobody had figured out how instrument it for deep coverage.

(Aside from the obvious one that you shouldn't write protocol implementations
in unsafe languages... WebRTC is too new to have a legacy excuse even)

------
k__
FB Messenger calls work the best for me.

Hangouts and Zoom second best.

Worst has been Skype and WhatsApp.

But Skype has been getting better the last months.

