Các hướng dẫn này ánh xạ khái niệm của ngành lên đối tượng nền tảng đang có (bouquet, line, gói, tài khoản đối tác, node, API). Đây là ánh xạ khái niệm, không phải tính năng riêng của ngành, và tài khoản đối tác là tài khoản uỷ quyền, không phải tenant tách biệt.
Ánh xạ khái niệm
Không có gì trong panel được gọi là khoa, học kỳ hay sinh viên. Bảng cho biết đối tượng nào đóng vai trò nào; các chương bên dưới thiết lập chúng theo thứ tự đó.
| Trong ngành của bạn | Trên nền tảng | Ở đâu trong panel |
|---|---|---|
| Tài khoản khoa hoặc bộ môn | Tài khoản đối tác (reseller): dashboard uỷ quyền có credit, quyền hạn và line riêng | Users → thêm reseller; Groups cho quyền hạn |
| Bộ sưu tập của khoa hoặc danh sách kênh khuôn viên | Bouquet: một tập kênh, phim hay series có tên mà một gói cấp quyền | Bouquets, từ Streams và Movies / Series |
| Kênh khuôn viên hoặc sự kiện trực tiếp | Kênh trực tiếp: một luồng với nguồn, EPG và định dạng đầu ra | Streams → thêm live stream (URL nguồn hoặc RTMP push) |
| Kho bài giảng | Danh mục VOD: phim và series có mùa và tập, danh mục và metadata | Movies và Series, hoặc job ingest VOD |
| Quyền truy cập của sinh viên hoặc nhân viên | Line: một quyền truy cập với gói, bouquet, hạn, giới hạn kết nối và đầu ra | Lines → thêm, hoặc mã kích hoạt, hoặc Reseller API |
| Cuối học kỳ hoặc cuối đăng ký | Ngày hết hạn của line, gia hạn bằng gói, credit hay API | Ngày hết hạn của line và thời lượng của gói |
| Node của cơ sở hoặc ký túc xá | Node phát video: máy chủ biên enroll từ panel, một node mỗi cơ sở hay toà nhà | Servers → thêm node, cài qua SSH |
| Tích hợp hệ thống thông tin sinh viên | Reseller API và webhook: các thao tác của panel từ hệ thống của bạn | Reseller API key và webhook trong dashboard của reseller |
Điều kiện tiên quyết
Những thứ cần có trước khi cài đặt.
- Một máy chủ ở cơ sở chính (Ubuntu 22.04 hoặc 24.04) truy cập được từ các cơ sở khác và ký túc xá, bộ cài, và một địa chỉ nội bộ hoặc tên miền sau reverse proxy của bạn.
- Các luồng kênh khuôn viên và bản ghi bài giảng (hoặc dữ liệu xuất từ hệ thống thu bài giảng), và khả năng gọi API HTTP của hệ thống thông tin sinh viên.
- Quyết định về cơ cấu: khoa nào được cấp tài khoản đối tác, cách đặt tên các series bài giảng, và một gói học kỳ kéo dài bao lâu.
Triển khai hạ tầng
Cơ sở chính trước, sau đó là các địa điểm khác.
- Chạy bộ cài trên máy chủ cơ sở chính; đặt panel sau reverse proxy của trường và đặt trusted proxies để log và quy tắc IP thấy địa chỉ thật.
- Đặt địa chỉ gốc phát thành địa chỉ mà sinh viên truy cập từ khuôn viên và ký túc xá.
- Đăng ký một node cho mỗi cơ sở và mỗi ký túc xá từ Servers; panel cài nó qua SSH và định tuyến người xem của địa điểm đó tới node.
- Đặt khoá license trên máy chủ; một cơ sở có tên miền học thuật có thể yêu cầu khoá Professional miễn phí của chương trình giáo dục qua email.
Tổ chức nội dung
Bộ sưu tập của khoa và danh sách kênh khuôn viên.
- Tạo danh mục theo khoa và môn học, và một series cho mỗi khoá học với một mùa cho mỗi học kỳ và một tập cho mỗi bài giảng.
- Tạo một bouquet cho mỗi bộ sưu tập của khoa, một cho các kênh khuôn viên, và một cho tài liệu chung như video định hướng.
- Tạo các gói cho sinh viên và nhân viên: các bouquet mỗi nhóm cần, với học kỳ làm thời hạn, để quyền truy cập kết thúc cùng học kỳ trừ khi được gia hạn.
- Tạo một gói dùng thử ngắn cho ngày hội tuyển sinh hoặc sinh viên đến thăm.
Cấu hình đối tác (reseller)
Các khoa là tài khoản được uỷ quyền.
- Tạo một nhóm có quyền về line và danh mục riêng của khoa, không truy cập cài đặt.
- Thêm từng khoa hoặc bộ môn làm tài khoản đối tác (reseller) với nhóm đó và các gói của nó; sub-reseller có thể phản ánh các bộ môn trong một khoa.
- Một khoa chỉ thấy và quản lý line của chính mình; đội trung tâm giữ toàn bộ góc nhìn. Đó là tài khoản được uỷ quyền, không phải một bản cài đặt biệt lập.
Cấu hình quyền truy cập của sinh viên
Một line cho mỗi sinh viên, từ SIS.
- Tạo khoá Reseller API cho hệ thống thông tin sinh viên và giữ trong phần bí mật của hệ thống đó.
- Khi nhập học, SIS gọi action=create_line với gói của sinh viên và một request id; thời hạn của gói, tức học kỳ, là thời gian truy cập.
- Đặt số kết nối tối đa bằng số thiết bị một sinh viên được dùng cùng lúc (thường là hai: điện thoại và laptop).
- Với nhân viên và đợt thử nghiệm, thêm line từ Lines → add và gửi thông tin đăng nhập.
Kho bài giảng
Bản ghi theo yêu cầu.
- Tải từng bản ghi lên làm nguồn của một tập hoặc nạp bằng tác vụ VOD ingest; giữ tên khoá học và mô tả ngắn.
- Gắn series vào bouquet của khoa, để chỉ sinh viên có gói cấp quyền mới thấy khoá học.
- Kiểm tra phát bằng một line thử của từng gói để xác nhận ai thấy gì.
Kênh khuôn viên và sự kiện trực tiếp
Kênh trực tiếp cho khuôn viên.
- Thêm các luồng kênh khuôn viên dưới dạng luồng trực tiếp trong Streams và một nguồn EPG cho lịch chương trình.
- Thêm một luồng trực tiếp cho mỗi giảng đường hoặc sự kiện, do bộ mã hoá của hội trường cấp qua RTMP, và bật catch-up để người xem vào muộn có thể tua lại.
- Đặt mỗi kênh vào đúng bouquet; các node ở ký túc xá lấy nó một lần từ origin và phục vụ sinh viên tại chỗ.
Hết hạn và gia hạn
Học kỳ là hiệu lực của line.
- Một line hết hạn vào cuối thời hạn của gói; khi đăng ký lại, SIS gọi action=renew_line và một kỳ nữa được cộng thêm.
- Khi sinh viên thôi học hoặc tốt nghiệp, SIS gọi action=disable_line.
- Đăng ký SIS vào các webhook để đối soát các line sắp hết hạn và đã hết hạn với số liệu của mình.
Tích hợp với hệ thống thông tin sinh viên
SIS điều khiển quyền truy cập; player phát.
- SIS tạo, gia hạn, bật và vô hiệu hoá line qua Reseller API với một khoá và request id.
- Không có đăng nhập một lần cho người xem và không có tích hợp gốc với LMS hay SIS: sinh viên đăng nhập vào player bằng thông tin của line, và trang khoá học trong LMS có thể liên kết tới web player.
- Dùng khoá Admin API có cờ chỉ đọc, danh sách IP cho phép và ngày hết hạn cho các công cụ báo cáo nội bộ.
Lưu ý về bảo mật
Giữ quyền truy cập cho sinh viên và nhân viên.
- Giữ nền tảng trong mạng khuôn viên hoặc sau reverse proxy có TLS; đặt TRUSTED_PROXIES thành proxy.
- Đăng nhập hai lớp cho mọi tài khoản panel và một nhóm quyền cho mỗi vai trò, để một khoa không thấy line của khoa khác.
- Liên kết phát được ký và có hạn, giới hạn kết nối trên mỗi line, và gắn với quốc gia hoặc địa chỉ khi có ích.
- Sao lưu cơ sở dữ liệu mã hoá kèm bản sao ngoài site, và nhật ký kiểm toán cho mọi thay đổi của line và danh mục.
Xử lý sự cố
Những kiểm tra đầu tiên thường gặp.
- Một sinh viên không thấy bài giảng: kiểm tra hạn của line, sau đó kiểm tra gói và các bouquet nó cấp.
- Một sinh viên mới chưa có quyền truy cập: kiểm tra lệnh gọi của SIS có thành công trong log Reseller API không và request id có phải là mới không.
- Một ký túc xá bị giật vào buổi tối: kiểm tra heartbeat của node và người xem có được định tuyến tới nó không.
- Nhật ký kiểm toán hiện địa chỉ của proxy: đặt TRUSTED_PROXIES thành proxy và khởi động lại panel.