来源:Global Video Tech Meetup 主讲人:Colin Biggin 内容整理:王珅 本次分享的主讲人为来自 Stage TEN 的 Colin Biggin,主讲人分三个部分介绍了相关内容,首先介绍了 WebRTC 的基本情况,包括目前 WebRTC 的业界使用情况以及 WebRTC 使用的视频编解码器、音频编解码器等等。然后主讲人进一步介绍了在两个 iOS 设备之间实现 WebRTC 连接的过程,最后通过一个实例展示了实时流媒体的有趣性。
目录
主讲人首先介绍了他自己,Colin Biggin 从 2008 年开始作为 iOS 程序员一直在 AppStore 上开发应用程序,在 AppStore 上开发超过 70 个应用程序。2014 年入职 Stage TEN,与 YouTube、Google、TVO、Khan Academy 均有合作。
然后主讲人首先介绍第一部分:什么是 WebRTC?
一般而言,WebRTC 的定义是这样的:WebRTC 是一个免费的开放项目,通过简单的 API 为浏览器和移动应用程序提供实时通信(RTC)功能。WebRTC 组件已被优化以更好地服务于这一目的。
主讲人提出,实际上 WebRTC 是:
而目前都有谁在使用 WebRTC 呢?
而哪些浏览器支持 WebRTC 呢?
视频编解码器包括:
音频编解码器则包括:
网络则包括了以下几个部分:

网络示意图
在第二部分主讲人介绍了在两个 iOS 设备上实现通信的过程。现在我们有两个 iOS 设备,它们需要进行通信,因此在他们之间需要一个信号服务器,使得它们知道如何进行沟通和相互交换信息,也就是 Websockets。

Singalling
通常在中间有一个 WebRTC 服务器。最常见的两种是 Janice 和 gizzi。但这些服务器是你的 WebRTC 流要进入的地方,所以你的 RTP 数据包用于音频和视频。然后它在那里基本上都会被灵活地传送到各种客户端。

Intermediate WebRTC server
从黑色的 iOS 设备发送到白色的 iOS 设备的过程如下:

1st Offer

1st Answer

建立连接
现在大多数通信是双向的,因此你必须做相反的事情:

2nd offer/answer

2-way connected
最后主讲人演示了一个实例展示了实时流媒体的乐趣。
附上演讲视频:
http://mpvideo.qpic.cn/0bc3fqaa4aaa2maa6z2v6vrfalgdbywaadqa.f10002.mp4?dis_k=4e18b144fca88b8d72b8ae9207a5e877&dis_t=1653387393&vid=wxv_2351259177286991872&format_id=10002&support_redirect=0&mmversion=false