Σύντομη απάντηση: χρησιμοποιήστε RTMP όταν ζητείται από έναν κωδικοποιητή να δημοσιεύσει σε τελικό σημείο εισαγωγής, WebRTC όταν το δικαιολογούν η αλληλεπίδραση του θεατή και η διαδρομή πραγματικού χρόνου και HLS όταν η παράδοση κοινού μέσω HTTP είναι η επιλεγμένη διαδρομή. Μια ζωντανή υπηρεσία συχνά χρησιμοποιεί περισσότερα από ένα· τα ονόματα πρωτοκόλλων περιγράφουν διαφορετικά όρια.
Επιλέξτε από τον θεατή προς τα πίσω, έως την πηγή
| Ερώτηση | WebRTC | HLS | RTMP |
|---|---|---|---|
| Κύριος δέκτης | Διαδραστικό ομότιμο πρόγραμμα περιήγησης/εφαρμογής ή υπηρεσία μέσων | Πρόγραμμα αναπαραγωγής με δυνατότητα HTTP και διαδρομή παράδοσης | Διακομιστής εισαγωγής ή τελικό σημείο πλατφόρμας |
| Μοντέλο μεταφοράς/παράδοσης | Συνεδρία μέσων πραγματικού χρόνου που διαπραγματεύεται για τα ομότιμα άκρα | Λίστα αναπαραγωγής και τμήματα μέσων που ανακτώνται μέσω HTTP | Μόνιμη συνεδρία δημοσίευσης TCP |
| Ρόλος προγράμματος περιήγησης | Σχεδιασμένο για API μέσων πραγματικού χρόνου του προγράμματος περιήγησης | Παραδίδεται μέσω διαδρομής προγράμματος αναπαραγωγής· η υποστήριξη πλατφόρμας διαφέρει | Όχι εγγενής αναπαραγωγή σε σύγχρονο πρόγραμμα περιήγησης |
| Έλεγχος κωδικοποιητή | Επιβεβαιώστε υποστήριξη προγράμματος περιήγησης, υπηρεσίας και διαπραγμάτευσης | Επιβεβαιώστε συμβατότητα προγράμματος αναπαραγωγής, πακεταρίσματος και rendition | Επιβεβαιώστε συμβατότητα κωδικοποιητή και τελικού σημείου εισαγωγής |
| Έλεγχος δικτύου | Συνθήκες signalling, ICE/STUN/TURN και τείχους προστασίας | Συμπεριφορά origin, cache/CDN και αιτημάτων προγράμματος αναπαραγωγής | Προσβασιμότητα του εκχωρημένου host και port εισαγωγής |
| Ταιριάζει όταν | Η αλληλεπίδραση αποτελεί μέρος της απαίτησης προϊόντος | Η παράδοση στο κοινό είναι η εργασία | Ένας κωδικοποιητής πρέπει να παραδώσει ροή σε δέκτη εισαγωγής |
Τι να δοκιμάσετε πρώτα
| Επιλογή ροής εργασίας | Τελικό σημείο προς δοκιμή | Πρώτος έλεγχος αποδοχής |
|---|---|---|
| Διαδραστική συνεισφορά ή κοινό: WebRTC | Ένα διαμορφωμένο τελικό σημείο θεατή/συνεδρίας WebRTC | Signalling συν συνδεσιμότητα ICE/TURN και έπειτα ήχος/βίντεο προγράμματος |
| Ευρεία αναπαραγωγή στο πρόγραμμα περιήγησης: HLS | https://example.invalid/live/master.m3u8 | Λήψη manifest και η προβλεπόμενη rendition του προγράμματος αναπαραγωγής |
| Εισαγωγή κωδικοποιητή/πλατφόρμας: RTMP | rtmp://example.invalid/app συν εκχωρημένο κλειδί | Κατάσταση εκδότη και έπειτα η ρητά επιλεγμένη έξοδος HLS ή WebRTC |
Αυτές είναι μορφές τελικών σημείων και όχι διευθύνσεις που παρέχει το Callaba. Για τα υποκείμενα μοντέλα παράδοσης, δείτε τα W3C WebRTC, IETF HLS και την προδιαγραφή RTMP.
Γρήγορη απόφαση: επιλέξτε πρωτόκολλο ανά εργασία
Για διαδραστική συνεισφορά ή συμμετοχή κοινού, δοκιμάστε signalling WebRTC και ICE/TURN πριν το επιλέξετε. Για ευρεία αναπαραγωγή στο πρόγραμμα περιήγησης, δοκιμάστε το manifest HLS και το πρόγραμμα αναπαραγωγής. Για εισαγωγή από κωδικοποιητή σε πλατφόρμα, δοκιμάστε RTMP στο εκχωρημένο τελικό σημείο και έπειτα επιλέξτε και δοκιμάστε τη μεταγενέστερη έξοδο HLS ή WebRTC.
Αν η απόφαση είναι «πώς λαμβάνουν οι θεατές το πρόγραμμα σε πρόγραμμα περιήγησης;», ξεκινήστε από WebRTC ή HLS και τις απαιτήσεις προγράμματος αναπαραγωγής, πρόσβασης και παράδοσης. Αν είναι «πώς δημοσιεύει αυτός ο κωδικοποιητής στην πλατφόρμα;», ξεκινήστε από τη σύμβαση εισαγωγής RTMP της πλατφόρμας. Το RTMP μπορεί να τροφοδοτήσει μεταγενέστερο στάδιο HLS ή WebRTC, αλλά δεν δημιουργεί το ίδιο αυτό το στάδιο.
Συνήθεις λανθασμένες συγκρίσεις
WebRTC έναντι HLS
Αυτή είναι απόφαση παράδοσης. Το WebRTC χρειάζεται διαδρομή συνεδρίας πραγματικού χρόνου· το HLS χρειάζεται παράδοση λίστας αναπαραγωγής/τμημάτων και συμβατό πρόγραμμα αναπαραγωγής. Δοκιμάστε το ακριβές τελικό σημείο κοινού και το μοντέλο πρόσβασής του αντί μόνο τη ροή πηγής.
RTMP έναντι WebRTC
Συνήθως καταλαμβάνουν διαφορετικά άκρα της ροής εργασίας: RTMP ως εισαγωγή κωδικοποιητή, WebRTC ως διαδραστική παράδοση. Μια γέφυρα είναι διαμορφωμένη λειτουργία διακομιστή μέσων ή υπηρεσίας με δικούς της κωδικοποιητές, signalling και λειτουργία—όχι ιδιότητα οποιουδήποτε URL.
HLS έναντι RTMP
Το HLS πακετάρει μέσα για παράδοση HTTP· το RTMP δημοσιεύει μέσα σε δέκτη εισαγωγής. Ένας θεατής που δεν μπορεί να ανοίξει URL RTMP χρειάζεται την επιλεγμένη διαδρομή εξόδου HLS ή WebRTC, όχι διαφορετικό πρόγραμμα περιήγησης.
Μια μικτή ροή εργασίας πρωτοκόλλων
Ένας κωδικοποιητής προγράμματος μπορεί να δημοσιεύσει RTMP σε ελεγχόμενο πόρο εισαγωγής. Ο χειριστής επιβεβαιώνει δραστηριότητα πηγής και έπειτα διαμορφώνει ξεχωριστή έξοδο για παράδοση στο κοινό—HLS για ροή εργασίας προγράμματος αναπαραγωγής HTTP ή WebRTC για τη διαδρομή αλληλεπίδρασης. Επαληθεύστε κάθε όριο στη σειρά: κωδικοποιητής προς εισαγωγή, δημιουργία επεξεργασίας/εξόδου και έπειτα το πραγματικό URL θεατή.
Λίστα ελέγχου πρωτοκόλλων πριν την παραγωγή
- Σημειώστε κωδικοποιητή πηγής, ρυθμό καρέ, ήχο και περιορισμούς δέκτη προορισμού.
- Εκχωρήστε υπεύθυνο για διαπιστευτήρια δημοσίευσης, signalling/πρόσβαση και δοκιμή προγράμματος αναπαραγωγής.
- Χρησιμοποιήστε ιδιωτικό κοινό πρόβας και δοκιμάστε αποκατάσταση μετά τη διακοπή της πηγής.
- Κρατήστε ισχυρισμούς άμεσης αναπαραγωγής στο πρόγραμμα περιήγησης συνδεδεμένους με τη διαμορφωμένη έξοδο, ποτέ με το URL πηγής RTMP.
Επιλέξτε το επόμενο βήμα
Για εισαγωγή κωδικοποιητή και πρόσβαση εκδότη/δέκτη, δείτε τον RTMP Server. Ένα URL δημοσίευσης RTMP μπορεί να χρησιμοποιεί την ίδια εφαρμογή και όνομα ροής με URL δέκτη, αλλά ο εκδότης και ο δέκτης εξακολουθούν να έχουν διαφορετικούς ρόλους. Για έξοδο στο πρόγραμμα περιήγησης, ξεκινήστε από τις οδηγίες Web Player· για πρόθεση πακεταρίσματος, δείτε το RTMP προς HLS. Αν η ροή εργασίας είναι συνεισφορά SRT αντί δημοσίευσης RTMP, ο SRT Server είναι ο κατάλληλος υπεύθυνος.