不管其他人怎么想,春节回家前的一天工作日,工作到八点半才拿起行李往火车站去。都放假了,还那么拼命工作干嘛呢?你没猜错,北京的火车票太难买了。而我呢,开售当天,买了一个二十三点半的高铁,第二天两点多到郑州。当时,没人买的票,而我又不喜欢上抢票,抓紧买了。隔了一天去看,估计是大家看抢票无望,有总比没有强。不知道什么时候,也没有票了。
迫不得已,在车站也是等着,干嘛不多加会儿班呢。于是,吃了晚饭开始加班了。别说,加班还是看了不少内容。
首先,试用了WebRtc的Demos,可以调用Chrome的摄像头,录像,保存图片和视频。意外发现一个可以录制屏幕的Web工具,虽然官方说不稳定,用了一个还是不错的。然后,找到了一个国内的相关的论坛,看了几篇不错的帖子,讲解了正在使用的Socket IO的注意事项。大概说了一些跟视频加解码关键的内容。
最后,要说的是,LiCode一个文档(英文)比较亲切的SFU开源实现,也是基于WebRtc的实现。单独使用WebRtc当然是可以的,前提是两个浏览器之间可以p2p通信,懂一些的朋友都知道内网是没问题,外网基本没的玩。SFU服务器的出现正好解决了不能p2p通信的问题,同时整合了多人视频聊天的上行流量。更多的SFU的知识可以自行查询。LiCode的文档包括架构说明,SeverApi,Client Api。读了一遍文档,超级容易理解。应该是api的设计特别符合正常的思考逻辑,如建立连接,创建房间,向房间推送流,订阅房间的某个推送流,流信息进一步分为音频、视频、数据。对于音视频,可以设置帧率,码率,分辨率等参数。
总之,似乎是把正常的想法用代码实现了。但是,有一点没有说明,是否可以集群部署,若是单实例也不知道能服务多少用户。有专家大神可以留言告知,不剩感激!