之前公司没什么项目,然后研究过一段时间WebRTC,实现了一版简单的多人音视频通话,因为我是做移动端的,所以对C/C++理解不深刻,WebRTC原理及代码也不甚了解,FFmpeg以及对音视频处理也是也是一窍不通,虽然可以使用开源库, 但是确实无法做到满意的功能与效果,无法解决手机发烫以及电池耗电问题.(即使采用中转服务器的概念) ,视频画面显示问题,音画不同步,降噪,等等.确实需要非常专业的知识了.
WebRTC 的了解
`野狗` 也是使用webRtc实现的多人音视频通话,微信和QQ可能也采用过,但是现在的开源项目无法进行商用,只能用来做做研究,我加过几个关于WebRTC的群,我没有这方面的技术,确实不懂太多,还是需要学习.
WebRTC 实现方式 及 优缺点
这篇文章介绍了如何实现多人视频通话的原理及优缺点,我们也参考性的实现,进行了对吧.但是没有WebRTC的知识层面,单独无法对代码进行优化,只能简单的进行使用,确实是自己能力有问题.
WebRTC `点对点实现 `
WebRTC 介绍及 iOS 实现 以及自己写的 Android 实现
这篇文章已经介绍的很好了,但是只有 `iOS`和`Node.js`的实现,但是没有安卓的实现,虽然我是做iOS的,但是也想实现安卓的功能,网上的代码确实没有比较好的,所以自己写了一下安卓的实现.有兴趣的朋友可以去看一下,我和一个朋友测试过,3个人的话还是可以的,4个人就确实会导致卡顿及手机发烫,电池耗电等问题了.
WebRTC `中转服务器实现`
这之前考虑用 `kurento` 还是 `licode` 因为这两个是我之前找到的比较好的解决办法 ,为的就是解决`点对点实现`的缺点,但是需要自己搭建打洞服务器(STUN/TUN),我用的是 kurento的实现方式,但是也有很多问题, demo的话在网上有公司开源的关于这个的开源框架,直接在github中找就可以了.如果觉得没有找到合适的,可以给我私信,到时候可以考虑把这方面的东西总结一下发布.