美文网首页webrtc 音视频传输
mediasoup server部署到云端

mediasoup server部署到云端

作者: 自由侠 | 来源:发表于2020-05-22 18:04 被阅读0次

方法一:

本地mediasoup-demo 打包上传到服务器即可

tar zcf mediasoup-demo.tar.gz mediasoup-demo

上传 mediasoup-demo.tar.gz 到云端

解压

运行server端: cd mediasoup-demo/server ; npm start;

运行app端: cd mediasoup-demo/app; npm start;

方法二:

按本地流程重新安装一遍mediasoup server 和 mediasoup app

配置:

cp config.example.js config.js

1. https 证书配置

2. webrtc监听ip地址配置

webRtcTransportOptions :  

listenIps :

ip : process.env.MEDIASOUP_LISTEN_IP || '0.0.0.0',

后边的'0.0.0.0' 加上去,  否则会出现连接error 500的错误; (Can not join room)

遇到问题(TODO):

1. 本地web端访问 https://118.178.125.107:3000/?roomId=1  耗时至少1分钟能显示出界面

     问题分析:

在加载的界面按F12调试,  可以看到调试界面, 点击network, 可以看到html网络交互,  看到有一个11.5M的mediasoup-demo-app.js在下载,   由于是部署在云上, 所以下载该js文件很耗时, 显示耗时时间为1.4min; 所以等待时间很长;  到此, 等待时间长的原因已经找到;

但为什么每次都会去加载这个文件, 还有为什么这个文件这么大?   

TODO: 此处可能需要web 客户端缓存起来, 不要每次都去获取那么大的文件!

尝试在index.html里边加入缓存机制, 没有用; 尝试搭建nginx, 把server目录下的public目录暴露到nginx; 会出现不能加入房间问题;  不再深入, 暂时放弃;   加载时间长点就长点吧, 不影响功能就好; 后续有时间再搞搞;

2. 两个web端加入相同房间后没有远端数据(音视频数据), 并且显示chat unavaliable;

以上情况部署在本地时没有碰到, 待分析原因 (部署金山云和阿里云一样的效果);

调试过程:

在客户端加载过程中, 按F12,开启调试, 看控制台输出, 发现:

mediasoup-client:Transport connection state changed to disconnected

调试中发现没有连接到服务器过, 后来想估计是服务器监听ip没有配置对;

配置: 

webRtcTransportOptions :--> listenIps : --> ip : process.env.MEDIASOUP_LISTEN_IP || '172.16.223.130', 为私网ip;

webRtcTransportOptions :--> listenIps : --> announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP || 'xxx.xxx.xxx.xxx'  为公网ip;

至此,  web界面显示和本地一样了, 可以正常通信了; 

参考: https://blog.csdn.net/gjy_it/article/details/104423353/#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83

相关文章

网友评论

    本文标题:mediasoup server部署到云端

    本文链接:https://www.haomeiwen.com/subject/kruqahtx.html