MP4 ফাইল: ভেতরে কী থাকে, আর কোন ফরম্যাটে রূপান্তর করবেন
একটি MP4 ফাইলে আসলে কী থাকে, একই এক্সটেনশনে কেন এত আলাদা কোডেক, আর কোন রূপান্তরগুলো লসলেস। আপনার ব্রাউজারেই MP4 রূপান্তর করুন, কোনো আপলোড ছাড়াই।
এক নজরে
- ধরন
- ভিডিও
- কন্টেইনার ফরম্যাট
- হ্যাঁ
- এক্সটেনশন
- .mp4
- MIME টাইপ
- video/mp4
- সাধারণ কোডেক
- h264, h265, av1, aac
- অন্য নাম
- MPEG-4 Part 14
MP4 একটি কন্টেইনার, কোডেক নয় — আর এই ফরম্যাটের প্রায় প্রতিটি বিভ্রান্তিকর বিষয় এই একটি তথ্য থেকেই আসে। ফাইলটি একটির ভেতর আরেকটি বাক্সের একটি গাছ (স্পেসিফিকেশন এগুলোকে box বলে, পুরোনো টুল বলে atom), যা ISO/IEC 14496-14-এ সংজ্ঞায়িত, যা নিজে Apple-এর QuickTime থেকে দেওয়া ISO Base Media File Format-এর একটি প্রোফাইল। বাস্তবে দুটি বাক্স জরুরি: moov, প্রতিটি ট্র্যাকের বর্ণনা দেওয়া সূচি, আর mdat, আসল কম্প্রেস করা ফ্রেমের অস্বচ্ছ স্তূপ।
আরও পড়ুন
কন্টেইনার যেহেতু কেবল ট্র্যাকের বর্ণনা দেয়, দুটি ফাইল দুটোই বৈধ MP4 হয়েও আর কিছুতেই মিল না থাকতে পারে। একটিতে AAC অডিওসহ H.264 ভিডিও থাকতে পারে, পরেরটিতে H.265, তার পরেরটিতে AV1, আর যে প্লেয়ার প্রথমটি সামলায় সেটি তৃতীয়টিতে ব্যর্থ হতে পারে, যদিও সবগুলো একই .mp4 এক্সটেনশন আর একই video/mp4 MIME টাইপ দেখায়। এ কারণেই “এখানে কি MP4 চলবে” প্রশ্নের কোনো সাধারণ উত্তর নেই, আর এ কারণেই MP4 আর MOV বা MKV-এর মধ্যে রূপান্তর সাধারণত তাৎক্ষণিক, অথচ WebM-এ রূপান্তর নয়: প্রথম জোড়াটি কেবল নতুন করে প্যাক করা, দ্বিতীয়টিতে প্রতিটি ফ্রেম আবার এনকোড করতে হয়।
moov সূচিটি -movflags +faststart-এর ব্যাখ্যাও দেয়, যা এই সাইট তার লেখা প্রতিটি MP4-এ প্রয়োগ করে। এনকোডার স্বাভাবিকভাবে moov ফাইলের শেষে রাখে, কারণ ট্র্যাকের সময়কাল কেবল এনকোডিং শেষ হলেই জানা যায়। তখন HTTP দিয়ে স্ট্রিম করা একটি প্লেয়ার শেষ বাইট না পৌঁছানো পর্যন্ত শুরু করতে পারে না। Faststart সূচিটি সামনে রেখে ফাইলটি আবার লেখে, এক্সপোর্টে একটি বাড়তি ধাপ খরচ করে, বিনিময়ে বাজানো সঙ্গে-সঙ্গেই শুরু হয়।
নামকরণ একটি প্রথা, নিয়ম নয়। .m4a হলো কেবল অডিও রাখা একটি MP4 ফাইল, .m4v হলো Apple-এর ভিডিও সংস্করণ, আর .mp4 সাধারণ রূপ — তিনটিই একই কন্টেইনার, আর নাম বদলালে রূপান্তর হয় না। নাম বদলানো কোনো শর্টকাটও নয়: এখানে M4A-তে অডিও বের করলে বিদ্যমান AAC ট্র্যাকটি তুলে আনা হয় না, আবার এনকোড হয়, তাই এটি MP3-এর মতোই দ্বিতীয় লসি প্রজন্ম, শুধু একই কোডেক পরিবারে।
MP4-কে অন্য ফরম্যাটে রূপান্তর করুন
MP4থেকেMP3
কেবল সাউন্ডট্র্যাক রাখে, ছোট ফাইলে কম্প্রেস করেMP4থেকেGIF
একটি ক্লিপকে অ্যানিমেটেড GIF বানায়MP4থেকেWAV
কেবল সাউন্ডট্র্যাক রাখে, মান একটুও না হারিয়েMP4থেকেMOV
একই স্ট্রিম নতুন করে প্যাক করে — লসলেস এবং প্রায় তাৎক্ষণিকMP4থেকেAVI
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরMP4থেকেWebM
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরMP4থেকেMKV
একই স্ট্রিম নতুন করে প্যাক করে — লসলেস এবং প্রায় তাৎক্ষণিকMP4থেকেM4A
কেবল সাউন্ডট্র্যাক রাখে, ছোট ফাইলে কম্প্রেস করেMP4থেকেAAC
কেবল সাউন্ডট্র্যাক রাখে, ছোট ফাইলে কম্প্রেস করেMP4থেকেFLAC
কেবল সাউন্ডট্র্যাক রাখে, মান একটুও না হারিয়ে
অন্য ফরম্যাট থেকে MP4-এ রূপান্তর করুন
MOVথেকেMP4
একই স্ট্রিম নতুন করে প্যাক করে — লসলেস এবং প্রায় তাৎক্ষণিকMKVথেকেMP4
একই স্ট্রিম নতুন করে প্যাক করে — লসলেস এবং প্রায় তাৎক্ষণিকAVIথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরWebMথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরWMVথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরFLVথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরMPEGথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীর3GPথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরTSথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরM4VথেকেMP4
একই স্ট্রিম নতুন করে প্যাক করে — লসলেস এবং প্রায় তাৎক্ষণিকOGVথেকেMP4
প্রতিটি ফ্রেম আবার এনকোড হয় — কন্টেইনার বদলানোর চেয়ে ধীরMP3থেকেMP4
অডিওটিকে কালো ফ্রেমের ওপর একটি ভিডিও কন্টেইনারে মুড়ে দেয়WAVথেকেMP4
অডিওটিকে কালো ফ্রেমের ওপর একটি ভিডিও কন্টেইনারে মুড়ে দেয়
MP4: প্রায়ই জিজ্ঞাসিত প্রশ্ন
MP4 কি লসি নাকি লসলেস?
কোনোটিই নয় — কন্টেইনারের এ নিয়ে কোনো মত নেই। ভেতরের ট্র্যাকগুলো ঠিক করে। বাস্তবে MP4 প্রায় সবসময় লসি H.264 বা H.265 ভিডিও আর লসি AAC অডিও রাখে, তাই আপনার ফাইলটি প্রায় নিশ্চিতভাবে লসি, কিন্তু সেটি কোডেকের বৈশিষ্ট্য, MP4-এর নিজের নয়।
আমার MP4 কিছু ডিভাইসে চলে না কেন?
এক্সটেনশন প্লেয়ারকে কোডেক সম্পর্কে কিছুই বলে না। H.265 বা AV1 ভিডিও ব্যবহার করা একটি ফাইল কেবল H.264 ডিকোড করা হার্ডওয়্যারে খুলবে না, যদিও দুটোই বৈধ MP4। H.264 ভিডিও আর AAC অডিওসহ MP4-এ রূপান্তর সবচেয়ে ব্যাপক সামঞ্জস্যের বিকল্প, আর এই সাইট সেটাই তৈরি করে।
কোন MP4 রূপান্তরগুলো লসলেস?
MP4 থেকে MOV, MKV আর M4V, যখন ভেতরের কোডেকগুলো লক্ষ্য কন্টেইনারে আগে থেকেই বৈধ। সেগুলো স্ট্রিম কপি হিসেবে চলে: কম্প্রেস করা ফ্রেমগুলো অক্ষত অবস্থায় চলে যায় আর ফলাফল বিট-বাই-বিট অভিন্ন ভিডিও। তখন আপনি “আবার এনকোড না করেই কপি করা হয়েছে” নোটটি দেখবেন। যা কোডেক বদলায় — MP4 থেকে WebM, MP4 থেকে MP3 — তা অবশ্যই আবার এনকোড হয়।
MP4, M4A আর M4V-এর মধ্যে পার্থক্য কী?
একই কন্টেইনার, প্রথাগতভাবে ভিন্ন বিষয়বস্তু: M4A কেবল অডিও রাখে, M4V হলো Apple-এর ভিডিও সংস্করণ, MP4 সাধারণ রূপ। এক্সটেনশন বদলালে বাইট বদলায় না, তাই কিছুই রূপান্তরিত হয় না — যদিও এতে প্লেয়ারের সঠিক অনুমান বাধা পেতে পারে।
এই সাইট কত বড় MP4 সামলাতে পারে?
আপনি কোন ফরম্যাটে রূপান্তর করছেন তার ওপর নির্ভর করে, কারণ সীমাটা ইনপুটের নয়, কাজের সময় কতটা ধরে রাখতে হয় তার। অডিও বের করলে কম্পিউটারে 2 GB পর্যন্ত চলে, কারণ আউটপুট উৎসের একটি অংশমাত্র; কন্টেইনার বদলে চলে প্রায় 667 MB, কারণ আউটপুট ইনপুটের সমান; আর ফোনে সব ক্ষেত্রে সীমা 512 MB। 64 MB-এর বেশি হলে ফাইলটি কনভার্টারের কাজের মেমরিতে কপি না হয়ে যেখানে আছে সেখান থেকেই পড়া হয়, আর সেটাই কয়েক গিগাবাইটের ইনপুট সম্ভব করে। প্রতিটি আপলোড বাক্স সেই জোড়ার আসল সংখ্যা জানায়।
এখানে MP4 রূপান্তর করলে কি আমার ভিডিও আপলোড হয়?
না। ডিমাক্সিং আর এনকোডিং দুটোই ffmpeg-এর একটি WebAssembly বিল্ডের মাধ্যমে আপনার ব্রাউজারের একটি ব্যাকগ্রাউন্ড থ্রেডে চলে। শুরু করার আগে নেটওয়ার্ক প্যানেল খুলুন: কোনো অনুরোধ ফাইলটি বহন করে না।
MP4 থেকে WebM, MP4 থেকে MKV-এর চেয়ে এত ধীর কেন?
MKV H.264 নেয়, তাই ভিডিও ট্র্যাক কপি হয় আর কাজটি মূলত ফাইল আবার লেখা। WebM H.264 বা AAC কোনোটিই নেয় না, তাই প্রতিটি ফ্রেম ডিকোড হয়ে VP8 বা VP9-এ আবার এনকোড হতে হয় — সত্যিকারের কম্প্রেশনের কাজ, আপনার CPU-তে।
MP4 থেকে কি একটি স্থির ছবি বের করা যায়?
হ্যাঁ, আর আপনি কী পান তা জানা ভালো: PNG বা JPG হিসেবে আবার এনকোড করা একটি ডিকোড করা ফ্রেম। উৎস ফ্রেমটি আগেই লসি, তাই তার একটি PNG কেবল সেই ফ্রেমের তুলনায় লসলেস, মূল দৃশ্যের তুলনায় নয়।