aspose.info
EL

Μορφή αρχείου MKV

Ενημερώθηκε

Τι είναι ένα αρχείο MKV;

Το MKV (Matroska Video) είναι ένα κοντέινερ πολυμέσων παρόμοιο με τη μορφή MOV και AVI, αλλά υποστηρίζει περισσότερα από ένα κομμάτια ήχου και υπότιτλων στο ίδιο αρχείο. Ένα αρχείο MKV είναι η μορφή κοντέινερ πολυμέσων Matroska που χρησιμοποιείται για βίντεο. Το MKV βασίζεται σε επεκτάσιμη δυαδική μετα-γλώσσα και υποστηρίζει πολλές μορφές συμπίεσης βίντεο και ήχου. Η κύρια διαφορά μεταξύ του MKV και άλλων μορφών βίντεο είναι ότι το MKV είναι ένα κοντέινερ και όχι ένας κωδικοποιητής. Τα αρχεία MKV αποθηκεύονται με την επέκταση αρχείου .mkv. Το MKV μπορεί να ενσωματώσει ήχο, βίντεο και υπότιτλους σε ένα μόνο αρχείο ακόμα κι αν αυτά τα στοιχεία χρησιμοποιούν διαφορετικούς τύπους κωδικοποίησης. Για παράδειγμα, θα μπορούσατε να έχετε ένα αρχείο MKV που περιέχει βίντεο H.264 και MP3 ή AAC για ήχο. Το MKV υποστηρίζει επίσης περιγραφές, βαθμολογίες, εξώφυλλα, ακόμη και σημεία κεφαλαίων. Υπάρχουν πολλά βασικά χαρακτηριστικά που το MKV είναι ασφαλές για το μέλλον. Αυτά τα χαρακτηριστικά περιλαμβάνουν:

  • Υποστήριξη για γρήγορη αναζήτηση.
  • Δυνατότητα επιλογής διαφορετικών ροών ήχου και βίντεο.
  • Υποστήριξη για υπότιτλους (σκληρό και soft-coded).
  • Υποστήριξη για μεταδεδομένα, κεφάλαια και μενού.
  • Δυνατότητα ροής στο διαδίκτυο.
  • Δυνατότητα ανάκτησης λανθασμένων αρχείων που παρέχουν τη δυνατότητα αναπαραγωγής κατεστραμμένων αρχείων.

Σύντομη Ιστορία

Το αρχείο MKV δημιουργήθηκε το 2002 στη Ρωσία. Ο κύριος προγραμματιστής ήταν ο Lasse Kärkkäinen που συνεργάστηκε με τον ιδρυτή της Matroska, Steve Lhomme, και μια ομάδα προγραμματιστών. Το MKV αναπτύχθηκε ως έργο ανοιχτών προτύπων, που σημαίνει ότι είναι ανοιχτού κώδικα και δωρεάν στη χρήση. Με την πάροδο του χρόνου, η μορφή βελτιώθηκε και έγινε η βάση της μορφής πολυμέσων WebM το 2010.

Matroska Design

Η Matroska προσθέτει τους ακόλουθους περιορισμούς στην προδιαγραφή EBML.

  • Το docType του EBML Header πρέπει να είναι “matroska”.
  • Το EBMLMaxIDLength του EBML Header πρέπει να είναι 4.
  • Το EBMLMaxSizeLength του EBML Header πρέπει να είναι μεταξύ 1 και 8 (συμπεριλαμβανομένων).

Όλα τα στοιχεία ανώτατου επιπέδου κωδικοποιούνται σε 4 οκτάδες.

  • Κωδικοί γλώσσας: Η Matroska (έκδοση 1 έως 3) χρησιμοποίησε κωδικούς γλώσσας που μπορεί να είναι είτε η βιβλιογραφική μορφή ISO-639-2 με 3 γράμματα (όπως “fre” για τα γαλλικά), είτε επιπλέον κωδικός χώρας όπως “fre-ca” " για τα καναδικά γαλλικά. Ξεκινώντας από την έκδοση Matroska 4, ΜΠΟΡΕΙ να χρησιμοποιείται είτε το ISO 639-2 είτε το BCP 47 για κωδικούς γλώσσας, αν και συνιστάται το BCP 47.
  • Φυσικοί τύποι: Έχουν διαφορετικό νόημα τόσο για αρχεία ήχου όσο και για αρχεία βίντεο. Για παράδειγμα, το ChapterPhysicalEquiv = 60 σημαίνει (CD / 12" / 10" / 7" / TAPE / MINIDISC / DAT) για ήχο και (DVD / VHS / LASERDISC) για βίντεο.
  • Δομή μπλοκ - Κεφαλίδα μπλοκ: Η κεφαλίδα μπλοκ περιέχει πληροφορίες σχετικά με τον αριθμό κομματιού, τις χρονικές σημάνσεις, τον τύπο κορδονιού κ.λπ.
  • Lacing: Είναι ένας μηχανισμός εξοικονόμησης χώρου κατά την αποθήκευση δεδομένων που χρησιμοποιείται συνήθως για μικρά μπλοκ δεδομένων (πλαίσια). Υπάρχουν 3 τύποι κορδονιών:
    • Xiph: Frame with a size multiple of 255 coded with a 0 at the end of the size. For example, The code for 765 is 255;255;255;0.
    • EBML: The frame size is coded as a difference between the previous size and this size. The first size in the lace is unsigned but others use a range shift to get a sign on each value.
    • fixed-size: The size remains the same.
  • Δομή SimpleBlock: Είναι εμπνευσμένη από τη δομή Block με κύρια διαφορά την προσθήκη σημαιών Keyframe και Discardable. Εκτός από αυτό, όλα είναι ίδια.

Δομή Matroska

Ένα έγγραφο Matroska πρέπει να αποτελείται από τουλάχιστον ένα EBML Document χρησιμοποιώντας τον Matroska Document Type. Κάθε Έγγραφο EBML πρέπει να ξεκινά με μια Κεφαλίδα EBML ακολουθούμενη από το Στοιχείο ρίζας EBML που ορίζεται ως τμήμα. Η Matroska ορίζει πολλά Στοιχεία Ανώτατου Επιπέδου που μπορεί να προκύψουν μέσα στο Τμήμα.

Το EBML χρησιμοποιεί ένα σύστημα στοιχείων για τη σύνταξη ενός εγγράφου EBML. Ακολουθεί η λίστα των στοιχείων ανώτατου επιπέδου στο αρχείο Matroska:

  • Έγγραφο EBML: Περιτύλιγμα για ολόκληρο το αρχείο.
  • EBML Header: Περιέχει τις πληροφορίες κεφαλίδας για το αρχείο όπως το DocType.
  • Τμήμα: Το επάνω στοιχείο που περιέχει όλα τα άλλα στοιχεία ανώτατου επιπέδου.
  • SeekHead: Περιέχει τη θέση των τμημάτων άλλων στοιχείων ανώτατου επιπέδου.
  • Πληροφορίες: Περιέχει γενικές πληροφορίες για το Τμήμα.
  • Κομμάτια: Ένα στοιχείο ανωτάτου επιπέδου πληροφοριών με πολλά κομμάτια που περιγράφονται.
  • Κεφάλαια: Χρησιμοποιείται για τον ορισμό βασικών μενού και δεδομένων διαμερισμάτων.
  • Cluster: Το Στοιχείο Ανώτατου Επιπέδου που περιέχει τη δομή Block.
  • Συνθήματα: Στοιχείο ανώτατου επιπέδου που περιέχει όλες τις τοπικές εγγραφές στο Τμήμα που επιταχύνουν την αναζήτηση αναζήτησης.
  • Συνημμένα: Περιέχει συνημμένα αρχεία.
  • Ετικέτες: Αυτό το στοιχείο περιέχει μεταδεδομένα που περιγράφουν Κομμάτια, Εκδόσεις, Κεφάλαια, Συνημμένα ή το Τμήμα ως σύνολο.

Ο παρακάτω πίνακας δείχνει τη δομή του εγγράφου Matroska με τα περισσότερα από τα στοιχεία να εμφανίζονται σε μια ιεραρχία:

Κεφαλίδα EBML
ΤμήμαSeekHeadΑναζήτησηΑναγνωριστικό αναζήτησης
Αναζήτηση Θέσης
ΠληροφορίεςSegmentUID
Όνομα αρχείου τμήματος
PrevUID
Προηγούμενο όνομα αρχείου
NextUID
Επόμενο Όνομα αρχείου
ΤμήμαΟικογένεια
Κεφάλαιο Μετάφραση
TimestampScale
Διάρκεια
ΗμερομηνίαUTC
Τίτλος
MuxingApp
WritingApp
ΚομμάτιαTrackEntryΑριθμός κομματιού
TrackUID
TrackType
Όνομα
Γλώσσα
CodecID
CodecPrivate
CodecName
ΒίντεοFlag Interlaced
Πεδίο Παραγγελία
StereoMode
AlphaMode
Πλάτος Pixel
Pixel Height
Πλάτος εμφάνισης
Ύψος εμφάνισης
Aspect RatioType
Χρώμα
ΉχοςΣυχνότητα δειγματοληψίας
Κανάλια
BitDepth
ΚεφάλαιαΕισαγωγή ΈκδοσηςEditionUID
EditionFlagHidden
EditionFlagDefault
EditionFlagOrdered
ΚεφάλαιοAtomChapterUID
ChapterStringUID
ChapterTimeStart
Κεφάλαιο Χρόνος Τέλος
ChapterFlagHidden
Εμφάνιση κεφαλαίουChapString
ChapLanguage
ΣυστάδαΧρονική σήμανση
SilentTracks
Θέση
Προηγούμενο Μέγεθος
SimpleBlock
BlockGroup
EncryptedBlock
ΣυνθήματαCuePointCueTime
CueTrackPositions
ΣυνημμέναAttachedFileΠεριγραφή αρχείου
Όνομα αρχείου
FileMimeType
FileUID
Παραπομπή αρχείου
FileUsedStartTime
FileUsedEndTime
ΕτικέτεςΕτικέταΣτόχοιTargetTypeValue
TargetType
TagTrackUID
TagEditionUID
TagChapterUID
TagAttachmentUID
SimpleTagΌνομα ετικέτας
TagLanguage
TagDefault
TagString
TagBinary
SimpleTag

Χρήση κωδικοποιητών

Εάν δεν θέλετε μια νέα συσκευή αναπαραγωγής πολυμέσων και προτιμάτε να χρησιμοποιήσετε την υπάρχουσα συσκευή αναπαραγωγής σας, θα χρειαστεί να εγκαταστήσετε κάποιους κωδικοποιητές (συντομογραφία για συμπίεση/αποσυμπίεση). Παρόλο που η λήψη κωδικοποιητών είναι μια έγκυρη επιλογή, θα πρέπει να είστε προσεκτικοί σχετικά με την πηγή και ενδέχεται να περιέχουν κακόβουλο λογισμικό.

Βιβλιογραφικές αναφορές

Δείτε επίσης