如今越来越多的公司投身到 WebRTC 的开发和应用之中,同时也有越来越多的开发者对 WebRTC 技术感兴趣。相对于单向传输的直播和播放器,支持“实时+双向” 音视频通话的 WebRTC 项目显然要庞大和复杂很多很多。由于 WebRTC 官方没有提供服务器的实现,自己从 0 搭建一套开源的 WebRTC 服务器、跑通并且读懂官方的 AppRTCDemo 代码还是需要很费一些周折的。

基于这些原因,我启动了一个小的开源项目:RTCStartupDemo,致力于提供一套超级简单的信令服务器,以及配套的完全基于 WebRTC 官方 API 的客户端 demo 示例代码(含:Web/Android/iOS/Windows 全平台),目标是让所有有兴趣学习 WebRTC 的同学,都能快速把项目 run 起来,看到通话效果,理解核心 API,快速入门。

项目地址https://github.com/Jhuster/RTCStartupDemo

1.  效果图

screenshot-web.png

2. 目录说明

RTCSignalServer:

  • 一个简单的 Go 语言版本的 WebRTC 信令服务器,供 demo 使用

  • 该信令服务器的 API 文档:这里

RTCClientDemo:

  • Web

  • Android

  • iOS(coming soon)

  • Windows(coming soon)

3. 使用方法和限制条件

所有端的 demo 只支持 2 个人在局域网内通话,不同端之间也可以互相通话,比如:Android & Web 之间。

需要配合一台信令服务器,你可以参考项目文档自己编译和部署(推荐),也可以直接使用我部署好的服务器:

http://rtc-signal.jhuster.com:8080/socket.io

使用我部署的服务器,需要注意如下事项:

  • 仅限于测试和学习,不保证服务器的可用性和稳定性

  • 填写房间号的时候,注意填写一个复杂一点,因为可能会跟网上其他人冲突

4. 项目依赖

webrtc:https://webrtc.org

socket.io:https://socket.io

5. 小结

关于这个项目的情况就介绍到这里了,欢迎大家 fork 并且提 pr 为项目贡献,也欢迎来信 lujun.hust@gmail.com 交流,另外,大家可以关注我的新浪微博 @卢_俊 或者 微信公众号 @Jhuster 获取最新的文章和资讯。

weixin_lujun.jpg