Το FLV είναι το Flash Video, η μορφή που χρησιμοποιούσε το Flash Player της Adobe για την αναπαραγωγή βίντεο σε πρόγραμμα περιήγησης. Δημιουργήθηκε από τη Macromedia, την εταιρεία πίσω από το Flash, και πέρασε στην Adobe όταν η Adobe αγόρασε τη Macromedia το 2005. Για περίπου μια δεκαετία ήταν ο τρόπος με τον οποίο λειτουργούσε το βίντεο στο διαδίκτυο: ένα κλιπ που βλέπατε σε πρόγραμμα περιήγησης εκείνη την περίοδο πολύ πιθανό να έφτανε ως FLV. Η Adobe τερμάτισε την υποστήριξη για το Flash Player την τελευταία ημέρα του 2020 και τα προγράμματα περιήγησης το αφαίρεσαν, επομένως πλέον τίποτα δεν παίζει FLV μέσα σε ιστοσελίδα. Τα αρχεία όμως δεν εξαφανίστηκαν. Βρίσκονται σε φακέλους λήψεων και αρχεία και εξακολουθούν να παίζουν σε πρόγραμμα αναπαραγωγής πολυμέσων σε υπολογιστή.
Πώς είναι δομημένο ένα αρχείο FLV
Το FLV έχει εντυπωσιακά απλό σχεδιασμό, επειδή δημιουργήθηκε για ροή και όχι για αποθήκευση. Μια σύντομη κεφαλίδα αναγνωρίζει το αρχείο και δηλώνει αν περιέχει ήχο, βίντεο ή και τα δύο. Από εκεί και πέρα το αρχείο δεν είναι τίποτα άλλο παρά μια αλυσίδα από tags, το καθένα ένα μικρό πακέτο με έναν τύπο, μια χρονική σήμανση και ένα φορτίο δεδομένων. Τα audio tags, video tags και script tags εναλλάσσονται σε χρονική σειρά και ένα πρόγραμμα αναπαραγωγής απλώς τα διαβάζει διαδοχικά. Δεν υπάρχει κεντρικός δείκτης, γι’ αυτό η μετακίνηση μέσα σε ένα FLV μπορεί να είναι δύσχρηστη.
Το container δεν συμπιέζει το ίδιο τίποτα. Παλιά αρχεία FLV χρησιμοποιούσαν Sorenson Spark για το βίντεο, αργότερα τον codec On2 VP6 και, όταν το Flash Player απέκτησε τη δυνατότητα, βίντεο H.264 με ήχο AAC, όλα με απώλειες. Η Adobe τελικά εισήγαγε το F4V ως αντικαταστάτη, βασισμένο στην ίδια δομή MP4 που χρησιμοποιείται παντού αλλού.
Τι μεταδεδομένα περιέχει ένα αρχείο FLV
Τα μεταδεδομένα ενός FLV βρίσκονται σχεδόν όλα σε ένα μόνο script tag κοντά στην αρχή του αρχείου, που συνήθως ονομάζεται onMetaData. Είναι μια λίστα από ονόματα και τιμές, γραμμένη στη μορφή δεδομένων που χρησιμοποιούσε το Flash για επικοινωνία με scripts, και ένα πρόγραμμα αναπαραγωγής τη διάβαζε πριν από την αναπαραγωγή για να ρυθμιστεί. Οι καταχωρήσεις που είναι πιο πιθανό να δείτε είναι:
- διάρκεια, πλάτος και ύψος, και ο ρυθμός καρέ·
- ο ρυθμός δεδομένων βίντεο και ο ρυθμός δεδομένων ήχου, και αριθμητικά αναγνωριστικά για τα codecs βίντεο και ήχου·
- ο ρυθμός δειγματοληψίας ήχου, το μέγεθος δείγματος και αν ο ήχος είναι στέρεο·
- το μέγεθος αρχείου και μια σημαία που δηλώνει αν το αρχείο μπορεί να γίνει seek μέχρι το τέλος·
- μια λίστα με τις θέσεις των keyframes και τους χρόνους τους, κάτι που έκανε δυνατή τη μετακίνηση μέσα στο αρχείο γενικά·
- το όνομα του εργαλείου που έγραψε ή εισήγαγε τα μεταδεδομένα, αφού υπήρχαν ξεχωριστά προγράμματα μόνο και μόνο για να προσθέτουν αυτό το μπλοκ σε αρχεία που το στερούνταν.
Κάποια αρχεία περιέχουν επίσης ένα δεύτερο script tag που κρατά ένα πακέτο XMP, τη δομημένη μορφή κειμένου που χρησιμοποιεί η Adobe στα προϊόντα της, και αυτό μπορεί να περιέχει έναν τίτλο, έναν δημιουργό, μια περιγραφή και μια ειδοποίηση πνευματικών δικαιωμάτων που πληκτρολόγησε ένα άτομο.
Αυτό που το FLV δεν υποστηρίζει καθόλου είναι μεταδεδομένα κάμερας. Δεν υπάρχει μπλοκ EXIF, ούτε μάρκα ή μοντέλο κάμερας, ούτε δεδομένα φακού ή έκθεσης και ούτε πεδίο GPS. Η τοποθεσία δεν ήταν ποτέ κάτι που ένα αρχείο Flash Video είχε σχεδιαστεί να καταγράφει. Τα μόνα ίχνη προέλευσης είναι το όνομα του εργαλείου εγγραφής και ό,τι περιέχει ένα πακέτο XMP.
Υπάρχει επίσης ένα συχνό κενό που αξίζει να γνωρίζετε. Η διάρκεια και το μέγεθος αρχείου γράφονται όταν είναι γνωστό ολόκληρο το αρχείο, επομένως μια εγγραφή που έχει συλληφθεί από ζωντανή ροή συχνά τα έχει κενά ή μηδενισμένα. Γι’ αυτό ορισμένα προγράμματα αναπαραγωγής δείχνουν ένα FLV χωρίς timeline και αρνούνται να προχωρήσουν μπροστά: οι πληροφορίες που χρειάζεται ο player δεν συμπληρώθηκαν ποτέ.
Τι να κάνετε σήμερα με ένα αρχείο FLV
Αντιμετωπίστε το FLV ως μορφή αρχειοθέτησης, όχι ως ενεργή. Δεν θα πρέπει να δημιουργείται τίποτα νέο σε αυτήν, επειδή η πλατφόρμα για την οποία υπήρχε δεν υπάρχει πια.
Το MP4 είναι ο αντικαταστάτης σε κάθε επίπεδο: παίζει σε προγράμματα περιήγησης και σε τηλέφωνα, επιτρέπει σωστό seek και περιέχει πολύ περισσότερα μεταδεδομένα. Ο τρόπος μετατροπής έχει σημασία. Ένα FLV που ήδη περιέχει βίντεο H.264 και ήχο AAC συνήθως μπορεί να γίνει remux απευθείας σε MP4, που απλώς ξαναγράφει το wrapper και κρατά την εικόνα bit προς bit. Ένα παλαιότερο αρχείο με Sorenson Spark ή VP6 πρέπει να γίνει re-encode, κάτι που σημαίνει δεύτερο γύρο συμπίεσης με απώλειες, οπότε κρατήστε το αρχικό αρχείο μαζί με το αντίγραφο αν το υλικό έχει σημασία.