这些指南把行业概念对应到平台目前已有的对象(频道包、线路、套餐、分销商账户、节点、API)。它们只是概念上的对应,并非行业专属功能,分销商账户是委托账户,而不是相互隔离的租户。
概念对应
面板里没有任何东西叫节目或支持者。下表说明哪个对象承担哪个角色;下面各章按该顺序进行设置。
| 在您的行业中 | 在平台上 | 在面板中的位置 |
|---|---|---|
| 工作室的频道 | 直播频道:带有信号源、EPG 和输出格式的流 | Streams → 添加直播流(源 URL 或 RTMP 推流) |
| 节目库 | 点播目录:带季和集的电影与剧集、分类和元数据 | Movies 和 Series,或点播入库任务 |
| 订阅档位 | 频道包:由一个套餐授予的、已命名的频道、电影或剧集集合 | Bouquets,由 Streams 和 Movies / Series 组成 |
| 支持者的访问权限 | 线路:一份访问权限,包含其套餐、频道包、到期时间、连接数上限和输出 | Lines → 添加,或激活码,或 Reseller API |
| 计费周期 | 线路的到期日期,通过套餐、积分或 API 续期 | 线路的到期日期和套餐的时长 |
| 联盟推广者或分发商账户 | 分销商账户(reseller):拥有积分、权限和自有线路的委托后台 | Users → 添加分销商;其权限在 Groups 中设置 |
| 商店或会员集成 | Reseller API 与 webhook:从您自己的系统调用面板的各项操作 | 分销商后台中的 Reseller API 密钥和 webhook |
前提条件
安装前需要准备什么。
- 一台带公网地址或域名的服务器(Ubuntu 22.04 或 24.04),以及足以应对预期观众的上行带宽。
- 制作完成的剧集、工作室用于频道的播出系统或编码器,以及一个运行在有连接器的平台上的商店,或者能够调用 HTTP API。
- 关于档位和联盟推广者的决定:每种订阅授予什么,以及谁可以销售它。
基础设施部署
先用一台服务器,随观众增长再增加节点。
- 在管理服务器上运行安装程序,并把面板放在带 TLS 的反向代理之后;设置受信任代理,使 IP 规则能看到观众的真实地址。
- 把播放基础地址设为您的观众访问的公开地址。
- 在支持者较多的区域,通过“服务器”登记一个节点;面板通过 SSH 安装它,并把该区域的观众路由到它。
- 为每位负责目录或支持者的员工创建一个分销商账户(reseller),并配上各自的权限分组。
内容组织
节目是剧集,档位是频道包。
- 按类型创建分类,每个节目一个剧集,每批发布一个季,每个视频一集。
- 为直播频道创建一个频道包,为免费或入门内容创建一个,并为每个更高的档位各创建一个。
- 每个档位创建一个套餐,以计费周期作为时长;如果需要,为新访客添加一个试用套餐,并为联盟推广者设置以积分计的价格。
- 把往期内容放在单独的分类中,这样无需改动剧集就能在档位之间移动它。
分销商配置
联盟推广者和分发商。
- 为联盟推广者创建一个仅含线路权限的分组,使他们无法更改目录。
- 把每位联盟推广者添加为 reseller,使用该分组并赋予积分余额;其套餐价格由工作室决定。
- 拥有下级联盟推广者的分发商可以在自己的账户下创建子 reseller,最多五级。
支持者访问配置
每位支持者一条线路。
- 安装您商店的连接器(例如 WooCommerce),并填入 Reseller API 密钥以及与每个商品对应的套餐。
- 订阅时,连接器用套餐和请求 ID 调用 create_line;计费周期就是套餐的时长。
- 把最大连接数设为支持者可使用的设备数,通常为两三个。
- 对于赠送活动或首发,可批量生成激活码,或通过“线路 → 添加”使用试用套餐添加线路。
节目库
点播剧集。
- 把每一集作为一个源上传,或用 VOD 导入任务导入;填写标题、季、集号,如果节目有 TMDB 元数据也一并填写。
- 把每个剧集关联到可观看它的各档位的频道包。
- 在宣布发布之前,用每个档位的测试线路检查播放。
工作室的频道
全天候的频道。
- 为工作室的播出系统添加一个直播流(RTMP 推流),并把它放入包含该频道的每个档位的频道包中。
- 以 XMLTV 加载频道的节目指南,让支持者看到正在播放什么,并对值得重播的节目启用回看。
- 在两次发布之间,用工作室自己的预排内容保持播出系统运行;面板只转发该流。
订阅到期
访问权限跟随付款。
- 线路在其套餐的期限结束时到期;下一笔付款到账时,商店用 renew_line 为其续期。
- 让商店订阅 webhook:在 line.expiring 时发送提醒,在 line.expired 时为支持者降级。
- 取消订阅的支持者由商店用 disable_line 禁用,之后可以续期同一条线路,无需新账户。
与商店集成
商店负责销售,播放器负责播放。
- 连接器随订单创建、续期和禁用线路;任何其他商店使用 Reseller API 和 webhook。
- 联盟推广者在自己的后台中查看自己的线路,Reseller API 让他们可以自动化这一过程。
- 没有面向观众的单点登录:支持者使用商店发送给他们的线路凭据登录播放器。
安全注意事项
保护订阅,而不仅仅是服务器。
- 通过 TLS 提供面板和播放基础地址,并把 TRUSTED_PROXIES 设为您的反向代理。
- 每个面板账户使用双重验证登录,并设置权限分组,使联盟推广者无法更改目录。
- 播放链接带签名且会过期,每条线路设置连接数限制;如果许可有地域限制,把线路绑定到某个国家。
- 加密的数据库备份并保留异地副本,用审计日志记录线路和目录的每一次变更。
故障排查
常见的首要检查项。
- 新支持者付款后无法观看:在 Reseller API 日志中检查商店连接器的调用,以及线路的到期日期。
- 支持者看到了更高档位的内容:检查该线路的套餐及其授予的频道包。
- 频道在一个播出周期结束时停止:检查编码器向直播流的推送以及该流的探测状态。
- 联盟推广者的销售没有出现:检查它的积分,以及它所用的套餐是否属于它的分组。