Αυτοί οι οδηγοί αντιστοιχίζουν τις έννοιες ενός κλάδου στα αντικείμενα που έχει σήμερα η πλατφόρμα (bouquets, lines, πακέτα, λογαριασμοί διανομέων, κόμβοι, το API). Είναι εννοιολογικές αντιστοιχίσεις, όχι λειτουργίες ειδικές για κλάδο, και ο λογαριασμός διανομέα είναι ανατεθειμένος λογαριασμός, όχι απομονωμένος tenant.
Εννοιολογική αντιστοίχιση
Τίποτα στον πίνακα δεν λέγεται μάθημα ή φοιτητής. Ο πίνακας δείχνει ποιο αντικείμενο παίζει ποιον ρόλο· τα κεφάλαια παρακάτω τα στήνουν με αυτή τη σειρά.
| Στον κλάδο σας | Στην πλατφόρμα | Πού στον πίνακα |
|---|---|---|
| Κέντρο κατάρτισης ή διανομέας | Λογαριασμός μεταπωλητή: ανατεθειμένος πίνακας με credits, δικαιώματα και δικά του lines | Users → προσθήκη μεταπωλητή· Groups για τα δικαιώματά του |
| Συλλογή μαθημάτων | Bouquet: ονομασμένο σύνολο καναλιών, ταινιών ή σειρών που παραχωρεί ένα πακέτο | Bouquets, από Streams και Movies / Series |
| Καταγεγραμμένα μαθήματα | Κατάλογος VOD: ταινίες και σειρές με σεζόν και επεισόδια, κατηγορίες και μεταδεδομένα | Movies και Series, ή η εργασία VOD ingest |
| Ζωντανό μάθημα | Ζωντανό κανάλι: ένα stream με τις πηγές, το EPG και τις μορφές εξόδου του | Streams → προσθήκη ζωντανού stream (URL πηγής ή αποστολή RTMP) |
| Πρόσβαση φοιτητή | Line: μία πρόσβαση με το πακέτο, τα bouquets, τη λήξη, το όριο συνδέσεων και τις εξόδους της | Lines → προσθήκη, ή κωδικοί ενεργοποίησης, ή το Reseller API |
| Περίοδος πρόσβασης στο μάθημα | Ημερομηνία λήξης του line, που ανανεώνεται με πακέτο, credit ή το API | Η ημερομηνία λήξης του line και η διάρκεια του πακέτου |
| Όριο ταυτόχρονων συνεδριών | Μέγιστες συνδέσεις του line: πόσες συσκευές μπορούν να παρακολουθούν ταυτόχρονα | Οι μέγιστες συνδέσεις του line |
| Ενσωμάτωση LMS ή εμπορίου | Reseller API και webhooks: οι λειτουργίες του πίνακα από το δικό σας σύστημα | Κλειδιά Reseller API και webhooks στον πίνακα του μεταπωλητή |
Προαπαιτούμενα
Τι να έχετε πριν από την εγκατάσταση.
- Ένας διακομιστής Linux (Ubuntu 22.04 ή 24.04) στο δίκτυο του campus με Postgres, Redis και ffmpeg που εγκαθιστά το πρόγραμμα εγκατάστασης, και ένα domain ή εσωτερική διεύθυνση για τον πίνακα και τον player.
- Οι εγγραφές που θα δημοσιεύσετε (αρχεία ή σύστημα καταγραφής που μπορεί να στέλνει RTMP) και, για ζωντανά μαθήματα, ένας encoder σε κάθε αίθουσα που θα μεταδίδει.
- Ένα κλειδί άδειας: το πακέτο Free δεν χρειάζεται κανένα· τα ιδρύματα που πληρούν τις προϋποθέσεις ζητούν το δωρεάν κλειδί Professional με email από το ακαδημαϊκό τους domain.
Εγκατάσταση υποδομής
Εγκαταστήστε τον διακομιστή διαχείρισης και έπειτα έναν κόμβο ανά κτίριο.
- Τρέξτε το πρόγραμμα εγκατάστασης στον διακομιστή διαχείρισης· εγκαθιστά τον πίνακα, το API, τον worker και την προέλευση ως μονάδες systemd και δημιουργεί τον πρώτο διαχειριστή.
- Ορίστε το δημόσιο URL του API (API_PUBLIC_URL) και τη βάση αναπαραγωγής, ώστε οι σύνδεσμοι του player να δείχνουν στη διεύθυνση του campus.
- Εγγράψτε έναν κόμβο από Servers → προσθήκη κόμβου για κάθε κτίριο του οποίου οι αίθουσες θα παρακολουθούν· ο πίνακας τον εγκαθιστά μέσω SSH από το πακέτο κόμβου.
- Ελέγξτε τη σελίδα Servers: ο κόμβος αναφέρει heartbeat και κίνηση, και οι θεατές αυτού του κτιρίου δρομολογούνται σε αυτόν.
Οργάνωση περιεχομένου
Τα μαθήματα ως σειρές, τα προγράμματα σπουδών ως bouquets και πακέτα.
- Δημιουργήστε μία κατηγορία ανά σχολή ή αντικείμενο στα Movies / Series.
- Προσθέστε κάθε μάθημα ως σειρά: μία σεζόν ανά ενότητα, ένα επεισόδιο ανά διάλεξη, με την εγγραφή ως πηγή (μεταφόρτωση ή η εργασία VOD ingest).
- Δημιουργήστε ένα bouquet ανά συλλογή μαθημάτων (για παράδειγμα τα μαθήματα ενός προγράμματος για ένα εξάμηνο) από τις σειρές που προσθέσατε.
- Δημιουργήστε ένα πακέτο ανά πρόγραμμα σπουδών: τα bouquets που παραχωρεί, την περίοδο πρόσβασης ως διάρκεια και το όριο ταυτόχρονων συνεδριών.
Ρύθμιση συνεργατών (reseller)
Ένα κέντρο κατάρτισης ή μια σχολή ως ανατεθειμένος λογαριασμός.
- Δημιουργήστε στα Groups μια ομάδα με τα δικαιώματα που χρειάζεται το κέντρο (δικά του lines, χωρίς αλλαγές στον κατάλογο).
- Προσθέστε το κέντρο ως reseller στα Users με αυτή την ομάδα, υπόλοιπο credits και τα πακέτα που μπορεί να μοιράσει.
- Δώστε του τη διεύθυνση του πίνακα· διαχειρίζεται από εκεί τους δικούς του φοιτητές και ο πίνακας κρατά το αρχείο ελέγχου.
Ρύθμιση πρόσβασης φοιτητών
Ένα line ανά φοιτητή, που δημιουργείται κατά την εγγραφή.
- Για μικρές ομάδες, προσθέστε lines από Lines → προσθήκη με το πακέτο του προγράμματος σπουδών· η λήξη ακολουθεί τη διάρκεια του πακέτου.
- Για την ημέρα εγγραφής, δημιουργήστε κωδικούς ενεργοποίησης για το πακέτο· ο φοιτητής εξαργυρώνει έναν κωδικό στον player και παίρνει ένα line.
- Για σύστημα φοιτητών ή LMS, δημιουργήστε ένα κλειδί Reseller API και αφήστε το σύστημα να δημιουργεί lines με action=create_line και ένα αναγνωριστικό αιτήματος ανά φοιτητή.
- Ορίστε τις μέγιστες συνδέσεις στον αριθμό συσκευών που μπορεί να χρησιμοποιεί ταυτόχρονα ένας φοιτητής· ο player αρνείται την επόμενη σύνδεση πέρα από αυτόν.
Ρύθμιση VOD
Καταγεγραμμένα μαθήματα κατά παραγγελία.
- Ανεβάστε κάθε εγγραφή ως πηγή ενός επεισοδίου, ή δείξτε στην εργασία VOD ingest το αρχείο και αφήστε τον worker να το κατεβάσει και να το κωδικοποιήσει στον ριζικό φάκελο πολυμέσων.
- Συμπληρώστε τα μεταδεδομένα (τίτλο, περιγραφή, αφίσα) με το χέρι ή από το TMDB για δημόσιο υλικό· τα μαθήματα συνήθως χρειάζονται μόνο τίτλο και περιγραφή.
- Ελέγξτε την αναπαραγωγή στον web player με δοκιμαστικό line· ο σύνδεσμος είναι υπογεγραμμένος και λήγει μετά τον ρυθμισμένο χρόνο.
Ζωντανή μετάδοση τάξης
Μια διάλεξη ως ζωντανό κανάλι.
- Προσθέστε ένα ζωντανό stream στα Streams με πηγή τον encoder της αίθουσας (διεύθυνση αποστολής RTMP ή URL λήψης).
- Βάλτε το stream στο bouquet του μαθήματος ώστε να το βλέπουν μόνο οι εγγεγραμμένοι φοιτητές· προσθέστε το στο EPG αν κρατάτε ωρολόγιο πρόγραμμα.
- Ενεργοποιήστε catch-up ή timeshift στο stream όταν οι φοιτητές μπορούν να δουν ένα μάθημα αργότερα· η εγγραφή μπορεί επίσης να ανέβει ως επεισόδιο.
Συνδρομή και λήξη πρόσβασης
Πρόσβαση που τελειώνει με το μάθημα.
- Δώστε στο πακέτο την περίοδο πρόσβασης ως διάρκεια· ένα line που δημιουργείται από αυτό λήγει στο τέλος της περιόδου.
- Ανανεώστε ένα line για νέο εξάμηνο από τον πίνακα, με credit του κέντρου, ή μέσω του API με action=renew_line.
- Εγγραφείτε στα webhooks από το σύστημά σας: ενημερώνεται όταν ένα line πρόκειται να λήξει, έχει λήξει ή απενεργοποιήθηκε.
Ενσωμάτωση με εξωτερικό LMS
Το LMS οδηγεί την πρόσβαση· ο player παίζει.
- Δημιουργήστε ένα κλειδί Reseller API για το LMS· κρατήστε το στα μυστικά του LMS, ποτέ σε σελίδα.
- Στην εγγραφή το LMS καλεί action=create_line με το πακέτο του προγράμματος σπουδών και ένα αναγνωριστικό αιτήματος· στην αποχώρηση action=disable_line.
- Βάλτε σύνδεσμο από τη σελίδα μαθήματος του LMS προς τον web player ή δώστε στον φοιτητή τα στοιχεία του player· δεν υπάρχει single sign-on μεταξύ των δύο.
Ζητήματα ασφάλειας
Κρατήστε την υπηρεσία μέσα στο ίδρυμα.
- Ενεργοποιήστε τη σύνδεση δύο παραγόντων για κάθε λογαριασμό πίνακα και δώστε στο προσωπικό τη μικρότερη ομάδα δικαιωμάτων που αρκεί.
- Κρατήστε τα προσωπικά δεδομένα των φοιτητών στο σύστημα φοιτητών· το line χρειάζεται μόνο όνομα και λήξη.
- Κρατήστε χαμηλές τις μέγιστες συνδέσεις και σκεφτείτε να δέσετε την αναπαραγωγή με τη διεύθυνση του θεατή για να αποτρέψετε τη διαμοίραση.
- Ενεργοποιήστε το κρυπτογραφημένο αντίγραφο ασφαλείας της βάσης και, αν έχετε αποθήκευση συμβατή με S3, το αντίγραφο εκτός τοποθεσίας.
Αντιμετώπιση προβλημάτων
Οι συνηθισμένοι πρώτοι έλεγχοι.
- Ένας φοιτητής δεν μπορεί να συνδεθεί: ελέγξτε τη λήξη του line και ότι είναι ενεργοποιημένο, έπειτα το πακέτο και το bouquet του μαθήματος.
- Μια εγγραφή δεν παίζει: ελέγξτε το αποτέλεσμα της εργασίας ingest στη σελίδα Jobs, έπειτα το αρχείο στον ριζικό φάκελο πολυμέσων και τη λήξη του υπογεγραμμένου συνδέσμου.
- Οι θεατές ενός κτιρίου πηγαίνουν στην προέλευση: ελέγξτε το heartbeat του κόμβου και ότι η διεύθυνση του θεατή εμπίπτει στη δρομολόγηση του κόμβου.
- Το API αρνείται μια κλήση: ελέγξτε το κλειδί, τη μέθοδο της ενέργειας (οι εγγραφές είναι POST) και το αναγνωριστικό αιτήματος μιας κλήσης που επαναλήφθηκε.