美文网首页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