فایل MOV چیست؟
یک فایل MOV یک نوع فایل ویدئویی است که توسط شرکت اپل ساخته شده است و حاوی یک یا چند آهنگ است. هر آهنگ یک فیلم، صدا، کلیپ فیلم و زیرنویس را ذخیره می کند. این یک ظرف چند رسانه ای است که می تواند انواع مختلفی از عناصر رسانه ای را ذخیره کند. فرمت ویدئویی MOV با هر دو سیستم ویندوز و مکینتاش سازگار است. از MPEG-4 کدگذاری شده برای فشرده سازی استفاده می کند و آهنگ ها در اشیایی به نام اتم ها که در یک ساختار داده سلسله مراتبی قرار می گیرند حفظ می شوند.
تاریخچه مختصر فرمت فایل MOV
MPEG-4 file format has evolved from QuickTime File Format (QTFF) specification in 2001. سازمان بین المللی استاندارد فرمت را تایید کرد و مشخصات سیستم های MPEG-4 Part 1 در سال 1999 منتشر شد. در سال 2001، فرمت فایل تجدید نظر MP4 منتشر شد.
اولین نسخه MP4 در سال 2003 به عنوان MPEG-4 قسمت 14 اصلاح شد (ISO/IEC 14496-14:2003). در سال 2004، MP4 برای تعریف یک ساختار کلی برای تمام فایل های رسانه ای مبتنی بر زمان تعمیم یافت. بنابراین، اکنون به عنوان پایه ای برای فرمت های مختلف فایل های چند رسانه ای دیگر استفاده می شود.
فرمت فایل QuickTime (QTFF) - اطلاعات بیشتر
به منظور کار با چند رسانه ای دیجیتال، QTFF می تواند انواع مختلفی از داده ها را در خود نگه دارد. این قالب ایده ای برای تبادل رسانه های دیجیتال است زیرا فرمت استانداردهایی را برای توصیف هر نوع ساختار رسانه ای تعریف می کند. فرمت فایل از مجموعه ای انعطاف پذیر از اشیاء شی گرا تشکیل شده است. برای ذخیرهسازی فیلمها روی دیسکها، QuickTime از دو ساختار یعنی «اتمها» و «اتمهای QT» استفاده میکند.
اتم ها
Atom واحد اصلی فایل QuickTime است. دو میدان اصلی در هر اتمی قبل از هر میدان دیگری وجود دارد: فیلدهای اندازه و نوع. فیلد اندازه اندازه اتم را نشان می دهد در حالی که فیلد نوع نوع داده های ذخیره شده در اتم را نشان می دهد. ذاتاً، اتمها سلسله مراتبی هستند، به این معنی که یک اتم میتواند حاوی اتمهای دیگری باشد که همچنان میتوانند حاوی اتمهای دیگری باشند. طرح یک اتم نمونه در تصویر زیر نشان داده شده است.
هر اتم دارای دو بخش «هدر» و «داده» است. هدر شامل فیلدهای اندازه و نوع و قسمت داده حاوی داده های واقعی است. علاوه بر این، هر زمینه در زیر توضیح داده شده است:
اندازه اتم
هدر و محتویات اتم با یک عدد صحیح 32 بیتی به نام اندازه اتم نشان داده می شود. فیلد اندازه شامل اندازه اتم بر حسب بایت است که در یک عدد صحیح بدون علامت 32 بیتی بیان شده است.
نوع اتم
نوع اتم نیز با یک عدد صحیح 32 بیتی نشان داده میشود که بیشتر به عنوان یک فیلد چهار کاراکتری با مقدار knemonic در نظر گرفته میشود، مانند ‘moov’ (0x6D6F6F76) برای اتم فیلم، یا ’trak’ (0x7472616B) برای یک اتم مسیر هنگامی که نوع اتم شناخته شد، امکان تفسیر داده های آن را فراهم می کند.
اتم های QT و ظروف اتم
اتمهای QT فرمت ذخیرهسازی همه منظوره را ارائه میکنند و دارای یک هدر گسترده متشکل از فیلدهای Size، Type، Atom ID و Count of Child اتمها هستند. اتمهای QT در یک محفظه اتم پیچیده شدهاند، یک ساختار داده منحصربهفرد که یک سربرگ با تعداد قفل دارد. در هر ظرف اتم یک اتم ریشه وجود دارد که اتم QT است. طرح اتم QT در شکل زیر نشان داده شده است.
هدر ظرف اتم QT دارای داده های زیر است:
Reserved: یک عنصر 10 بایتی با مقدار 0.
تعداد قفل: عدد صحیح 16 بیتی با مقدار 0.
هدرهای اتم QT داده های زیر را دارند:
اندازه - هدر و محتویات اتم QT در بایت با یک عدد صحیح 32 بیتی نشان داده شده است. در مورد یک اتم برگ، این فیلد به اندازه یک اتم است.
نوع - نوع اتم با یک عدد صحیح 32 بیتی نشان داده می شود. در صورتی که اتم ریشه باشد، مقدار آن روی sean تنظیم می شود.
Atom ID - یک عدد صحیح 32 بیتی است که شناسه اتم را نشان می دهد و باید برای همه خواهر و برادرها منحصر به فرد باشد. اتم ریشه همیشه مقدار شناسه اتم 1 است.
رزرو شده - یک عدد صحیح 16 بیتی که باید روی 0 تنظیم شود.
تعداد فرزند - یک عدد صحیح 16 بیتی که تعداد اتم های فرزند یک اتم را نشان می دهد.
رزرو شده - یک عدد صحیح 32 بیتی که باید روی 0 تنظیم شود.
ساختار فایل فایل های MOV
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 با نوع فرعی که باید qt باشد تعریف شده است. برای نوشتن فایل MOV، تکههای تکراری مورد نیاز است تا زمانی که نوع ناشناخته شناسایی شود.
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. در افست 32 (هگز: 20) قطعه دوم قرار دارد که دارای اندازه 8 و نوع mdat (هگز: 6D 64 61 74) است.
قطعه بعدی در آفست 32+8#40 (هگز: 28) قرار دارد و دارای اندازه 3,263,028 (هگز: 00 31 CA 34) و نوع mdat (هگز: 6D 64 61 74) در افست 44 (هگز). : 2C). قطعه بعدی در افست 40 + 3,263,028#3,263,068 (هگز: 00 31 CA 5C) قرار دارد و دارای اندازه 21,189 (هگز: 00 00 52 C5) و نوع moov (هگز: 6D 76F) در 6F است. 1,836,019,574 (هگزا: 00 31 CA 60). این آخرین قطعه است، بنابراین حجم کل فایل 3,263,068+21,189#3,284,257 بایت است.
چگونه فایل MOV را تبدیل کنیم؟
تعداد زیادی پخش کننده رسانه و ویرایشگرهای ویدئویی نرم افزاری برای تبدیل فایل های MOV دیگر فرمت های فایل ویدئویی محبوب وجود دارد. برخی از پخش کننده های رسانه ای که می توانند فایل های MOV را به فرمت های دیگر تبدیل کنند عبارتند از:
- پخش کننده رسانه VideoLAN VLC
- 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