前言
Licode是webrtc的一套视频会议系统开发框架,是基于webRTC技术之上的开源项目,通过更便捷(easy,fast and scalable)的接口你可以快速搭建出基于webRTC技术的网络视频会议系统,或者与此类似的系统。你可以通过Try it!对Licode有个更为直观的认识。Licode的GitHub地址:https://github.com/ging/licode
后续将记录从本机windows下通过docker快速搭建licode,到进行分析licode整体架构代码为主
1:Docker的安装
笔者电脑windows10版本,安装的是DockerToolbox,安装指南见:前面文章=> 【传送门】
2:下载Licode的docker镜像
通过licode的官方文档下载licode的docker版本,命令如下
MIN_PORT=30000; MAX_PORT=30050; docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v /docker:/soft -p 3000:3000 -p $MIN_PORT-$MAX_PORT:$MIN_PORT-$MAX_PORT/udp -p 3001:3001 -p 3004:3004 -p 9229:9229 -p 8080:8080 -e "MIN_PORT=$MIN_PORT" -e "MAX_PORT=$MAX_PORT" -e "PUBLIC_IP=172.17.0.2" lynckia/licode
会自动下载licode镜像并自动启动
3:查看是否启动
浏览器打开地址:http://172.17.0.2:3001/ 如出现如下内容表示licode已经启动,
4:测试是否可以打开音视频
此时通过宿主机+IP的方式与docker内的licode建立音视频连接时,会提示Cannot read property 'getUserMedia' of undefined的错误,这个错误是因为webrtc的getUserMedia只能运行在本地的环回网络下能够,不能运行在不同机器上,所以需要使用ssl的安全连接方式(https).
所以通过浏览器打开3004端口的测试页面,如下:
测试仍然失败,提示打开8080建立wss失败,原因,由于Licode的配置默认未开启ssl导致无法通过远端建立音视频连接。
5:修改配置文件
此时需要修改Licode的配置文件licode_config.js,对于rtp_media_config.js的修改可选,笔者是修改了的
licode_config.js修改为右侧所示
rtp_media_config.js的修改如下
6:重启erizo_controller进程
通过ps找到该进程并kill -9杀掉,然后重新启动该进程即可
#./erizo_controller/initErizo_controller.sh
7:测试licode的结果
打开172.17.0.2:3004的测试页面,显示结果如下表示docker安装Licode成功,Enjoy it~
对于Licode的分析,由于Licode也使用了libnice,笔者将在后续文章中一一介绍~