现在发现很多同学部署mediasoup-demo时出现各种问题,最主要的原因是无法通过npm安装依赖包。几乎每天都有同学来问这类问题,解决的办法其实很简单,找个代理就好了。
但这又引来了同学们新的问题,哪种代理好?需要多少费用……
好吧,干脆我给大家做个docker吧,这样对于那些找不到代理,不想花钱的同学直接下载docker进行部署就好了。
使用docker部署mediasoup-demo的具体步骤如下:
- 准备一台Ubuntu22.04的PC机
- 下载mediasoup-demo镜像
- 下载run.sh脚本
- 启动docker
- 启动mediasoup
- 测试
下载mediasoup-demo镜像
下载mediasoup-demo镜像的方法很简单,只要在你的Ubuntu系统下执行下面的命令即可。
1 | sudo docker pull lc0060305/mediasoup-demo:v5 |
需要注意的是,国内的云主机都对hub.docker.com的访问做了限制,可能无法从hub.docker.com下载docker镜像,或下载很慢,最好的方式当然是在国内找个docker镜像创库,把制作好的镜像放上去,但我没有找到特别好的免费的仓库。有同学有这方面资源的可以提供一下。在此表示感谢!
下载run.sh脚本
你可以从这里下载run.sh,下载成功后可以将它保存在任意目录下。
启动docker
使用下面的命令来启动docker
1 | chmod +x run.sh |
注意,上面的IP在不同的情况下需要填入不同的值。如果你是在云主机上部署的,则MEDIASOUP_ANNOUNCED_IP设置成你云主机的外网IP地址;如果你是在自己的主机上部署的,IP地址则需要填你主机的IP,它一般是以
192.
开头的。
启动mediasoup
上面的步骤执行成功后,我们需要启动mediasoup服务,启动的办法也很简单:
首先执行下面的命令进入到docker中
1
docker attach containerID
之后,在/service目录下执行下面的命令即可:
1
startservice.sh
当服务启动好后,输入
ctrl+p, ctrl+q
退出docker
到此,mediaosoup-demo就算部署好了。现在让我们来测试一下吧!
测试
在chrome 浏览器中输入https://IP:3000
,如果一切顺利的话,你将能够看到mediasoup-demo中熟悉的背景,并必本地摄像头也被打开了。
然后复制页面地址,打开一个新标签页,现在两个页面应该就可以通信了。
注意,我在测试时发现chrome 102 这个版本是可以通信的,而用最新的chrome会报错。该问题我已经提交给mediasoup官网,如果有进一步的消息我会及时进行更新。