野火音视频高级版服务,基于janus二次开发而来,开发仅限于与野火IM对接,没有做任何功能的修改。使用方法如下:
由于使用的是SFU架构,所有流量都经过媒体服务,对带宽的要求非常高。如果使用固定带宽,价格会非常高昂。建议使用按照流量计费,大部分云服务器都能达到100Mbps,由于是按量计费,费用反而节省很多。
仅支持docker方式,x64镜像在这里,下载完之后检查md5;arm64镜像在这里,下载完之后检查md5
镜像下载之后通过下属命令导入镜像:
sudo docker import wildfire_janus_amd64.tar wildfire_janus
arm服务器请导入对应的arm镜像
下载janus_config
到服务器。修改janus.transport.mqtt.jcfg
general: {
enabled = true # Whether the support must be enabled
im_host = "imdev.wildfirechat.cn" # Wildfire IM server host
client_id = "guest" # Client identifier
subscribe_topic = "to-janus" # Topic for incoming messages
publish_topic = "from-janus" # Topic for outgoing messages
修改janus.plugin.videoroom.jcfg
string_ids = true
im_host 要使用专业版的授权域名,client_id为了安全,请使用一个随机的uuid,client_id和subscribe_topic和publish_topic要和IM服务配置中的值对应。
IM服务配置文件中修改音视频服务的client_id、subscribe_topic和publish_topic。然后启动IM服务。
IM服务启动之后才可以启动媒体服务。请使用下面命令启动:
sudo docker run -it -e DOCKER_IP=192.168.3.102 --name wf_janus_server --net host -v PATH_TO_janus_config:/var/janus/janus/etc/janus wildfire_janus
注意DOCKER_IP
为服务器的外网IP,PATH_TO_janus_config
为配置文件的路径。
确保客户端能够正常运行,能够收发消息。替换音视频高级版的SDK,测试音视频通话。
客户部署多个媒体服务来水平扩展媒体服务。当用户发起音视频通话时,IM服务会hash分配媒体服务。
感谢janus提供如此好的开源产品。