一、功能描述
- 多人音视频通话——主持人(踢出成员、结束会议、收集成员会议时长)、离开会议、屏幕共享、本人媒体流录制、文字聊天
- P2P文件传输
- 私人聊天室
二、技术选型
2.1信令服务器
采用Java语言+websocket协议实现。
2.2多人音视频通话
采用WebRTCMesh架构实现,可参阅文章“WebRTC实现多人通话-Mesh架构【保姆级源码教程】”http://t.csdnimg.cn/PC9Pp。
2.3屏幕共享
采用WebRTCAPI:
navigator.mediaDevices.getDisplayMedia({ video: true, audio: true });
2.4媒体流录制
new MediaRecorder(localVideo.srcObject,options);
2.5文字聊天
采用Java语言+websocket协议实现。
2.6文件传输
采用WebRTCAPI:
createDataChannel
三、流程设计
这里仅仅提供多人通话流程,其他流程较为简单不赘述。
需要源码与教学的请私信(* ̄︶ ̄)