Web Call Server 是一个实时音视频应用平台,主要面向开发人员,用于构建流媒体项目,如视频聊天、网络研讨会、大规模广播、网络通话以及低延迟 Web 和移动应用。该平台支持多种主流流媒体 Web 技术,包括 WebRTC、Flash、RTMP、RTMFP、RTSP、HLS、MSE、SIP 和 WebSocket 流媒体,可将视频流传输到各种浏览器和移动设备。提供 Web SDK、iOS SDK、Android SDK 和 REST API 等开发工具,具备低延迟流传输、低延迟 CDN、VR 流传输、录制、视频混合、屏幕共享、流快照、实时视频转码、VOD、SIP 通话等通用功能。
更多信息和相关下载请访问 flashphoner.com
您可以在此 申请试用许可证 或在线购买商业许可证 此处。
启动 Web Call Server 实例容器的命令如下:
docker run -e LICENSE=license_number -e PASSWORD=secret --name webcallserver-instance -d webcallserver:tag
其中:
license_number 是您要激活的许可证编号secret 是通过 SSH 访问容器的密码webcallserver-instance 是容器名称tag 是 Web Call Server 版本号(例如 5.3.96),5.2-latest 表示最新的 5.2 版本,5.3-latest 表示最新的 5.3 版本您也可以在首次登录 Web 界面时激活许可证编号。
通过地址 [***] 登录 Web 界面,使用演示账户(用户 demo,密码 demo)。您可以自由探索我们的 Web 应用示例。
使用管理员账户(用户 admin,密码 admin)登录 WCS Web 界面。从 SSL 提供商获取 SSL 证书,并按照 此说明 操作。
在 主页面 阅读使用案例,在我们的 博客 中查看有用文章,也不要忘记查阅*** 文档。
停止 Web Call Server 实例容器的命令如下:
docker stop webcallserver-instance
容器停止时许可证将被停用,以避免不必要的计费。
默认情况下,容器的 IP 地址会动态分配。如果您需要使用固定 IP 地址,应通过 docker run 选项设置,并使用 LOCAL_IP 变量传递给容器:
docker run -e LICENSE=license_number -e PASSWORD=secret \ -e LOCAL_IP=static_ip \ --net your-docker-network \ --ip static_ip \ --name webcallserver-instance -d webcallserver:5.3-latest
如果您的 Docker 主机位于 NAT 之后,且 Web Call Server 需要从外部访问,应将外部 IP 地址设置到 EXTERNAL_IP 变量:
docker run -e LICENSE=license_number -e PASSWORD=secret \ -e LOCAL_IP=static_ip \ -e EXTERNAL_IP=external_ip \ --net your-docker-network \ --ip static_ip \ --name webcallserver-instance -d webcallserver:5.3-latest
可传递给容器的环境变量如下:
PASSWORD - 用于通过 SSH 访问容器的密码。如果未定义此变量,将无法通过密码 SSH 访问容器LICENSE - Web Call Server 许可证编号。如果未定义此变量,可在首次登录 Web 界面时输入许可证LOCAL_IP - 设置 flashphoner.properties 配置文件中 ip_local 参数的本地 IP 地址。如果未定义此变量,将自动检测容器 IP 地址EXTERNAL_IP - 设置 flashphoner.properties 配置文件中 ip 参数的外部 IP 地址。如果未定义此变量 且 未定义 LOCAL_IP,将自动检测外部 IP 地址CDN_ROLE - 容器在 CDN 中的角色。如果未定义此变量,容器将作为独立服务器运行CDN_ENTRY_POINT - 容器的 CDN 入口点服务器地址。如果未定义此变量,将不设置 CDN 入口点CDN_GROUPS - 容器所属的 CDN 组。如果未定义此变量,容器不属于任何 CDN 组WCS_FD_LIMIT - WCS 进程可用的最大文件描述符数(自 5.3.96 版本起)USE_JEMALLOC=true - 使用 jemalloc 内存分配库(自 5.3.96 版本起)SSH_PORT - 用于访问容器的 SSH 端口(自 5.3.96 版本起)。当容器在主机网络 --net host 中运行时,设置非标准 SSH 端口可能有用可挂载到容器的 Docker 卷如下:
/conf - 额外配置文件文件夹。此卷可挂载为只读/usr/local/FlashphonerWebCallServer/hls - HLS 片段文件夹。此卷必须以可写权限挂载/usr/local/FlashphonerWebCallServer/logs - 日志文件夹。此卷必须以可写权限挂载/usr/local/FlashphonerWebCallServer/media - VOD 播放的媒体文件文件夹。此卷可挂载为只读。此卷可与其他 Web Call Server 实例共享/usr/local/FlashphonerWebCallServer/records - 流录制文件文件夹。此卷必须以可写权限挂载。此卷可与其他 Web Call Server 实例共享/usr/local/FlashphonerWebCallServer/conf - WCS 配置文件夹(自 5.3.96 版本起)。此卷必须以可写权限挂载/usr/local/FlashphonerWebCallServer/report - WCS 支持报告收集文件夹(自 5.3.96 版本起)。此卷必须以可写权限挂载/usr/local/FlashphonerWebCallServer/snapshots - 临时快照文件存储文件夹(自 5.3.96 版本起)。此卷必须以可写权限挂载挂载所有卷的容器启动示例:
docker run -e LICENSE=license_number -e CDN_ROLE=origin \ -v /opt/wcs/conf:/usr/local/FlashphonerWebCallServer/conf \ -v /opt/wcs/logs:/usr/local/FlashphonerWebCallServer/logs \ -v /opt/wcs/hls:/usr/local/FlashphonerWebCallServer/hls \ -v /opt/wcs/media:/usr/local/FlashphonerWebCallServer/media \ -v /opt/wcs/records:/usr/local/FlashphonerWebCallServer/records \ -v /opt/wcs/report:/usr/local/FlashphonerWebCallServer/report \ -v /opt/wcs/snapshots:/usr/local/FlashphonerWebCallServer/snapshots \ --name webcallserver-instance -d webcallserver:5.3-latest
可将以下额外配置文件放置到挂载为 /conf 卷的主机文件夹中:
id_rsa.pub - SSH 访问公钥。如果容器启动时找到此文件,可使用相应私钥访问容器。否则,如果定义了 PASSWORD 变量,可通过密码访问容器。如果既未定义密钥也未定义密码,SSH 守护进程将不会启动flashphoner.properties - 主服务器配置文件。可用于 Web Call Server 实例的详细配置wcs-core.properties - Java 配置文件。可用于 内存调优 和 JMC 连接 配置log4j.properties - 日志 配置文件wss.jks - SSL 证书密钥存储文件。可使用 keytool 准备此文件cdn_profiles.yml - CDN 转码 配置文件 配置文件database.yml - 用户账户 和 REST 钩子应用 配置文件*.sdp - SDP 设置 文件所有这些文件可用于例如从备份恢复 Web Call Server 实例配置和自动部署。文件将“原样”复制到容器中,但 flashphoner.properties 除外:
ip 和 ip_local 参数将被修改(见上文 IP_LOCAL 变量说明)CDN_ROLE 变量,但文件中不含 CDN 设置,将添加 默认设置自 5.3.96 版本起,配置文件夹可作为卷挂载:
bashdocker run -e LICENSE=license_number -e PASSWORD=secret \ -v /opt/wcs/conf:/usr/local/FlashphonerWebCallServer/conf \ --name webcallserver-instance -d webcallserver:5.3-latest
首次启动容器前,可在挂载文件夹中放置最小集的自定义文件,例如:
database.yml flashphoner.properties log4j.properties wcs-core.properties wss.jks
容器启动时,如果这些文件不存在,将把所有必要的配置文件复制到该文件夹中。
默认开放以下端口:
22/tcp - SSH(仅当设置了密码或密钥访问时此端口激活)554/tcp - RTSP 服务器端口1935/tcp - RTMP 服务器端口1935/udp - RTMFP 服务器端口2001/tcp - 服务器 CLI 端口7777/tcp - 服务器监控端口8080-8084/tcp - WS、HTTP、CDN 端口8443-8445/tcp - WSS、HTTPS 端口8888/tcp - HTTPS 端口(用于旧版本兼容性)9091/tcp - HTTP 端口(用于旧版本兼容性)30000-35000/tcp - TCP 媒体端口30000-35000/udp - UDP 媒体端口50999/tcp - JMX 端口如有必要,可使用 docker run --expose 参数更改端口。在这种情况下,实际端口值应设置到 flashphoner.properties 和 wcs-core.properties 文件中,见上文说明。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429