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
Trong panel không có gì gọi là khoá học hay sinh viên. Bảng cho biết đối tượng nào đóng vai trò nào; các chương 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 |
|---|---|---|
| Trung tâm đào tạo hoặc đối tác phân phối | 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 khoá học | 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 |
| Bài giảng ghi hình | 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 |
| Lớp 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) |
| Quyền truy cập sinh 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 |
| Thời hạn truy cập khoá học | 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 |
| Giới hạn phiên đồng thời | Số kết nối tối đa của line: bao nhiêu thiết bị xem cùng lúc | Max connections của line |
| Tích hợp LMS hoặc thương mại | 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
Cần có gì trước khi cài.
- Một máy chủ Linux (Ubuntu 22.04 hoặc 24.04) trong mạng khuôn viên, bộ cài sẽ cài Postgres, Redis và ffmpeg, và một tên miền hoặc địa chỉ nội bộ cho panel và player.
- Bản ghi bạn sẽ xuất bản (tệp hoặc hệ thống ghi hình đẩy được RTMP) và, cho lớp trực tiếp, một encoder ở mỗi phòng sẽ phát.
- Key bản quyền: gói Free không cần; cơ sở đủ điều kiện yêu cầu key Professional miễn phí bằng e-mail từ tên miền học thuật của mình.
Triển khai hạ tầng
Cài máy chủ quản lý, rồi một node mỗi toà nhà.
- Chạy bộ cài trên máy chủ quản lý; nó cài panel, API, worker và máy chủ gốc thành unit systemd và tạo quản trị viên đầu tiên.
- Đặt URL công khai của API (API_PUBLIC_URL) và địa chỉ phát để link player trỏ về địa chỉ khuôn viên.
- Enroll một node từ Servers → add a node cho mỗi toà nhà có giảng đường sẽ xem; panel cài node qua SSH từ gói node.
- Kiểm tra trang Servers: node báo heartbeat và lưu lượng, và người xem ở toà đó được điều hướng tới nó.
Tổ chức nội dung
Khoá học là series, chương trình là bouquet và gói.
- Tạo một danh mục mỗi khoa hoặc môn trong Movies / Series.
- Thêm mỗi khoá học là một series: mỗi học phần một mùa, mỗi bài một tập, bản ghi là nguồn (tải lên hoặc job ingest VOD).
- Tạo một bouquet mỗi bộ sưu tập khoá học (ví dụ các khoá của một chương trình trong một học kỳ) từ các series đã thêm.
- Tạo một gói mỗi chương trình: bouquet nó cấp, thời hạn truy cập làm thời lượng, và giới hạn phiên đồng thời.
Cấu hình đối tác (reseller)
Trung tâm đào tạo hoặc khoa như tài khoản uỷ quyền.
- Tạo một nhóm với quyền trung tâm cần (line của riêng mình, không đổi danh mục) trong Groups.
- Thêm trung tâm là reseller trong Users với nhóm đó, số dư credit và các gói được phát.
- Giao địa chỉ dashboard; trung tâm quản lý sinh viên của mình từ đó, panel giữ nhật ký audit.
Cấu hình quyền truy cập của sinh viên
Một line mỗi sinh viên, tạo khi ghi danh.
- Với lớp nhỏ, thêm line từ Lines → add với gói của chương trình; hạn theo thời lượng gói.
- Cho ngày ghi danh, tạo mã kích hoạt cho gói; sinh viên nhập mã trong player và nhận line.
- Với hệ thống sinh viên hoặc LMS, tạo Reseller API key và để hệ thống tạo line bằng action=create_line với một request id mỗi sinh viên.
- Đặt max connections bằng số thiết bị sinh viên được dùng cùng lúc; player từ chối kết nối vượt quá.
Thiết lập VOD
Bài giảng ghi hình theo yêu cầu.
- Tải lên mỗi bản ghi làm nguồn của tập, hoặc trỏ job ingest VOD vào tệp để worker tải về và mã hoá vào kho media.
- Điền metadata (tiêu đề, mô tả, poster) bằng tay hoặc từ TMDB cho tài liệu công cộng; bài giảng thường chỉ cần tiêu đề và mô tả.
- Kiểm tra phát trong web player với line thử; link có ký và hết hạn sau thời gian đã cấu hình.
Phát lớp học trực tiếp
Buổi giảng như kênh trực tiếp.
- Thêm live stream trong Streams với encoder của phòng làm nguồn (địa chỉ RTMP push hoặc URL pull).
- Đưa stream vào bouquet của khoá học để chỉ sinh viên ghi danh thấy; thêm vào EPG nếu có thời khoá biểu.
- Bật xem lại hoặc timeshift trên stream khi sinh viên được xem sau; bản ghi cũng có thể tải lên làm tập.
Đăng ký và hết hạn truy cập
Quyền truy cập kết thúc cùng khoá học.
- Đặt thời hạn truy cập làm thời lượng gói; line tạo từ gói hết hạn cuối thời hạn đó.
- Gia hạn line cho học kỳ mới từ panel, bằng credit của trung tâm, hoặc qua API với action=renew_line.
- Đăng ký webhook cho hệ thống của bạn: nó được báo khi line sắp hết hạn, đã hết hạn hay bị tắt.
Tích hợp với LMS bên ngoài
LMS điều khiển quyền truy cập; player phát.
- Tạo Reseller API key cho LMS; giữ trong kho bí mật của LMS, không bao giờ trong trang web.
- Khi ghi danh LMS gọi action=create_line với gói của chương trình và request id; khi rút action=disable_line.
- Dẫn từ trang khoá học của LMS tới web player hoặc đưa sinh viên thông tin player; không có đăng nhập một lần giữa hai bên.
Lưu ý về bảo mật
Giữ dịch vụ trong cơ sở.
- Bật đăng nhập hai lớp cho mọi tài khoản panel và cho nhân viên nhóm quyền nhỏ nhất đủ dùng.
- Giữ dữ liệu cá nhân sinh viên trong hệ thống sinh viên; line chỉ cần tên và hạn.
- Giữ max connections thấp và cân nhắc gắn phát với địa chỉ người xem để chống chia sẻ.
- Bật sao lưu cơ sở dữ liệu mã hoá và, nếu có kho tương thích S3, bản sao ngoài site.
Xử lý sự cố
Những kiểm tra đầu tiên thường gặp.
- Sinh viên không đăng nhập được: kiểm tra hạn của line và line đang bật, rồi gói và bouquet của khoá học.
- Bản ghi không phát: kiểm tra kết quả job ingest ở trang Jobs, rồi tệp trong kho media và hạn của link ký.
- Người xem của một toà vào máy chủ gốc: kiểm tra heartbeat của node và địa chỉ người xem nằm trong phạm vi điều hướng của node.
- API từ chối: kiểm tra key, phương thức của action (ghi là POST) và request id của lần gọi lại.