1.RtmpPush开源推流项目
1.1简介:开源免费推流项目;RTMP推流
1.2优缺点
1.2.1优点:开源免费;支持市面上绝大部分的rtmp流媒体服务器;全软编, 设备适应性强
1.2.2缺点:基本停止更新、后期不好维护
1.3实现原理:项目使用java代码实现视频采集,通过依赖库中导入的libAvcEncoder、librtmp实现视频编码、推流
2.Yasea开源推流、拉流项目
2.1简介:开源免费推流、拉流项目;RTMP推流
2.2优缺点
2.2.1优点:开源免费;支持摄像头的热切换,和各种滤镜效果 ;包含视频播放模块
2.2.2缺点:目前较少更新、后期不好维护
2.3实现原理:通过封装模块进行视频采集、处理、编码、推流;使用Vitamio播放器拉流播放
3.声网-第三方付费云服务
3.1简介:支持语音聊天、视频聊天、全互动直播的第三方付费SDK
3.2优缺点
3.2.1优点:延迟低;费用低;集成简单
3.2.2缺点:对第三方依赖性较强
3.3实现原理:基于UDP
4.WebRtc技术
4.1简介:支持网页浏览器进行实时语音、视频对话的技术
4.2优缺点
4.2.1优点:支持点对点低延迟通信;前沿性技术
4.2.2缺点:JavaScript API,需要一定的学习成本
4.3实现原理:使用Ice交互连接解决Nat穿透问题,实现通信
5.总结:视频直播短期实现建议使用RtmpPush或Yasea;长远考虑建议使用WebRtc实现。付费云服务备选方案建议考虑声网。