WebRTC 开发必备工具集


#1

在围绕 WebRTC 进行开发应用时,会用到许多其它第三方框架。这里仅列出了部分热门的库,以及一些 Github 上的 repo。欢迎大家分享和推荐更多好的开源项目。

媒体服务器

名称 简介
Kurento Kurento 的核心是WebRTC媒体服务器,它的功能都是可以被激活和关闭插件模块,开发者可以无缝地创建额外的模块来扩展 Kurento 媒体服务器并动态插入。Kurento 媒体服务器提供即时可用的组通信、混合、转码、录制和播放。它还另外提供一些高级的媒体处理模块。
Janus Janus 是 Meetecho 开发的一个 WebRTC 网关,Janus 的主要作用就是它可以和你的内网设备和浏览器同时建立连接,并将浏览器发来的音视频数据包如 RTP/RTCP 包,通过自定义插件转发给你的内网设备,也可以将你发给 Janus 的音视频数据包,加密后转发给浏览器。
MediaSoup 一个开源的 WebRTC SFU 项目。核心是用C语言实现的。它可以使用JavaScript处理RTP包。
Jitsi VideoBridge Jitsi Videobridge 是个支持多用户视频通话的 XMPP server 组件。
Medooze Medooze同时提供了开源与商业服务。开源部分是Media Mixer Server,提供了音视频与文本的编解码、rtmp、录制、回放(mp4/flv)等。
Licode Licode是基于WebRTC的开源项目,属于MCU方案。可以快速搭建出基于webRTC技术的网络视频会议系统,或者与此类似的系统。

NAT 穿透

名称 简介
PJNATH PJNATH是PJ项目中一个新的库,它与PJLIB、PJSIP、PJMEDIA 这些库处于同一层次。它包含了一个通用的STUN库,一个ICE实现(可传输独立的ICE会话和ICE流传输)。
conturn conturn 是基于 Google 的 rfc5766-turn-server 而来的 TURN、STUN server。
restund Restund是一个模块化、相对灵活的 TURN/STURN server,支持IPv4与IPv6。

信令

名称 简介
Signalmaster 它是SimpleWebRTC的免费版本,包含了一套开源的信令服务,只是这个 repo 已经不再被官方维护。
apprtc collider 这是 apprtc 下的信令服务,用 go 语言写的,基于 Websocket实现。

会议系统

名称 简介
jitsi Meet jitsi Meet它是一个开源JavaScript WebRTC应用程序,允许您构建和部署可扩展的视频会议。 它建立在一些jitsi项目之上,包括 jitsi videobridge、jifoco 和 jigasi。
Freeswitch FreeSWITCH是一个开源的电话软交换平台,主要开发语言是C,以MPL1.1发布。FreeSWITCH支持各种带宽的语音编解码,支持8K,16K,32K及48KHz的高清通话,并可以在桥接不同频率的语音时自动进行转换。它可以运行在32位及64位的Windows、MacOSX、Linux、及Solaris等平台上。它的作者Anthony Minissale曾经是 Asterisk 的开发者。
EasyRTC 这一套较为综合的,封装好的 js 库,方便开发者们直接调用。

测试工具

名称 简介
KITE KITE是由Google官方推出了一个用于测试WebRTC应用在不同浏览器上互操作性的工具。
Linux Traffic Control(TC) Linux 内核内置了一个 Traffic Control 框架,能够实现流量限速、流量整形、策略应用,可以注入延时故障、丢包故障、包重复故障、乱序故障,以及模拟网络闪断等情况。可用于模拟测试弱网下的传输。需要开发者通过命令行来操作。
Augmented Traffic Control(ATC) 简称 ATC,是 Facebook 在 2015 年开源的一套网络测试工具。ATC 是基于 TC 的封装。ATC 的部署方法相对复杂,需要参考官方文档,但操作相对容易。
  • 欢迎回贴补充更多

列出 #2

从基础概念到进阶,推荐一些 WebRTC 技术文章