0%

如何正确的部署mediasoup-demo

现在发现很多同学部署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
2
chmod +x run.sh
sudo MEDIASOUP_ANNOUNCED_IP=你的IP ./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官网,如果有进一步的消息我会及时进行更新。

下载老版本Chrome地址

下载old Chrome

欢迎关注我的其它发布渠道