You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Janus Media Server视频房间搭建问题求助(Docker部署场景)

本地搭建Janus Media Server 测试视频房间方案

一、本地直接部署Janus(推荐,规避远程端口配置麻烦)

1. 拉取官方Janus镜像并启动

用官方镜像直接部署,自带完整依赖和默认配置,测试更省心:

docker run -d --name janus -p 8088:8088 -p 8188:8188 -p 8000:8000/udp -p 8001:8001/udp -p 8002:8002/udp -p 8003:8003/udp meetecho/janus-gateway:latest

端口说明:8088是HTTP API端口,8188是WebSocket端口,8000-8003是媒体传输UDP端口,都是Janus默认必需的。

2. 配置本地测试页面的服务器地址

打开你克隆的janus-gateway仓库中html目录下的settings.js,修改服务器地址为本地:

// HTTP方式
var server = "http://localhost:8088/janus";
// 或WebSocket方式
var server = "ws://localhost:8188/janus";

3. 用静态服务托管测试页面

直接打开本地HTML文件会触发跨域问题,必须用HTTP服务托管:

  • 用Python3快速启动静态服务:
    cd janus-gateway/html
    python -m http.server 8000
    
  • 浏览器访问http://localhost:8000/videoroom.html,点击「启动视频房间」即可测试。

二、如果必须使用远程服务器的Janus

1. 暴露远程容器的必要端口

远程服务器上先停止旧容器,重新启动时添加端口映射:

docker stop 你的容器名
docker rm 你的容器名
docker run -d --name janus -p 8088:8088 -p 8188:8188 -p 8000:8000/udp -p 8001:8001/udp -p 8002:8002/udp -p 8003:8003/udp canyan/janus-gateway:latest

2. 配置远程Janus允许跨域

进入远程容器修改配置文件:

docker exec -it janus bash
vi /opt/janus/etc/janus/janus.cfg

找到[general]区块,添加或修改:

cors_origins = *

注:这是测试用的宽松配置,生产环境需指定具体域名。

修改后重启容器:

docker restart janus

3. 调整本地settings.js的服务器地址

把地址换成远程服务器的公网IP+端口:

var server = "http://远程服务器公网IP:8088/janus";

同样用本地静态服务托管测试页面,即可连接远程Janus测试。

关键注意事项

  • 禁止直接用file://协议打开HTML文件,必须通过HTTP/HTTPS服务访问,否则会触发跨域或协议错误
  • 远程服务器需在防火墙/安全组开放8088、8188(TCP)和8000-8003(UDP)端口,否则本地无法连接
  • Canyan镜像的配置文件路径可能为/etc/janus或/opt/janus/etc/janus,若路径不对可进入容器内确认

内容的提问来源于stack exchange,提问作者anas shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:52:20