这些指南把行业概念对应到平台目前已有的对象(频道包、线路、套餐、分销商账户、节点、API)。它们只是概念上的对应,并非行业专属功能,分销商账户是委托账户,而不是相互隔离的租户。
概念对应
面板里没有任何东西叫院系、学期或学生。下表说明哪个对象承担哪个角色;下面各章按该顺序进行设置。
| 在您的行业中 | 在平台上 | 在面板中的位置 |
|---|---|---|
| 院系或部门账户 | 分销商账户(reseller):拥有积分、权限和自有线路的委托后台 | Users → 添加分销商;其权限在 Groups 中设置 |
| 院系专藏或校园频道组合 | 频道包:由一个套餐授予的、已命名的频道、电影或剧集集合 | Bouquets,由 Streams 和 Movies / Series 组成 |
| 校园频道或现场活动 | 直播频道:带有信号源、EPG 和输出格式的流 | Streams → 添加直播流(源 URL 或 RTMP 推流) |
| 讲座存档 | 点播目录:带季和集的电影与剧集、分类和元数据 | Movies 和 Series,或点播入库任务 |
| 学生或员工的访问权限 | 线路:一份访问权限,包含其套餐、频道包、到期时间、连接数上限和输出 | Lines → 添加,或激活码,或 Reseller API |
| 学期或注册期结束 | 线路的到期日期,通过套餐、积分或 API 续期 | 线路的到期日期和套餐的时长 |
| 校区或学生公寓节点 | 流媒体节点:从面板登记的边缘服务器,每个场地或每栋楼一个 | Servers → 添加节点,通过 SSH 安装 |
| 学生信息系统集成 | Reseller API 与 webhook:从您自己的系统调用面板的各项操作 | 分销商后台中的 Reseller API 密钥和 webhook |
前提条件
安装前需要准备什么。
- 主校区的一台服务器(Ubuntu 22.04 或 24.04),其他校区和学生公寓可以访问它;还需要安装程序,以及反向代理之后的一个内部地址或域名。
- 校园频道信号和讲座录像(或讲座录播系统的导出),以及学生信息系统调用 HTTP API 的能力。
- 关于结构的决定:哪些院系获得分销商账户、讲座系列如何命名,以及学期套餐持续多久。
基础设施部署
先部署主校区,再部署其他站点。
- 在主校区服务器上运行安装程序;把面板放在大学的反向代理之后,并设置受信任代理,使日志和 IP 规则能看到真实地址。
- 把播放基础地址设为学生在校园和学生公寓内可以访问的地址。
- 在“服务器”中为每个校区和每栋学生公寓登记一个节点;面板通过 SSH 安装它,并把该站点的观众路由到它。
- 在服务器上设置许可证密钥;使用学术域名的机构可以通过电子邮件申请教育计划的免费 Professional 密钥。
内容组织
院系专藏和校园频道组合。
- 按院系和学科创建分类,每门课程一个剧集,每个学期一个季,每节讲座一集。
- 每个院系专藏创建一个频道包,校园频道一个,入学介绍视频等通用资料一个。
- 为学生和教职工创建套餐:各自需要的频道包,以学期作为时长,这样除非续期,访问权限会随学期结束。
- 为开放日或来访学生创建一个较短的试用套餐。
分销商配置
院系作为委托账户。
- 创建一个拥有线路权限和本院系目录权限、不能访问设置的分组。
- 把每个院系或部门添加为分销商账户(reseller),使用该分组及其套餐;子 reseller 可以对应院系内的各个部门。
- 院系只能查看和管理自己的线路;中心团队保留全局视图。它是委托账户,而不是隔离的安装。
学生访问配置
每位学生一条线路,来自 SIS。
- 为学生信息系统创建一个 Reseller API 密钥,并保存在该系统的机密信息中。
- 注册时,SIS 用学生的套餐和请求 ID 调用 action=create_line;套餐的时长(一个学期)就是访问期限。
- 把最大连接数设为学生可同时使用的设备数(通常为两个:手机和笔记本电脑)。
- 对于教职工和试点,通过“线路 → 添加”添加线路并发放凭据。
讲座存档
点播录像。
- 把每个录像作为一集的源上传,或用 VOD 导入任务导入;保留课程标题和简短说明。
- 把剧集关联到该院系的频道包,这样只有套餐授予它的学生才能看到这门课程。
- 用每个套餐的测试线路检查播放,确认谁能看到什么。
校园频道和现场活动
校园的直播频道。
- 在“流”下把校园频道信号添加为直播流,并添加一个 EPG 源用于节目指南。
- 为每个报告厅或活动添加一个直播流,由报告厅的编码器通过 RTMP 供流,并启用回看,使迟到的观众可以回退。
- 把每个频道放入合适的频道包;学生公寓的节点从源站只拉取一次,并为学生就近提供服务。
到期与续期
学期就是线路的有效期。
- 线路在其套餐的期限结束时到期;重新注册时,SIS 调用 action=renew_line,增加一个周期。
- 学生退学或毕业时,SIS 调用 action=disable_line。
- 让 SIS 订阅 webhook,以将即将到期和已到期的线路与其记录核对。
与学生信息系统集成
由 SIS 驱动访问,由播放器负责播放。
- SIS 凭密钥和请求 ID,通过 Reseller API 创建、续期、启用和禁用线路。
- 没有面向观众的单点登录,也没有原生的 LMS 或 SIS 集成:学生使用线路的凭据登录播放器,LMS 中的课程页面可以链接到网页播放器。
- 为内部报表工具使用带只读标志、IP 白名单和到期日期的 Admin API 密钥。
安全注意事项
让访问权限只属于学生和教职工。
- 让平台留在校园网络内,或放在带 TLS 的反向代理之后;把 TRUSTED_PROXIES 设为该代理。
- 每个面板账户使用双重验证登录,并按角色设置权限分组,使院系看不到其他院系的线路。
- 播放链接带签名且会过期,每条线路设置连接数限制,在有帮助时绑定国家或地址。
- 加密的数据库备份并保留异地副本,用审计日志记录线路和目录的每一次变更。
故障排查
常见的首要检查项。
- 学生看不到讲座:检查线路的到期时间,然后检查套餐及其授予的频道包。
- 新学生没有访问权限:在 Reseller API 调用日志中检查 SIS 的调用是否成功,以及请求 ID 是否是新的。
- 某栋学生公寓在晚间卡顿:检查其节点的心跳以及观众是否已路由到它。
- 审计日志显示的是代理的地址:把 TRUSTED_PROXIES 设为该代理并重启面板。