Hvad er en MOV fil?
En MOV-fil er en videofiltype, udviklet af Apple Inc., der indeholder et eller flere spor. Hvert spor gemmer en film, lyd, filmklip og undertekster. Det er en multimediebeholder, der kan opbevare forskellige typer medieelementer. MOV-videoformatet er kompatibelt med både Windows- og Macintosh-systemer. Den bruger MPEG-4 kodet til komprimering, og spor vedligeholdes i objekter kaldet atomer, som er placeret i en hierarkisk datastruktur.
Kort historie om MOV-filformat
MPEG-4 file format has evolved from QuickTime File Format (QTFF) specification in 2001. International Organization of Standardization godkendte formatet, og MPEG-4 Part 1 systemspecifikationerne blev offentliggjort i 1999. I 2001 blev et revisionsfilformat MP4 offentliggjort.
MP4’s første version blev revideret i 2003 som MPEG-4 Part 14 (ISO/IEC 14496-14:2003). I 2004 blev MP4 generaliseret til at definere en generel struktur for alle tidsbaserede mediefiler. Derfor bruges den nu som grundlag for forskellige andre multimediefilformater.
QuickTime File Format (QTFF) - Flere oplysninger
For at kunne arbejde med digitale multimedier kan QTFF indeholde mange slags data. Det er et idéformat til udveksling af digitale medier, da formatet definerer standarderne for beskrivelse af enhver form for mediestrukturer. Filformatet består af en fleksibel samling af objektorienterede objekter. Til lagring af film på diske bruger QuickTime to strukturer, nemlig atomer
og QT-atomer
.
Atomer
Atom er den grundlæggende enhed i QuickTime-filen. Der er to hovedfelter i ethvert atom før ethvert andet felt: Størrelses- og Typefelter. Størrelsesfeltet viser størrelsen af atomet, mens typefeltet angiver typen af data, der er gemt i atomet. Af natur er atomer hierarkiske, hvilket betyder, at et atom kan indeholde andre atomer, som stadig kan indeholde andre. Layoutet af et prøveatom er vist i det følgende billede.
Hvert atom har to dele, header og data. Overskriften indeholder felterne størrelse og type, og datadelen indeholder de faktiske data. Yderligere er hvert felt forklaret nedenfor:
Atomstørrelse
Atomets overskrift og indhold er angivet med et 32-bit heltal kendt som atomets størrelse. Størrelsesfeltet indeholder atomets størrelse i bytes, udtrykt i et 32-bit heltal uden fortegn.
Atomtype
Atomets type er også vist med et 32-bit heltal, som for det meste behandles som et felt med fire tegn med knemonisk værdi, såsom ‘moov’ (0x6D6F6F76) for et filmatom eller ’trak’ (0x7472616B) for et sporatom. Når atomtypen er kendt, tillader den fortolkning af dens data.
QT-atomer og atombeholdere
QT-atomer giver et lagringsformat til generelle formål og har en udvidet overskrift, der består af felterne Størrelse, Type, Atom-ID og Antal underordnede atomer. QT-atomer er pakket ind i en atombeholder, en unik datastruktur med en header med et låseantal. Der er et rodatom i hver atombeholder, som er QT-atomet. Layoutet af QT-atomet er vist i figuren nedenfor.
QT atom container header har følgende data:
Reserveret: Et 10-byte element med en værdi på 0.
Låseantal: 16-bit heltal med en værdi på 0.
QT-atomoverskrifter har følgende data:
Størrelse - QT-atomoverskrift og indhold er angivet i bytes med et 32-bit heltal. I tilfælde af et bladatom, så indeholder dette felt størrelsen af et enkelt atom.
Type - Atomtypen er angivet med et 32-bit heltal. Hvis det er rodatomet, sættes værdien til ‘sean’.
Atom-id - Det er et 32-bit heltal, der viser atom-id’et og skal være unikt for alle søskende. Rodatom er altid værdien af atom ID som 1.
Reserveret - Et 16-bit heltal, der skal sættes til 0.
Antal børn - Et 16-bit heltal, der angiver antallet af underordnede atomer i et atom.
Reserveret - Et 32-bit heltal, der skal sættes til 0.
Filstruktur af MOV-filer
MOV files consist of consecutive chunks. Every chunk has an 8 byte header: 4-byte chunk size (big-endian, high byte first) and 4-byte chunk type - one of pre-defined signatures: “ftyp”, “mdat”, “moov”, “pnot”, “udta”, “uuid”, “moof”, “free”, “skip”, “jP2 “, “wide”, “load”, “ctab”, “imap”, “matt”, “kmat”, “clip”, “crgn”, “sync”, “chap”, “tmcd”, “scpt”, “ssrc”, “PICT”. First chunk is of type “ftype” and has a sub-type at offset 8. MOV defineret af undertype, som skal være qt. For at komponere MOV-fil, kræves itererende bidder, indtil ukendt type er fundet.
Here is a sample example
: Inspecting a sample MOV file’s binary data it is evident that it starts with a signature ftyp (hex: 66 74 79 70) at offset 4, which defines QuickTime Container File Type. File sub-type is qt~~ (hex: 71 74 20 20) which points to MOV file type. The first block size is 32 (hex: 00 00 00 20, big-endian, high byte first), size located at offset 0. Ved offset 32 (hex: 20) er placeret den anden chunk, som har en størrelse på 8 og type mdat (hex: 6D 64 61 74).
Den næste del er placeret ved offset 32+8#40 (hex: 28) og har en størrelse 3.263.028 (hex: 00 31 CA 34) og type mdat (hex: 6D 64 61 74) ved offset 44 (hex : 2C). Den næste del er placeret ved offset 40 + 3,263,028#3,263,068 (hex: 00 31 CA 5C) og har en størrelse 21,189 (hex: 00 00 52 C5) og type moov (hex: 6D 6F 6F 76) ved offset 1.836.019.574 (hex: 00 31 CA 60). Dette er den sidste del, så den samlede filstørrelse er 3.263.068+21.189#3.284.257 bytes.
Sådan konverteres MOV-fil?
Der er masser af medieafspillere og software videoredigerere til rådighed til at konvertere MOV-filer til andre populære videofilformater. Nogle af de medieafspillere, der kan konvertere MOV-filer til andre formater, inkluderer:
- VideoLAN VLC medieafspiller
- Eltima Elmedia Player
Adskillige medieafspillere og videoredigerere, inklusive VideoLAN VLC medieafspiller og Eltima Elmedia Player, kan konvertere MOV-filer til andre formater. Disse software kan konvertere MOV-filer til følgende videoformater.
- MPEG-4-video - MP4
- WebM Video - WEBM
- Videotransportstream - TS
- Advanced Systems Format - ASF
- Ogg Vorbis Audio - OGG
- MP3-lyd - MP3
- Gratis Lossless Audio Codec - FLAC
- WAVE Audio - WAV
Open Source API til MOV-filer
- React Native API for at konvertere MOV til MP4
- Python API til reparation af MOV-filer
- Ruby API til at konvertere MOV til GIF