Τι είναι ένα αρχείο MOV;
Ένα αρχείο MOV είναι ένας τύπος αρχείου βίντεο, που αναπτύχθηκε από την Apple Inc., που περιέχει ένα ή περισσότερα κομμάτια. Κάθε κομμάτι αποθηκεύει μια ταινία, ήχο, κλιπ ταινίας και υπότιτλους. Είναι ένα κοντέινερ πολυμέσων που μπορεί να αποθηκεύσει διαφορετικούς τύπους στοιχείων πολυμέσων. Η μορφή βίντεο MOV είναι συμβατή με συστήματα Windows και Macintosh. Χρησιμοποιεί κωδικοποιημένο MPEG-4 για συμπίεση και τα ίχνη διατηρούνται σε αντικείμενα που ονομάζονται άτομα και τοποθετούνται σε μια ιεραρχική δομή δεδομένων.
Σύντομο ιστορικό της μορφής αρχείου MOV
Η μορφή αρχείου MPEG-4 έχει εξελιχθεί από την προδιαγραφή QuickTime File Format (QTFF) το 2001. Ο Διεθνής Οργανισμός Τυποποίησης ενέκρινε τη μορφή και οι προδιαγραφές συστημάτων MPEG-4 Part 1 δημοσιεύθηκαν το 1999. Το 2001, ένα αρχείο αναθεώρησης μορφή MP4 δημοσιεύτηκε.
Η πρώτη έκδοση του MP4 αναθεωρήθηκε το 2003 ως MPEG-4 Part 14 (ISO/IEC 14496-14:2003). Το 2004, το MP4 γενικεύτηκε για να ορίσει μια γενική δομή για όλα τα αρχεία πολυμέσων που βασίζονται στο χρόνο. Επομένως, τώρα χρησιμοποιείται ως βάση για διάφορες άλλες μορφές αρχείων πολυμέσων.
Μορφή αρχείου QuickTime (QTFF) - Περισσότερες πληροφορίες
Για να εργαστείτε με ψηφιακά πολυμέσα, το QTFF μπορεί να κρατήσει πολλά είδη δεδομένων. Είναι μια μορφή ιδέας για ανταλλαγή ψηφιακών μέσων καθώς η μορφή ορίζει τα πρότυπα για την περιγραφή κάθε είδους δομών μέσων. Η μορφή αρχείου αποτελείται από μια ευέλικτη συλλογή αντικειμενοστρεφών αντικειμένων. Για την αποθήκευση ταινιών σε δίσκους, το QuickTime χρησιμοποιεί δύο δομές, δηλαδή «άτομα» και «άτομα QT».
Άτομα
Το Atom είναι η βασική μονάδα του αρχείου QuickTime. Υπάρχουν δύο κύρια πεδία σε οποιοδήποτε άτομο πριν από οποιοδήποτε άλλο πεδίο: πεδία Μέγεθος και Τύπος. Το πεδίο μεγέθους δείχνει το μέγεθος του ατόμου ενώ το πεδίο τύπου υποδεικνύει τον τύπο των δεδομένων που είναι αποθηκευμένα στο άτομο. Από τη φύση τους, τα άτομα είναι ιεραρχικά, πράγμα που σημαίνει ότι ένα άτομο μπορεί να περιέχει άλλα άτομα τα οποία μπορούν ακόμα να περιέχουν άλλα. Η διάταξη ενός ατόμου δείγματος φαίνεται στην παρακάτω εικόνα.
Κάθε άτομο έχει δύο μέρη, «κεφαλίδα» και «δεδομένα». Η κεφαλίδα περιέχει τα πεδία μεγέθους και τύπου και το τμήμα δεδομένων περιέχει τα πραγματικά δεδομένα. Επιπλέον, κάθε πεδίο επεξηγείται παρακάτω:
Μέγεθος ατόμου
Η κεφαλίδα και τα περιεχόμενα του ατόμου υποδεικνύονται από έναν ακέραιο 32-bit γνωστό ως το μέγεθος του ατόμου. Το πεδίο μεγέθους περιέχει το μέγεθος του ατόμου σε byte, εκφρασμένο σε έναν ακέραιο 32-bit χωρίς πρόσημο.
Τύπος ατόμου
Ο τύπος του ατόμου εμφανίζεται επίσης από έναν ακέραιο 32-bit, ο οποίος αντιμετωπίζεται ως επί το πλείστον ως πεδίο τεσσάρων χαρακτήρων με knemonic τιμή, όπως “moov” (0x6D6F6F76) για ένα άτομο ταινίας ή “trak” (0x7472616B) για ένα άτομο τροχιάς. Μόλις γίνει γνωστός ο τύπος του ατόμου, επιτρέπει την ερμηνεία των δεδομένων του.
Άτομα QT και δοχεία ατόμων
Τα άτομα QT παρέχουν μια μορφή αποθήκευσης γενικής χρήσης και έχουν μια εκτεταμένη κεφαλίδα που αποτελείται από πεδία Size, Type, Atom ID και Count of Child άτομα. Τα άτομα QT είναι τυλιγμένα σε ένα δοχείο ατόμου, μια μοναδική δομή δεδομένων με κεφαλίδα με πλήθος κλειδώματος. Υπάρχει ένα άτομο ρίζας σε κάθε δοχείο ατόμου που είναι το άτομο QT. Η διάταξη του ατόμου QT φαίνεται στο παρακάτω σχήμα.
Η κεφαλίδα κοντέινερ ατόμου QT έχει τα ακόλουθα δεδομένα:
Δεσμευμένο: Ένα στοιχείο 10 byte με τιμή 0.
Lock Count: Ακέραιος 16-bit με τιμή 0.
Οι κεφαλίδες ατόμων QT έχουν τα ακόλουθα δεδομένα:
Μέγεθος - Η κεφαλίδα και τα περιεχόμενα του ατόμου QT υποδεικνύονται σε byte με έναν ακέραιο αριθμό 32 bit. Στην περίπτωση ατόμου φύλλου, τότε αυτό το πεδίο περιέχει το μέγεθος ενός μόνο ατόμου.
Τύπος - Ο τύπος του ατόμου υποδεικνύεται με έναν ακέραιο αριθμό 32 bit. Σε περίπτωση που είναι το άτομο ρίζας, τότε η τιμή ορίζεται σε ‘sean’.
Ατομικό αναγνωριστικό - Είναι ένας ακέραιος αριθμός 32-bit που δείχνει το αναγνωριστικό ατόμου και πρέπει να είναι μοναδικός για όλα τα αδέρφια. Το άτομο ρίζας είναι πάντα η τιμή του αναγνωριστικού ατόμου ως 1.
Δέσμευση - Ένας ακέραιος 16-bit που πρέπει να οριστεί στο 0.
Αριθμός παιδιών - Ένας ακέραιος αριθμός 16 bit που υποδεικνύει τον αριθμό των θυγατρικών ατόμων ενός ατόμου.
Δέσμευση - Ένας ακέραιος αριθμός 32-bit που πρέπει να οριστεί στο 0.
Δομή αρχείων των αρχείων MOV
Τα αρχεία MOV αποτελούνται από διαδοχικά κομμάτια. Κάθε κομμάτι έχει μια κεφαλίδα 8 byte: μέγεθος τεμαχίου 4 byte (big-endian, high byte πρώτα) και τύπο τεμαχίου 4 byte - μία από τις προκαθορισμένες υπογραφές: “ftyp”, “mdat”, “moov”, “pnot “, “udta”, “uuid”, “moof”, “free”, “skip”, “jP2 “, “wide”, “load”, “ctab”, “imap”, “matt”, “kmat”, “clip”, “crgn”, “sync”, “chap”, “tmcd”, “scpt”, “ssrc”, “PICT”. Το πρώτο κομμάτι είναι τύπου “ftype” και έχει έναν δευτερεύοντα τύπο σε μετατόπιση 8. Το MOV ορίζεται από τον δευτερεύοντα τύπο που πρέπει να είναι “qt”. Για τη σύνθεση του αρχείου MOV, απαιτούνται επαναλαμβανόμενα κομμάτια μέχρι να εντοπιστεί άγνωστος τύπος.
Ακολουθεί ένα «δείγμα παράδειγμα»: Επιθεωρώντας τα δυαδικά δεδομένα ενός δείγματος αρχείου MOV, είναι προφανές ότι ξεκινά με μια υπογραφή ftyp (δεκαεξαδικό: 66 74 79 70) στη μετατόπιση 4, η οποία ορίζει τον τύπο αρχείου κοντέινερ QuickTime. Ο δευτερεύων τύπος αρχείου είναι qt~~ (hex: 71 74 20 20) που δείχνει τον τύπο αρχείου MOV. Το πρώτο μέγεθος μπλοκ είναι 32 (δεκαεξαδικό: 00 00 00 20, big-endian, υψηλό byte πρώτα), το μέγεθος βρίσκεται σε μετατόπιση 0. Στη μετατόπιση 32 (hex: 20) βρίσκεται το δεύτερο κομμάτι, το οποίο έχει μέγεθος 8 και τύπου mdat (hex: 6D 64 61 74).
Το επόμενο κομμάτι βρίσκεται στο offset 32+8#40 (hex: 28) και έχει μέγεθος 3.263.028 (hex: 00 31 CA 34) και τύπο mdat (hex: 6D 64 61 74) σε offset 44 (hex : 2C). Το επόμενο κομμάτι βρίσκεται στο offset 40 + 3.263.028#3.263.068 (hex: 00 31 CA 5C) και έχει μέγεθος 21.189 (hex: 00 00 52 C5) και τύπο moov (hex: 6D 76F) at 6F 1.836.019.574 (hex: 00 31 CA 60). Αυτό είναι το τελευταίο κομμάτι, επομένως το συνολικό μέγεθος αρχείου είναι 3.263.068+21.189#3.284.257 byte.
Πώς να μετατρέψετε το αρχείο MOV;
Υπάρχουν πολλά προγράμματα αναπαραγωγής πολυμέσων και προγράμματα επεξεργασίας βίντεο λογισμικού που είναι διαθέσιμα για τη μετατροπή αρχείων MOV άλλες δημοφιλείς μορφές αρχείων βίντεο. Ορισμένες από τις συσκευές αναπαραγωγής πολυμέσων που μπορούν να μετατρέψουν αρχεία MOV σε άλλες μορφές περιλαμβάνουν:
- VideoLAN VLC media player
- Eltima Elmedia Player
Πολλά προγράμματα αναπαραγωγής πολυμέσων και προγράμματα επεξεργασίας βίντεο, συμπεριλαμβανομένου του προγράμματος αναπαραγωγής πολυμέσων VideoLAN VLC και του Eltima Elmedia Player, μπορούν να μετατρέψουν αρχεία MOV σε άλλες μορφές. Αυτό το λογισμικό μπορεί να μετατρέψει αρχεία MOV στις ακόλουθες μορφές βίντεο.
- Βίντεο MPEG-4 - MP4
- Βίντεο WebM - WEBM
- Ροή μεταφοράς βίντεο - TS
- Μορφή προηγμένων συστημάτων - ASF
- Ogg Vorbis Audio - OGG
- Ήχος MP3 - MP3
- Δωρεάν κωδικοποιητής ήχου χωρίς απώλειες - FLAC
- Ήχος WAVE - WAV
API ανοιχτού κώδικα για αρχεία MOV
- React Native API για μετατροπή MOV σε MP4
- API Python για επιδιόρθωση αρχείων MOV
- Ruby API για μετατροπή MOV σε GIF