Flash Video (.flv)
Adobe ΤυπικόΤο Flash Video (FLV) είναι μια μορφή κοντέινερ που αναπτύχθηκε από τη Macromedia και την Adobe για την παράδοση συγχρονισμένου βίντεο και ήχου μέσω του διαδικτύου μέσω του προσθέτου προγράμματος περιήγησης Adobe Flash Player.
Επιθεώρηση & Μεταδεδομένα
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία FLV ελέγχοντας την αρχική δυαδική ακολουθία byte:
Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία FLV ελέγχοντας την αρχική δυαδική ακολουθία byte:
ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):
46 4C 56 01ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: FLV
Τυποποίηση: Adobe Systems Flash Video File Format Specification
Τεχνικές Προδιαγραφές
| Αρχιτεκτονική Περιέκτη | Tag-based streaming container with interleaved audio, video, and script data tags |
| Συμπίεση | Sorenson Spark, VP6, or H.264 video with MP3 or AAC audio |
| Endianness Byte | Big-Endian bit and byte ordering |
| Χρωματικοί Χώροι | YUV 4:2:0 |
| Κανάλια & Δομή | Mono and Stereo audio with video stream |
| Μέγιστες Διαστάσεις | Commonly up to 1080p |
| Διαφάνεια | Alpha channel transparency supported in VP6 video streams |
| Streaming & Προοδευτική Φόρτωση | Native support for RTMP (Real-Time Messaging Protocol) live streaming |
Τεχνικός Πίνακας Σύγκρισης: FLV έναντι Ανταγωνιστών
| Τεχνικό χαρακτηριστικό | FLV (Τρέχον) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Υποστήριξη Φυλλομετρητή Σήμερα | 0% (Εντελώς αφαιρεμένο από όλους τους σύγχρονους φυλλομετρητές) | 100% καθολική σε όλους τους φυλλομετρητές | 100% υποστήριξη σε σύγχρονους φυλλομετρητές | Απαιτεί πρόγραμμα αναπαραγωγής πολυμέσων υπολογιστή |
| Τυποποίηση | Ιδιοκτησιακή προδιαγραφή Adobe | Διεθνές ανοιχτό πρότυπο ISO/IEC | Ανοιχτό πρότυπο W3C / WebM | Πρότυπο ανοιχτού κώδικα Matroska |
| Αναπαραγωγή σε Κινητές Συσκευές | Δεν υποστηρίζεται εγγενώς σε iOS και σύγχρονο Android | Εγγενής υποστήριξη υλικού | Εγγενής υποστήριξη υλικού | Υποστηρίζεται μέσω VLC/εφαρμογών τρίτων |
| Διαφάνεια Άλφα | Υποστηρίζεται μέσω του κωδικοποιητή On2 VP6 | Περιορισμένη (απαιτεί καμβά ή WebCodecs) | Εγγενής υποστήριξη καναλιού άλφα (VP9) | Υποστηρίζεται σε ροές VP9/ProRes |
Συνηθισμένοι Τρόποι Διαφθοράς & Οδηγός Ανάκτησης Hex
Το ληφθέν βίντεο FLV δείχνει τη συνολική διάρκεια ως «άγνωστη» και δεν μπορεί να γίνει σάρωση (scrubbing).
Βασική Αιτία: Λείπει η ετικέτα σεναρίου 'onMetaData' που περιέχει χρονική σήμανση βασικού πλαισίου και πίνακες μεγέθους αρχείου.
Ανάκτηση: Εισαγωγή των πινάκων βασικών πλαισίων που λείπουν χρησιμοποιώντας το 'yamdi' (Yet Another MetaData Injector) ή μετατροπή σε MP4 με το File2File.
Ανάλυση Ασφάλειας & Διανύσματα Επίθεσης Parser
Το πρόσθετο Flash Player ήταν ιστορικά ένα από τα πιο εκμεταλλεύσιμα στοιχεία λογισμικού στην ιστορία των υπολογιστών λόγω σφαλμάτων διαφθοράς μνήμης στην ανάλυση ActionScript και FLV.
Γνωστά διανύσματα επίθεσης
- Χρήση μετά την απελευθέρωση (use-after-free) και υπερχείλιση σωρού στη μηχανή ανάλυσης ActionScript 3 FLV (π.χ. CVE-2015-5122).
- Δημιουργημένα πακέτα μεταδεδομένων AMF0/AMF3 που πυροδοτούν αυθαίρετη εκτέλεση μνήμης.
- Υπερχειλίσεις μνήμης (buffer overflows) σε παλαιότερες ουσίες αποσυμπίεσης Sorenson Spark.
Βέλτιστες αμυντικές πρακτικές:
Ιστορική Αναδρομή & Ορόσημα
Κύρια Πλεονεκτήματα
- Ιστορικός πρωτοπόρος του πανταχού παρόντος διαδικτυακού βίντεο: επέτρεψε την αναπαραγωγή βίντεο στον ιστό χωρίς αυτόνομα προγράμματα αναπαραγωγής επιτραπέζιων υπολογιστών.
- Υποστήριζε διαφάνεια άλφα σε ροές βίντεο χρησιμοποιώντας τον κωδικοποιητή On2 VP6.
- Χαμηλό εναέριο κόστος πακέτων βελτιστοποιημένο για ζωντανή εκπομπή βίντεο RTMP χαμηλής καθυστέρησης.
Τεχνικοί Περιορισμοί & Μειονεκτήματα
- Εντελώς παρωχημένο και δεν υποστηρίζεται σε κανένα σύγχρονο πρόγραμμα περιήγησης ιστού μετά την κατάργηση του Flash Player.
- Απαιτεί επανακωδικοποίηση ή αλλαγή κοντέινερ σε MP4 για αναπαραγωγή σε iOS, Android και έξυπνες τηλεοράσεις (smart TVs).
- Στερείται σύγχρονων χαρακτηριστικών κοντέινερ, όπως ήχου πολλαπλών κομματιών και προσαρμοστικής ροής ρυθμού bit.
Ενδιαφέροντα Τεχνικά Στοιχεία
- Το πρώτο βίντεο που ανέβηκε ποτέ στο YouTube («Me at the zoo» τον Απρίλιο του 2005) κωδικοποιήθηκε και παραδόθηκε ως αρχείο FLV.
- Η ακολουθία byte μαγείας του Flash Video «46 4C 56 01» γράφει το ASCII «FLV» ακολουθούμενο από την έκδοση κοντέινερ 1.
- Ο Steve Jobs δημοσίευσε την περίφημη ανοιχτή επιστολή του «Thoughts on Flash» το 2010, η οποία επιτάχυνε τη μετακίνηση της βιομηχανίας από το FLV στο HTML5 MP4.
Συχνές Τεχνικές Ερωτήσεις
Γιατί δεν μπορώ πλέον να παίξω αρχεία FLV στον υπολογιστή μου;
Η Adobe και όλα τα μεγάλα προγράμματα περιήγησης ιστού διέκοψαν επίσημα το Flash Player τον Δεκέμβριο του 2020 λόγω ευπαθειών ασφαλείας. Για να παίξετε αρχεία FLV σήμερα, χρησιμοποιήστε το πρόγραμμα αναπαραγωγής πολυμέσων VLC ή μετατρέψτε τα σε MP4.
Μπορώ να μετατρέψω FLV σε MP4 χωρίς απώλεια ποιότητας;
Εάν το αρχείο FLV περιέχει βίντεο H.264 και ήχο AAC, το File2File μπορεί να εκτελέσει remuxing κοντέινερ χωρίς απώλειες σε MP4 μέσα σε λίγα δευτερόλεπτα χωρίς να επανασυμπιέσει το βίντεο.
Ποιο κωδικοποιητή χρησιμοποιούσαν αρχικά τα βίντεο FLV;
Τα πρώιμα αρχεία FLV χρησιμοποιούσαν Sorenson Spark (μια παραλλαγή του H.263) και αργότερα On2 VP6, πριν η Adobe προσθέσει υποστήριξη για το τυπικό H.264 το 2007.