
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
LiveSwitch Media Server 是一个媒体服务器,用于接收来自LiveSwitch客户端SDK、liveswitch-connect命令行界面(CLI)的WebRTC兼容流式音频、视频和数据连接,以及通过LiveSwitch SIP Connector连接的电话呼叫,实现媒体流的处理和传输。
首先,设置你的https://hub.docker.com/r/frozenmountain/liveswitch-gateway%E3%80%82
然后,启动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='http://127.0.0.1:8080' \ --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
符合https://github.com/ServiceStack/ServiceStack.Redis#redis-connection-strings%E6%96%87%E6%A1%A3%E7%9A%84PostgreSQL%E8%BF%9E%E6%8E%A5URI%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%AA%E6%8F%90%E4%BE%9B%EF%BC%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B0%86%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%E3%80%82
CONNECTIONSTRINGS:CACHE
与https://github.com/ServiceStack/ServiceStack.Redis#redis-connection-strings%E5%85%BC%E5%AE%B9%E7%9A%84Redis%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%AA%E6%8C%87%E5%AE%9A%EF%BC%8C%E9%BB%98%E8%AE%A4%E5%80%BC%E4%B8%BA%60127.0.0.1%60%E3%80%82
REGION
LiveSwitch 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访问。https://swagger.io/%E5%85%81%E8%AE%B8%E4%BD%A0%E9%80%9A%E8%BF%87Web%E6%B5%8F%E8%A7%88%E5%99%A8%E6%B5%8F%E8%A7%88%E5%92%8C%E4%BA%A4%E4%BA%92REST API。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务