فایل MOV را در ویندوز در بیشتر موارد میشود بدون هیچ افت کیفیتی به MP4 تبدیل کرد، چون MOV و MP4 فقط «قالب» (container) هستند و ویدیوی HEVC یا H.264 داخل فایل آیفون همان چیزی است که MP4 هم نگه میدارد. جابهجا کردن استریمها به قالب جدید (remux) چند ثانیه طول میکشد و به یک پیکسل هم دست نمیزند. تبدیل واقعی (انکود دوباره) فقط وقتی لازم است که مقصد کدک، اندازه یا رفتار HDR متفاوتی بخواهد؛ آنوقت کیفیت را آگاهانه انتخاب کن و نتیجه را اندازه بگیر، نه اینکه به پیشتنظیم اعتماد کنی.
remux استریم را به جعبهی جدید میبرد. انکود دوباره تصویر را از نو میسازد. فقط دومی کیفیت کم میکند.
فرق MOV و MP4 چیست؟
کمتر از چیزی که پسوندها نشان میدهند. هر دو قالباند: پوششی که یک استریم ویدیو، یک یا چند استریم صدا و مقداری متادیتا را نگه میدارد، با فهرستی که میگوید هر فریم کجاست. MP4 از روی فرمت QuickTime اپل استاندارد شده، پس این دو خویشاوند نزدیکاند. چیزی که تعیین میکند تصویر چه شکلی باشد، کدک داخل فایل است: HEVC (همان H.265)، H.264، ProRes و امثالش.
| MOV | MP4 | |
|---|---|---|
| چیست | قالب QuickTime اپل | قالب استاندارد ISO، برگرفته از QuickTime |
| ویدیوی معمول داخلش (آیفون) | HEVC (پیشفرض) یا H.264؛ ProRes در مدلهای Pro | HEVC یا H.264 |
| صدای معمول داخلش | AAC | AAC |
| HDR (۱۰ بیت، HLG یا Dolby Vision) میگیرد؟ | بله | بله |
| در برنامههای خود ویندوز پخش میشود؟ | تا حدی: به کدک بستگی دارد، نه پسوند | تا حدی: همان جواب |
| ترکهای اضافه (تایمکد، متادیتای حرکت) | در ضبط آیفون رایج | معمولاً حذف میشود |
ردیف پنجم را دو بار بخوان. وقتی برنامهای در ویندوز فایل MOV آیفون را باز نمیکند، تقریباً هیچوقت تقصیر «.mov» نیست؛ تقصیر HEVC داخلش است. عوض کردن پسوند یا remux به MP4 این را حل نمیکند، و تبدیل به H.264 حلش میکند، ولی به قیمت یک انکود دوباره. کل این مقاله همین یک تفاوت است.
میشود MOV را بدون افت کیفیت به MP4 تبدیل کرد؟
بله، اگر کدک داخلش چیزی باشد که MP4 نگه میدارد و مقصد بتواند پخشش کند. آنوقت remux میکنی: استریمهای فشردهی ویدیو و صدا را از MOV برمیداری و بدون تغییر در MP4 میگذاری. چیزی باز نمیشود، چیزی دوباره فشرده نمیشود و خروجی بیتبهبیت همان تصویر است. روی یک فایل ۲ گیگی، تقریباً به اندازهی کپی کردن فایل طول میکشد.
یک سؤال که remux یا انکود دوباره را تعیین میکند.
استثنا هر چیزی است که خودِ تصویر را عوض کند. کدک متفاوت (HEVC به H.264 برای یک پخشکنندهی قدیمی)، اندازهی متفاوت (4K به 1080p برای ریلز)، فریمریت متفاوت، یا HDR به SDR، همه باز کردن و انکود دوباره لازم دارند. این یعنی re-encode، و هر انکود دوباره چیزی کم میکند. چقدر؟ عددی است که میشود اندازه گرفت؛ بخش بیتریت پایینتر میگوید هدف چه باشد.
چرا ویندوز فایل MOV آیفونم را پخش نمیکند؟
چون آیفون از سال ۲۰۱۷ بهطور پیشفرض HEVC ضبط میکند و ویندوز در برنامههای خودش بدون افزونه HEVC را باز نمیکند. Photos، Movies & TV و Media Player همه میگویند HEVC Video Extensions را از مایکروسافت استور نصب کن؛ افزونهای پولی و کوچک که خرید از استور برای کاربر ایرانی بدون کارت بینالمللی عملاً ممکن نیست. پخشکنندههای رایگان مثل VLC، PotPlayer و KMPlayer دیکودر HEVC خودشان را دارند و فایل را همانطور که هست پخش میکنند.
سه راه، به ترتیب زحمت:
- پخشکننده را عوض کن، نه فایل را. VLC یا PotPlayer نصب کن. MOV پخش میشود، روی صفحهی مناسب با HDR، و هیچچیز از دست نرفته.
- ضبط را عوض کن. در آیفون از مسیر Settings → Camera → Formats گزینهی Most Compatible از این به بعد H.264 ضبط میکند: فایل بزرگتر، پخش گستردهتر. جدا از آن، در Settings → Photos → Transfer to Mac or PC گزینهی Automatic هنگام انتقال با کابل HEVC را به H.264 تبدیل میکند و Keep Originals همان فایل HEVC ضبطشده را میفرستد.
- کدک را عوض کن. یک بار به H.264 انکود کن، برای همان یک پخشکننده یا آدمی که HEVC را نمیخواند. اصلی را نگه دار.
اگر مشکل فیلتر ورودی یک برنامه است نه پخش (فرم وبی که فقط «.mp4» میپذیرد، ابزاری که MP4 را فهرست کرده ولی MOV را نه)، remux در چند ثانیه حلش میکند. اگر فایل از تلگرام آمده و تار است، احتمالاً بهصورت «ویدیو» فرستاده شده نه «فایل»، و تلگرام خودش دوباره فشردهاش کرده؛ تبدیل قالب این را برنمیگرداند. راه درست فرستادنش در ارسال فیلم با کیفیت در تلگرام آمده.
کی باید به جای remux دوباره انکود کنم؟
وقتی مقصد چیزی میخواهد که استریم فعلی ندارد. چهار مورد رایج:
- سازگاری. پخشکننده، تلویزیون یا گیرنده HEVC را باز نمیکند. به H.264 (پروفایل High، ۸ بیت، 4:2:0) انکود کن. این یک تبدیل واقعی با یک افت واقعی، کوچک و قابل اندازهگیری است.
- اندازه یا فریمریت. ریلز ۱۰۸۰ × ۱۹۲۰ با ۳۰ فریم میخواهد؛ منبع 4K با ۶۰ فریم باید کوچک و نصف شود (۵۹٫۹۴ به ۲۹٫۹۷ دقیقاً نصف است).
- HDR به SDR. کلیپ HDR آیفون در مقصدی که آن را SDR میخواند خاکستری درمیآید، مگر اینکه به BT.709 تبدیل (tone-map) شود. H.264 در عمل یعنی ۸ بیت SDR، پس «تبدیل به H.264» و «تبدیل به SDR» معمولاً با هم اتفاق میافتند.
- بیتریت. فایل ProRes با ۲۰۰ مگابیت برای تدوین عالی است و برای آپلود بیفایده. به بیتریت مقصد انکود کن و ProRes را بهعنوان نسخهی اصلی نگه دار.
اگر هیچکدام از این چهار مورد نیست، دوباره انکود نکن. انکود دوبارهی فایلی که از قبل درست بوده، ضرر خالص است: چند دقیقه وقت میبرد و خروجی فقط میتواند برابر یا بدتر باشد. اینکه چطور «از قبل درست» را از «کار لازم دارد» تشخیص بدهی در کم کردن حجم فیلم بدون افت کیفیت آمده.
یک نکتهی بومی: سایتهای تبدیل آنلاین برای این کار بدترین گزینهاند. فایل ۲ گیگی آیفون باید اول روی فیلترشکن آپلود شود، بعد تبدیل شود، بعد دانلود شود؛ با آپلود ۱۰ مگابیتی فقط رفتنش حدود ۲۸ دقیقه است، و اگر سایت دوباره انکود کند، کیفیتی را از دست دادهای که لازم نبود. remux روی کامپیوتر خودت چند ثانیه است و آفلاین.
تبدیل MOV به MP4 قدمبهقدم چطور است؟
قدمهای زیر با FFmpeg است، ابزار متنبازی که بیشتر مبدلها رویش ساخته شدهاند؛ مستندات FFmpeg کپی استریم را با جزئیات توضیح داده. هر برنامهی گرافیکی هم که گزینهی «copy» یا «passthrough» برای ویدیو دارد، همین کار را میکند.
- داخل فایل را ببین. راستکلیک → Properties → Details اندازه و فریمریت را نشان میدهد؛ MediaInfo یا
ffprobeکدک (HEVC یا H.264)، عمق بیت و برچسب HDR را هم. از روی فهرست بالا تصمیم بگیر: remux یا انکود دوباره. - remux (بدون افت).
ffmpeg -i clip.mov -map 0:v:0 -map 0:a:0 -c copy -movflags +faststart clip.mp4. دو گزینهی-mapفقط ویدیو و صدای اصلی را نگه میدارند و ترکهای تایمکد و متادیتای آیفون را که برای آپلود لازم نیست کنار میگذارند؛faststartفهرست را به اول فایل میبرد تا قبل از دانلود کامل پخش شود. چند ثانیه، نه چند دقیقه. - انکود دوباره (فقط اگر لازم بود). برای یک فایل H.264 سازگار:
ffmpeg -i clip.mov -c:v libx264 -preset slow -crf 18 -pix_fmt yuv420p -c:a aac -b:a 192k -movflags +faststart clip.mp4. راهنمای خود FFmpeg مقدار CRF ۱۷ تا ۱۸ را تقریباً بدون افت دیداری و ۱۸ تا ۲۳ را محدودهی معمول میداند. منبع HDR علاوه بر این یک فیلتر tone-map لازم دارد، وگرنه رنگها اشتباه درمیآیند. - بررسی کن. تا آخر پخشش کن. مدت فایل باید دقیقاً با اصلی یکی باشد. اگر دوباره انکود کردهای، اندازه بگیر: VMAF ۹۳ یا بالاتر یعنی افت زیر چیزی است که گوشی یا شبکهی اجتماعی نشان میدهد.
- اصلی را نگه دار. MOV نسخهی اصلی توست. کپیهای تبدیلشده دورریختنیاند؛ اصلی نه.
موقع تبدیل MOV به MP4 چه بیتریتی بگذارم؟
برای remux هیچ: بیتریت همانی است که آیفون ضبط کرده و تغییری نکرده. برای انکود دوباره، مقصد تعیینش میکند. توصیههای منتشرشدهی یوتیوب ۸ مگابیت برای 1080p30، ۱۲ برای 1080p60، ۱۶ برای 1440p30 و ۳۵ تا ۴۵ برای 2160p30 است، و برای HDR بیشتر. ریلز با حدود ۱۰ مگابیت برای ۱۰۸۰ × ۱۹۲۰ بهخوبی جواب میدهد. برای فایلی که قرار است به یک آدم برسد نه یک پلتفرم، انکود با کیفیت ثابت (CRF) از بیتریت ثابت بهتر است، چون بیتها را جایی خرج میکند که تصویر لازم دارد.
انکود دوباره با یک عدد کنارش. اگر عدد کم بود، بیتریت را بالا ببر و دوباره بزن. (عددهای این تصویر نمونهاند.)
هر چه انتخاب کردی، یک بار اندازه بگیر. پیشتنظیم انکودرها بین ابزارها خیلی فرق دارد و «کیفیت بالا» در یک برنامه میتواند بیتریتی باشد که برنامهی دیگر «پایین» صدایش میکند. نمرهی اندازهگیریشده حدس را حذف میکند: حدود ۴ ثانیه برای هر نمونهی ۲ ثانیهای روی کلیپ 1080p.
راه میانبر
بچلون یک قانون ساده دارد: اگر فایل از قبل مناسب مقصد است، remux میشود یا همانطور میماند؛ هیچچیز بیدلیل دوباره انکود نمیشود. MOV را بکش داخلش؛ گزارش رایگان میگوید این فایل تبدیل واقعی لازم دارد یا فقط قالب جدید، و چرا. اگر انکود دوباره لازم بود، بچلون تنظیمات مقصد را خودش میچیند، خروجی را با VMAF میسنجد و هیچچیز زیر ۹۳ را «آماده» نمیگوید. فایل اصلی هیچوقت دست نمیخورد و همهچیز آفلاین روی کامپیوتر خودت است. سه ویدیوی اول با همهی امکانات رایگان. دانلود نسخهی ویندوز یا دیدن پلنها.