首页
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. 制作完成的剧集、工作室用于频道的播出系统或编码器,以及一个运行在有连接器的平台上的商店,或者能够调用 HTTP API。
  3. 关于档位和联盟推广者的决定:每种订阅授予什么,以及谁可以销售它。

基础设施部署

先用一台服务器,随观众增长再增加节点。

  1. 在管理服务器上运行安装程序,并把面板放在带 TLS 的反向代理之后;设置受信任代理,使 IP 规则能看到观众的真实地址。
  2. 把播放基础地址设为您的观众访问的公开地址。
  3. 在支持者较多的区域,通过“服务器”登记一个节点;面板通过 SSH 安装它,并把该区域的观众路由到它。
  4. 为每位负责目录或支持者的员工创建一个分销商账户(reseller),并配上各自的权限分组。

内容组织

节目是剧集,档位是频道包。

  1. 按类型创建分类,每个节目一个剧集,每批发布一个季,每个视频一集。
  2. 为直播频道创建一个频道包,为免费或入门内容创建一个,并为每个更高的档位各创建一个。
  3. 每个档位创建一个套餐,以计费周期作为时长;如果需要,为新访客添加一个试用套餐,并为联盟推广者设置以积分计的价格。
  4. 把往期内容放在单独的分类中,这样无需改动剧集就能在档位之间移动它。

分销商配置

联盟推广者和分发商。

  1. 为联盟推广者创建一个仅含线路权限的分组,使他们无法更改目录。
  2. 把每位联盟推广者添加为 reseller,使用该分组并赋予积分余额;其套餐价格由工作室决定。
  3. 拥有下级联盟推广者的分发商可以在自己的账户下创建子 reseller,最多五级。

支持者访问配置

每位支持者一条线路。

  1. 安装您商店的连接器(例如 WooCommerce),并填入 Reseller API 密钥以及与每个商品对应的套餐。
  2. 订阅时,连接器用套餐和请求 ID 调用 create_line;计费周期就是套餐的时长。
  3. 把最大连接数设为支持者可使用的设备数,通常为两三个。
  4. 对于赠送活动或首发,可批量生成激活码,或通过“线路 → 添加”使用试用套餐添加线路。

节目库

点播剧集。

  1. 把每一集作为一个源上传,或用 VOD 导入任务导入;填写标题、季、集号,如果节目有 TMDB 元数据也一并填写。
  2. 把每个剧集关联到可观看它的各档位的频道包。
  3. 在宣布发布之前,用每个档位的测试线路检查播放。

工作室的频道

全天候的频道。

  1. 为工作室的播出系统添加一个直播流(RTMP 推流),并把它放入包含该频道的每个档位的频道包中。
  2. 以 XMLTV 加载频道的节目指南,让支持者看到正在播放什么,并对值得重播的节目启用回看。
  3. 在两次发布之间,用工作室自己的预排内容保持播出系统运行;面板只转发该流。

订阅到期

访问权限跟随付款。

  1. 线路在其套餐的期限结束时到期;下一笔付款到账时,商店用 renew_line 为其续期。
  2. 让商店订阅 webhook:在 line.expiring 时发送提醒,在 line.expired 时为支持者降级。
  3. 取消订阅的支持者由商店用 disable_line 禁用,之后可以续期同一条线路,无需新账户。

与商店集成

商店负责销售,播放器负责播放。

  1. 连接器随订单创建、续期和禁用线路;任何其他商店使用 Reseller API 和 webhook。
  2. 联盟推广者在自己的后台中查看自己的线路,Reseller API 让他们可以自动化这一过程。
  3. 没有面向观众的单点登录:支持者使用商店发送给他们的线路凭据登录播放器。

安全注意事项

保护订阅,而不仅仅是服务器。

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

故障排查

常见的首要检查项。

  1. 新支持者付款后无法观看:在 Reseller API 日志中检查商店连接器的调用,以及线路的到期日期。
  2. 支持者看到了更高档位的内容:检查该线路的套餐及其授予的频道包。
  3. 频道在一个播出周期结束时停止:检查编码器向直播流的推送以及该流的探测状态。
  4. 联盟推广者的销售没有出现:检查它的积分,以及它所用的套餐是否属于它的分组。