HLS και DASH: πώς λειτουργούν τα πρωτόκολλα ροής
Πριν από την ύπαρξη ροής, η παρακολούθηση βίντεο στο διαδίκτυο σήμαινε ένα πράγμα: πρώτα κατεβάστε ολόκληρο το αρχείο και μετά παίξτε το. Ένα βίντεο 500 MB έπρεπε να φτάσει πλήρως στη συσκευή σας ακόμα κι αν θέλατε μόνο τα πρώτα 30 δευτερόλεπτα. Τα πρωτόκολλα ροής λύνουν ακριβώς αυτό το πρόβλημα: κόβουν το βίντεο σε μικρά κομμάτια και το παίζουν ενώ το υπόλοιπο γίνεται ακόμα λήψη.
Τμηματοποίηση: Το δομικό στοιχείο της ροής
Στο HLS (HTTP Live Streaming της Apple), το πιο διαδεδομένο πρωτόκολλο, ο διακομιστής χωρίζει το βίντεο σε πολλά μικρά αρχεία, τα τμήματα, συνήθως διάρκειας 2–10 δευτερολέπτων σε MPEG-TS ή fMP4. Δημιουργεί και λίστα αναπαραγωγής (.m3u8) με τη σειρά και τις διευθύνσεις τους. Το πρόγραμμα αναπαραγωγής ανακτά πρώτα τη λίστα και κατεβάζει τα τμήματα όταν χρειάζονται: μόλις ολοκληρωθεί ένα, ανακτά το επόμενο, σχεδόν χωρίς αναμονή.
Διαδικτυακό πρόγραμμα αναπαραγωγής βίντεο
Προσαρμοστικός ρυθμός μετάδοσης: γιατί η αναπαραγωγή δεν κολλάει σε αδύναμο δίκτυο
Το HLS και το DASH (Dynamic Adaptive Streaming over HTTP, που υποστηρίζεται από τη Microsoft και άλλους) προετοιμάζουν σύνολα τμημάτων του ίδιου βίντεο με διαφορετικές αναλύσεις και ρυθμούς μετάδοσης, π.χ. 1080p, 720p και 480p, καταχωρισμένα σε μια κύρια λίστα. Το πρόγραμμα αναπαραγωγής παρακολουθεί την ταχύτητα λήψης και τα διαθέσιμα δεδομένα στην προσωρινή μνήμη. Επιλέγει υψηλότερο ρυθμό όταν το δίκτυο είναι καλό και χαμηλότερο όταν χειροτερεύει, διατηρώντας συνεχή αναπαραγωγή. Αυτό είναι η προσαρμοστική ροή ρυθμού μετάδοσης (ABR), που εξηγεί γιατί το βίντεο θολώνει αυτόματα όταν μετακινείστε με το μετρό.
Γιατί η λήψη ενός συνδέσμου m3u8 αποτυγχάνει τόσο συχνά
Η απευθείας λήψη URL .m3u8 δίνει λίγα KB κειμένου — τη λίστα αναπαραγωγής, όχι το ίδιο το βίντεο. Για αποθήκευση του βίντεο, το εργαλείο πρέπει να αναλύσει τη λίστα, να κατεβάσει κάθε τμήμα και να τα ενώσει με τη σειρά. Γι’ αυτό πολλά προγράμματα λήψης δεν υποστηρίζουν HLS ή απαιτούν ξεχωριστό βήμα συγχώνευσης. Το TakeVid εντοπίζει τα τμήματα και τα συγχωνεύει αυτόματα, ώστε να κατεβάζετε πλήρες αρχείο έτοιμο για αναπαραγωγή.
- HLS: από την Apple, χρησιμοποιεί λίστες αναπαραγωγής .m3u8, που υποστηρίζονται εγγενώς από iOS/Safari, χειρίζεται ζωντανά και κατ' απαίτηση
- DASH: ανοικτό πρότυπο με αρχεία περιγραφής .mpd, που χρησιμοποιείται ευρέως από YouTube, Netflix και άλλους
- Και τα δύο χρησιμοποιούν απλό HTTP, είναι φιλικά προς το CDN και κυριαρχούν στο streaming σήμερα