frozenmountain/liveswitch-media-serverLiveSwitch Media Server 是一个媒体服务器,用于接收来自LiveSwitch客户端SDK、liveswitch-connect命令行界面(CLI)的WebRTC兼容流式音频、视频和数据连接,以及通过LiveSwitch SIP Connector连接的电话呼叫,实现媒体流的处理和传输。
首先,设置你的LiveSwitch Gateway。
然后,启动LiveSwitch Media Server Docker镜像:
sudo docker run -d \ --env CONNECTIONSTRINGS:DEFAULT='postgres://postgres:password@127.0.0.1:5432/postgres' \ --env CONNECTIONSTRINGS:CACHE='redis://127.0.0.1' \ --env SERVICEBASEURL='[***] \ --network host \ --restart always \ --ulimit nofile=65535:65535 \ --name liveswitch-media-server \ frozenmountain/liveswitch-media-server
有关CONNECTIONSTRINGS:DEFAULT和CONNECTIONSTRINGS:CACHE环境变量的更多信息,请参见下文。
LiveSwitch Media Server需要host网络访问权限。
UDP和TCP端口3478处理STUN和TURN流量,帮助客户端通过防火墙进行流传输。如果提供证书,TCP端口5379可用于TLS终止(TURNS)。
强烈建议在端口443上启用TURNS,以确保在受限网络中流传输的高可用性。启用此功能需要设置
EXTERNAL:PUBLICHOSTNAME环境变量。
UDP端口49152-65535处理实时媒体流。
LiveSwitch Media Server有两个级别的配置:
建议使用环境变量进行简单配置。
如果使用JSON文件,该文件必须位于/app/FM.LiveSwitch.MediaServer.Service.config.json,例如:
docker cp FM.LiveSwitch.MediaServer.Service.config.json liveswitch-media-server:/app/FM.LiveSwitch.MediaServer.Service.config.json
JSON文件示例:
json{ "ConnectionStrings": { "Default": "postgres://postgres:password@127.0.0.1:5432/postgres'", "Cache": "redis://127.0.0.1" }, "Region": "", "Internal": { "IPAddresses": [] }, "External": { "IPAddresses": [], "PublicIPAddress": "", "PublicHostname": "" } }
环境变量名称使用.NET Core约定映射到JSON属性名称。
CONNECTIONSTRINGS:DEFAULT符合此处文档的PostgreSQL连接URI。如果未提供,服务器将无法启动。
CONNECTIONSTRINGS:CACHE与ServiceStack.Redis兼容的Redis连接字符串。如果未指定,默认值为127.0.0.1。
REGIONLiveSwitch Gateway在选择LiveSwitch Media Server处理入站客户端流时使用的字符串值。指示region的客户端将尽可能匹配具有相同值的媒体服务器。
INTERNAL:IPADDRESSES用于内部集群流量的本地IP地址或CIDR范围。如果未指定,将使用所有网络接口。
EXTERNAL:IPADDRESSES用于外部媒体流传输流量的本地IP地址或CIDR范围。如果未指定,将使用所有网络接口。
EXTERNAL:PUBLICIPADDRESS当前机器可从外部访问的公网IP地址。如果设置,将覆盖部署配置中外部STUN服务器提供的自动检测。
EXTERNAL:PUBLICHOSTNAME当前机器可从外部访问的公网DNS地址。在部署配置中启用TURNS时需要此参数。
管理控制台默认通过Gateway的:9090/admin访问,可通过任何现代Web浏览器访问。
REST API默认通过Gateway的:9090/admin/api访问。LiveSwitch遵循OData最佳实践。建议使用v2 API进行配置的读写访问。
REST API资源管理器默认通过Gateway的:9090/admin/swagger访问。Swagger允许你通过Web浏览器浏览和交互REST API。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务