Η κλίμακα προσαρμοστικού bitrate (adaptive bitrate ladder) είναι το σύνολο των εκδοχών ενός βίντεο από τις οποίες μπορεί να επιλέξει ένας player streaming. Κάθε βαθμίδα έχει ανάλυση και bitrate· ο player ξεκινά από μία, παρακολουθεί πόσο γρήγορα κατεβαίνουν τα τμήματα και ανεβαίνει ή κατεβαίνει καθώς αλλάζει η σύνδεση. Με σωστή κλίμακα, και ο θεατής στο τρένο και ο θεατής μπροστά σε μια τηλεόραση 4K βλέπουν ομαλά από ένα μόνο ανέβασμα. Με λάθος κλίμακα, είτε σπαταλάτε δίσκο και κίνηση σε βαθμίδες που δεν χρησιμοποιεί κανείς είτε αφήνετε τους αργούς θεατές να κοιτάζουν ένα εικονίδιο φόρτωσης.
Αυτό το άρθρο εξηγεί πώς λειτουργεί μια κλίμακα και στη συνέχεια δείχνει την πραγματική κλίμακα που δημιουργεί ο converter του UFOLOAD, με τα bitrate όπως ορίζονται στον ίδιο τον converter, καθώς και πόσο χώρο δίσκου καταλαμβάνει κάθε βαθμίδα ανά ώρα βίντεο.
Πώς ο player επιλέγει βαθμίδα
Η κύρια λίστα αναπαραγωγής (master playlist) μιας ροής HLS απαριθμεί κάθε βαθμίδα με τρία σημαντικά χαρακτηριστικά: BANDWIDTH, RESOLUTION και CODECS. Ο player μετρά την ταχύτητα λήψης στα τελευταία τμήματα και επιλέγει την υψηλότερη βαθμίδα της οποίας το BANDWIDTH χωράει άνετα κάτω από αυτή την ταχύτητα. Αξίζει να γνωρίζετε δύο λεπτομέρειες.
Πρώτον, το BANDWIDTH είναι τιμή αιχμής, όχι μέσος όρος. Αν μια λίστα αναπαραγωγής το υποτιμά, ο player επιλέγει βαθμίδα που η σύνδεση δεν μπορεί να υποστηρίξει και η αναπαραγωγή κολλάει· γι' αυτό ο converter μας γράφει την τιμή αιχμής και ποτέ μηδέν. Δεύτερον, η εναλλαγή γίνεται στα όρια των τμημάτων. Τα τμήματά μας διαρκούν τέσσερα δευτερόλεπτα και ο encoder τοποθετεί keyframe στην αρχή του καθενός, ώστε ο player να μεταπηδά μεταξύ εκδοχών χωρίς διακοπή. Ένα μικρότερο τμήμα αντιδρά πιο γρήγορα αλλά προσθέτει αιτήματα· τα τέσσερα δευτερόλεπτα είναι ένας συνηθισμένος συμβιβασμός.
Αν θέλετε να βάλετε μια τέτοια ροή στη δική σας σελίδα, ο οδηγός πώς να ενσωματώσετε βίντεο HLS δείχνει τις επιλογές με iframe και hls.js.
Η κλίμακα του UFOLOAD
Ο converter έχει τέσσερις βαθμίδες: 2160p (4K), 1080p, 720p και 360p. Μια βαθμίδα δημιουργείται μόνο αν η πηγή σας έχει τουλάχιστον αυτό το ύψος, γιατί η αναβάθμιση ανάλυσης δεν προσθέτει λεπτομέρεια, ενώ πολλαπλασιάζει το μέγεθος και τον χρόνο κωδικοποίησης. Μια πηγή 720p παράγει 720p και 360p· μια πηγή μικρότερη από 360p παράγει μία εκδοχή στο δικό της μέγεθος, ώστε κάθε αρχείο να έχει τουλάχιστον μία εκδοχή που παίζει. Τα πλάτη ακολουθούν την αναλογία διαστάσεων της πηγής σας και στρογγυλοποιούνται σε ζυγό αριθμό, γιατί το H.264 με χρωματική δειγματοληψία 4:2:0 δεν μπορεί να κωδικοποιήσει μονές διαστάσεις. Τα πλάτη παρακάτω προϋποθέτουν αναλογία 16:9.
| Βαθμίδα | Καρέ σε 16:9 | Όριο βίντεο | Στόχος ποιότητας (CRF) | Ήχος | Μέγιστο μέγεθος ανά ώρα |
|---|---|---|---|---|---|
| 2160p | 3840x2160 | 16 Mbit/s | 20 | 192 kbit/s | 6,79 GiB |
| 1080p | 1920x1080 | 5 Mbit/s | 22 | 160 kbit/s | 2,16 GiB |
| 720p | 1280x720 | 2,8 Mbit/s | 23 | 128 kbit/s | 1,23 GiB |
| 360p | 640x360 | 0,8 Mbit/s | 26 | 64 kbit/s | 0,36 GiB |
Το προεπιλεγμένο preset είναι το medium και τα bitrate των βαθμίδων επιλέχθηκαν για συνηθισμένο περιεχόμενο H.264. Η βαθμίδα 1080p έχει όριο 5 Mbit/s: αρκεί για καθαρή εικόνα και πάνω από αυτό το αρχείο μεγαλώνει χωρίς ορατό όφελος. Το 4K έχει τετραπλάσια pixel από το 1080p, οπότε το όριό του είναι 16 Mbit/s, πάνω από τριπλάσιο, ώστε να μην εμφανίζονται μπλοκ σε σύνθετες σκηνές.
Ο converter δεν παράγει 480p ή 240p. Λιγότερες βαθμίδες σημαίνουν λιγότερο δίσκο και συντομότερη κωδικοποίηση, ενώ ανάμεσα σε 360p και 720p ο player εξακολουθεί να έχει ένα λογικό βήμα για αργές συνδέσεις κινητής. Ποιες βαθμίδες παίρνετε στην πράξη εξαρτάται και από το πρόγραμμά σας: τα 360p και 720p είναι η βάση και η ανώτερη βαθμίδα περιορίζεται από το ανώτατο όριο του προγράμματος, που αναφέρεται στη σελίδα τιμών. Στο πρόγραμμα Free ένα βίντεο έχει μία μόνο ποιότητα.
CRF και όριο bitrate: γιατί τα μεγέθη αρχείων είναι ανώτατα όρια
Ο encoder δεν στοχεύει σε σταθερό bitrate. Στοχεύει σε σταθερή ποιότητα, που εκφράζεται ως CRF (constant rate factor): μικρότερος αριθμός σημαίνει καλύτερη εικόνα και μεγαλύτερο αρχείο. Ένα στατικό βίντεο με ομιλητή χρειάζεται ελάχιστα δεδομένα για να πετύχει τον στόχο, μια σκηνή δράσης χρειάζεται πολλά. Για να μην πλημμυρίσει καμία σκηνή μια αργή σύνδεση, κάθε βαθμίδα έχει επίσης maxrate ίσο με το bitrate του πίνακα και buffer διπλάσιο από αυτό. Το αποτέλεσμα είναι μια ροή που συνήθως μένει κάτω από το όριο και ποτέ δεν το ξεπερνά για πολύ.
Γι' αυτό τα μεγέθη σε αυτό το άρθρο είναι μεγέθη αιχμής. Μια διάλεξη ή μια εγγραφή οθόνης συνήθως μένει αρκετά κάτω από αυτά. Περιεχόμενο με κυρίως ομιλία μπορεί να είναι ένα κλάσμα του ορίου, ενώ αθλητικά με έντονη κίνηση ή πλάνα με θόρυβο πλησιάζουν το όριο. Όταν υπολογίζετε μια βιβλιοθήκη, χρησιμοποιήστε την αιχμή για έναν ασφαλή προϋπολογισμό και τον δικό σας μετρημένο μέσο όρο για έναν ρεαλιστικό.
Το προφίλ ποιότητας στο Encoding studio μετατοπίζει αυτή την ισορροπία. Το γρήγορο προφίλ χρησιμοποιεί ταχύτερο preset του x264 και ετοιμάζει το βίντεο νωρίτερα με ελαφρώς μεγαλύτερα αρχεία· το προφίλ ποιότητας χρησιμοποιεί πιο αργό preset και χαμηλότερο CRF για καθαρότερη εικόνα και είναι διαθέσιμο στα επί πληρωμή προγράμματα. Η ισορροπημένη προεπιλογή βρίσκεται ανάμεσα στα δύο.
Πόσο χώρο δίσκου κοστίζει μια κλίμακα
Μία ώρα βίντεο στην αιχμή κάθε βαθμίδας ζυγίζει 6,79 GiB στα 2160p, 2,16 GiB στα 1080p, 1,23 GiB στα 720p και 0,36 GiB στα 360p. Μια πλήρης κλίμακα είναι το άθροισμα των βαθμίδων που επιτρέπει η πηγή σας και κάθε βαθμίδα είναι ξεχωριστό αρχείο στον δίσκο:
| Ανάλυση πηγής | Βαθμίδες που παράγονται | Μέγιστο μέγεθος ανά ώρα βίντεο |
|---|---|---|
| 4K (2160p) | 2160p, 1080p, 720p, 360p | 10,54 GiB |
| Full HD (1080p) | 1080p, 720p, 360p | 3,75 GiB |
| HD (720p) | 720p, 360p | 1,59 GiB |
| Κάτω από 360p | Μία εκδοχή στο μέγεθος της πηγής | Εξαρτάται από την πηγή |
Ένα συγκεκριμένο παράδειγμα: 100 ώρες υλικού Full HD παράγουν το πολύ περίπου 375 GiB εκδοχών. Αν περιορίσετε την ανώτερη βαθμίδα στα 720p, οι ίδιες εκατό ώρες χρειάζονται το πολύ περίπου 159 GiB, δηλαδή μείωση πάνω από το μισό. Η ανώτερη βαθμίδα κυριαρχεί στον λογαριασμό: αν αφαιρέσετε το 4K από μια βιβλιοθήκη με πηγές 4K, φεύγουν περίπου τα δύο τρίτα του όγκου της. Το αν ένας πάροχος χρεώνει αυτές τις εκδοχές στο όριο αποθήκευσής σας είναι άλλο ζήτημα, που εξετάζεται στο άρθρο πόσο κοστίζει η φιλοξενία βίντεο· στο UFOLOAD το όριο υπολογίζεται με βάση το μέγεθος των αρχείων που ανεβάζετε.
Ρύθμιση της κλίμακας στο Encoding studio
Δεν είστε υποχρεωμένοι να δεχτείτε τις προεπιλογές. Το Encoding studio στον πίνακα ελέγχου έχει τρεις ρυθμίσεις που αλλάζουν πόσες βαθμίδες αποθηκεύετε:
- Μέγιστη ανάλυση. Τα βίντεο δεν κωδικοποιούνται ποτέ πάνω από αυτή την τιμή. Οι αναλύσεις πάνω από το ανώτατο όριο του προγράμματός σας είναι κλειδωμένες.
- Χαμηλότερη ποιότητα. Επιλέξτε 360p, 720p ή 1080p ως κατώτερη βαθμίδα. Αν την ανεβάσετε, αφαιρούνται οι μικρές βαθμίδες, κάτι που εξοικονομεί δίσκο και χρόνο κωδικοποίησης, αλλά οι θεατές με αδύναμη σύνδεση χάνουν την εφεδρική τους επιλογή· κρατήστε λοιπόν το 360p αν το κοινό σας περιλαμβάνει χρήστες κινητών.
- Γρήγορα presets. Μέγιστη ποιότητα, ισορροπημένο, εξοικονόμηση χώρου (έως 720p και μόνο οι ποιότητες που χρειάζεστε) και άμεση δημοσίευση για λογαριασμούς που πληρούν τις προϋποθέσεις.
Οι αλλαγές ισχύουν για νέα ανεβάσματα. Για να τις εφαρμόσετε σε βίντεο που υπάρχουν ήδη στη βιβλιοθήκη σας, χρησιμοποιήστε την ενέργεια επανακωδικοποίησης, η οποία επεξεργάζεται τα νεότερα βίντεο σε παρτίδες και έχει χρόνο αναμονής μεταξύ εκτελέσεων· τα βίντεο συνεχίζουν να παίζουν όσο επανακωδικοποιούνται.
Αν φτιάχνετε τη δική σας κλίμακα
- Κρατήστε τα βήματα μεταξύ γειτονικών βαθμίδων περίπου στο 1,5 έως 2 φορές σε bitrate. Μικρότερα βήματα προσθέτουν χώρο χωρίς ορατό όφελος, μεγαλύτερα κάνουν το άλμα ποιότητας εμφανές.
- Ξεκινήστε αρκετά χαμηλά για τους πιο αργούς ρεαλιστικούς θεατές σας. Μια βαθμίδα που κανείς δεν μπορεί να υποστηρίξει είναι σπατάλη· μια κατώτερη βαθμίδα που λείπει σημαίνει εικονίδιο φόρτωσης.
- Ευθυγραμμίστε τα keyframe με τη διάρκεια των τμημάτων και δηλώνετε το bitrate αιχμής στη λίστα αναπαραγωγής.
- Μην κάνετε αναβάθμιση ανάλυσης. Περιορίστε κάθε βαθμίδα στο ύψος της πηγής.
- Μετά από έναν μήνα μετρήστε ποιες βαθμίδες χρησιμοποιούν πραγματικά οι θεατές σας και αφαιρέστε όσες δεν παίζονται ποτέ.
Για ολόκληρη τη διαδικασία, από τις μορφές ανεβάσματος έως την παράδοση, δείτε τη σελίδα δυνατοτήτων· για τα όρια και τις τιμές των προγραμμάτων, δείτε τις τιμές. Αν συγκρίνετε ακόμη επιλογές, η λίστα ελέγχου για φιλοξενία βίντεο καλύπτει τις ερωτήσεις για κωδικοποίηση και ποιότητα που πρέπει να κάνετε σε κάθε πάροχο.
Ανεβάστε ένα βίντεο και αποκτήστε player HLS και κλειδί API μέσα σε λίγα λεπτά. Τα όρια των προγραμμάτων αναφέρονται στη σελίδα τιμών.