首页
XtreamUIPro

部署指南

体育俱乐部与学院部署指南

把平台配置为俱乐部或学院的视频服务:比赛和训练信号、按梯队划分的分析资料库,以及随赛季变化的会员和家人访问权限。

这些指南把行业概念对应到平台目前已有的对象(频道包、线路、套餐、分销商账户、节点、API)。它们只是概念上的对应,并非行业专属功能,分销商账户是委托账户,而不是相互隔离的租户。

概念对应

面板里没有任何东西叫梯队或会员。下表说明哪个对象承担哪个角色;下面各章按该顺序进行设置。

在您的行业中在平台上在面板中的位置
比赛或训练信号直播频道:带有信号源、EPG 和输出格式的流Streams → 添加直播流(源 URL 或 RTMP 推流)
分析和回放资料库点播目录:带季和集的电影与剧集、分类和元数据Movies 和 Series,或点播入库任务
梯队或赛事套餐频道包:由一个套餐授予的、已命名的频道、电影或剧集集合Bouquets,由 Streams 和 Movies / Series 组成
会员或家人的访问权限线路:一份访问权限,包含其套餐、频道包、到期时间、连接数上限和输出Lines → 添加,或激活码,或 Reseller API
赛季或会员期限线路的到期日期,通过套餐、积分或 API 续期线路的到期日期和套餐的时长
球队或学院员工账户分销商账户(reseller):拥有积分、权限和自有线路的委托后台Users → 添加分销商;其权限在 Groups 中设置
商店或俱乐部管理集成Reseller API 与 webhook:从您自己的系统调用面板的各项操作分销商后台中的 Reseller API 密钥和 webhook

前提条件

安装前需要准备什么。

  1. 一台带公网地址或域名的服务器(Ubuntu 22.04 或 24.04),以及足以应对您计划直播的比赛的上行带宽。
  2. 球场上能推送 RTMP 的摄像机和编码器,以及教练已经保存的训练和分析录制文件。
  3. 关于谁能看到什么的决定:哪些梯队共享资料、哪些比赛仅限会员,以及哪些员工获得面板账户。

基础设施部署

先部署学院,比赛日需要时再增加节点。

  1. 在学院服务器上运行安装程序,并把面板放在带 TLS 的反向代理之后;设置受信任代理,使日志和 IP 规则能看到观众的真实地址。
  2. 把播放基础地址设为观众访问的公开地址,使面板发出的链接在家里也能使用。
  3. 如果许多家庭观看同一场比赛,在“服务器”中登记一个节点;面板通过 SSH 安装它,并由它向外分发直播频道。
  4. 为教练组创建一个拥有目录权限、没有会员线路权限的分销商账户(reseller)。

内容组织

梯队和赛季是分类,访问权限是频道包。

  1. 按年龄组和赛季创建分类,为各项赛事创建剧集,每场比赛一集。
  2. 每个梯队的分析资料创建一个频道包,比赛直播频道一个,整个学院一个。
  3. 每种会员资格创建一个套餐:它授予的频道包,以赛季作为时长;如果由员工销售,再设置以积分计的价格。
  4. 用梯队或赛事的名称来命名频道包,让员工知道该给一个家庭哪个套餐。

分销商配置

如果俱乐部有此需要,让员工管理各自的会员。

  1. 为教练创建一个拥有目录权限的分组,为会员秘书创建一个拥有线路权限的分组。
  2. 把他们各自添加为 reseller,使用对应的分组;只有通过面板销售会员资格时,才给秘书积分。
  3. 拥有自己会员的分院或球迷俱乐部,获得自己的分销商账户和自己的套餐。

会员和家人访问配置

每位会员或每个家庭一条线路。

  1. 为商店或俱乐部管理系统创建一个 Reseller API 密钥,并保存在该系统的机密信息中。
  2. 报名时,系统用会员资格的套餐和请求 ID 调用 action=create_line;赛季就是套餐的时长。
  3. 把最大连接数设为一个家庭所需的设备数(通常三四个),这样一份会员资格就不会被共享到家庭之外。
  4. 对于试用比赛日,通过“线路 → 添加”使用试用套餐添加线路,或为看台上的支持者打印激活码。

分析和回放资料库

点播比赛和训练。

  1. 把每场比赛或训练作为一集的源上传,或用 VOD 导入任务导入;在标题中保留日期、对手和梯队。
  2. 通过剧集把录像关联到该梯队的频道包,这样只有该梯队的线路能看到它。
  3. 用每种会员资格的测试线路检查播放,确认谁能看到什么。

比赛和训练信号

把球场摄像机变成直播频道。

  1. 为球场上的每台编码器添加一个直播流(RTMP 推流),并放入比赛日频道包。
  2. 启用回看,使迟到的家庭可以回退,并在终场哨响后把录像加入资料库。
  3. 比赛日繁忙时,检查节点是否从源站只拉取一次该频道,并为路由到它的观众提供服务。

会员资格到期

访问权限跟随赛季。

  1. 线路在其套餐的期限结束时到期;下一赛季的费用付清时,商店用 action=renew_line 为其续期。
  2. 让商店订阅 webhook:在 line.expiring 时发送提醒,在 line.expired 时结束会员资格。
  3. 赛季中途离队的球员,由商店用 action=disable_line 禁用;该线路会保留以备查。

与商店或俱乐部软件集成

由系统驱动访问,由播放器负责播放。

  1. 在商店一侧安装您的电商平台(WooCommerce、Shopify 等)的连接器,使购买创建线路、付款续期线路。
  2. 俱乐部管理或票务系统通过 Reseller API 和 webhook 接入;没有针对它的原生连接器。
  3. 没有面向观众的单点登录:会员使用商店发送给他们的线路凭据登录播放器。

安全注意事项

梯队资料只留在梯队内部。

  1. 通过 TLS 提供面板和播放基础地址,并把 TRUSTED_PROXIES 设为您的反向代理。
  2. 每个面板账户使用双重验证登录,并设置权限分组,使秘书无法更改目录,教练看不到线路。
  3. 播放链接带签名且会过期,每条线路设置连接数限制,员工线路绑定 IP 或国家。
  4. 加密的数据库备份并保留异地副本,用审计日志记录线路和目录的每一次变更。

故障排查

常见的首要检查项。

  1. 家长看到了一线队的分析:检查线路的套餐及其授予的频道包。
  2. 新会员付款后没有访问权限:检查商店请求在 Reseller API 调用日志中的记录以及线路的到期日期。
  3. 比赛信号在开球时卡顿:检查球场上编码器的上传,如果有节点为观众服务,再检查该节点的心跳。
  4. 审计日志显示的是代理的地址:把 TRUSTED_PROXIES 设为该代理并重启面板。