多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] github:[https://github.com/lynckia/licode](https://github.com/lynckia/licode) 参考:[https://blog.csdn.net/u013536232/article/details/102820251](https://blog.csdn.net/u013536232/article/details/102820251) hub.docker:[https://hub.docker.com/r/lynckia/licode/](https://hub.docker.com/r/lynckia/licode/) ## 拉取docker镜像并运行 licode官方提供了配置好的docker镜像,使用以下命令拉下来跑就行。 ``` docker run --name licode -p 3000:3000 -p $MIN_PORT-$MAX_PORT:30000-30050/udp -p 3001:3001 -p 8080:8080 -e "MIN_PORT=30000" -e "MAX_PORT=30050" -e "PUBLIC_IP=your_ip_address" lynckia/licode ``` 注意命令里的`PUBLIC_IP`要改为服务器的公网IP。 配置好之后,在地址栏输入ip:3001回车,chrome就会弹出是否允许摄像头麦克风那个窗口,点击确定,就可以看到你的视频了。 ## 源码安装 ### 下载代码 ``` git clone https://github.com/lynckia/licode.git cd licode ``` ### 安装依赖 Ubuntu16.04 ``` ./scripts/installUbuntuDeps.sh ``` Mac OSX ``` ./scripts/installMacDeps.sh ``` > 如果本机已经装了ffmpeg,请卸载 ### 安装licode ``` ./scripts/installNuve.sh ./scripts/installErizo.sh ``` ### 安装 basicExample ``` ./scripts/installBasicExample.sh ``` ### 基本配置 修改licode_config.js ``` config.erizoController.publicIP = 'your_ip_address'; config.erizoController.hostname = 'your_ip_address'; config.erizoAgent.publicIP = 'your_ip_address'; //default value: '' config.erizoAgent.networkinterface = 'eth0'; //default value: '':w ``` ### 配置SSL 修改licode_config.js ``` //配置turnserver服务器 config.erizoController.iceServers = \[{'url':'stun:stun.l.google.com:19302'},{'url':'stun:**服务器****IP**:3478'}\];//**注意,配置的服务器必须是可访问的,否则启动失败** //开启SSL config.erizoController.ssl =true; config.erizoController.listen_ssl =true;//default value: false config.erizoController.listen_port =8080;//default value: 8080 //配置SSL文件 config.erizoController.ssl_key ='/full/path/to/ssl.key'; config.erizoController.ssl_cert ='/full/path/to/ssl.crt'; ``` ### 启动licode ``` ./scripts/initLicode.sh ./scripts/initBasicExample.sh ``` 运行: ``` http://ip:3001 https://ip:3004 //需要开启tls ``` 停止licode ``` pkill node ``` ## 安装过程中的问题 ### boost库的问题 我遇到了boost库的问题:Missing boost_property_tree/1.69.0@bincrafters/stable ,修改`./scripts/installErizo.sh`的65行 ``` conan install . --build IncludePathsGenerator --build boost ``` ### 神奇的npm - npm i时提示sha512错误 下载npm包的时候,会进行包的哈希检测,以防下载的包被人恶意篡改,然而有时候因为cnpm与npm混用导致这个问题,可以通过以下步骤解决 **删除package-lock.json**,重新执行npm i ## Chrome关于http无法调用摄像头麦克风的解决方法 新版本的chrome浏览器,在http协议下安全性原因导致无法调用摄像头和麦克风,解决方法如下: **方法一:** 在浏览器地址栏中输入“chrome://flags/#unsafely-treat-insecure-origin-as-secure”,回车,如下图,将该选项置为**Enabled**,在输入框中输入需要访问的地址,多个地址使用“,”隔开,然后点击右下角弹出的**Relaunch**按钮,自动重启浏览器之后就可以在添加的http地址下调用摄像头和麦克风了。 ![](https://img-blog.csdnimg.cn/20200525222816532.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZpcnN0X3NodW4=,size_16,color_FFFFFF,t_70) ` ` **方法二:** 在安装的浏览器的应用图标右键->属性,在弹出框中的**快捷方式选项**下的**目标**属性后加入 `--unsafely-treat-insecure-origin-as-secure="http://example` ,其中example为你的访问地址,记得和前边的内容中间有空格隔开,然后点击右下角的应用和确定按钮,重启浏览器就可以了 ![](https://img-blog.csdnimg.cn/20200525223320521.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZpcnN0X3NodW4=,size_16,color_FFFFFF,t_70)