ফরম্যাট নাম হলো কোনো মিডিয়া ফাইলের কন্টেইনার ফরম্যাটের সংক্ষিপ্ত নাম। এটি আপনাকে জানায় FFmpeg সফটওয়্যার আপনার ফাইলের ফরম্যাটকে কী বলে। কন্টেইনার হলো এমন একটি ফাইল ফরম্যাট যেখানে এক বা একাধিক অডিও বা ভিডিও স্ট্রিম এবং মেটাডেটা থাকে, যাতে এগুলো একসাথে প্লে করা যায়।
Format Long Name হলো দ্বিতীয় একটি ফিল্ড, যা একই ফরম্যাটকে সহজ ভাষায় বর্ণনা করে। FFmpeg প্রোগ্রাম ffprobe এই দুটি ফিল্ডকে format_name এবং format_long_name হিসেবে দেখায়।
মানগুলি দেখতে কেমন
FFmpeg প্রতিটি ধরনের ফাইল পড়ে একটি অংশের মাধ্যমে, যাকে demuxer বলা হয়। ফরম্যাট নাম হলো সেই demuxer-এর সংক্ষিপ্ত নাম, আর long name হলো তার বিবরণ। একটি demuxer একাধিক সম্পর্কিত ফরম্যাট পড়তে পারে, তাই ফরম্যাট নাম কমা দিয়ে আলাদা করা একটি তালিকাও হতে পারে।
এই জোড়াগুলো FFmpeg-এর সোর্স কোড থেকে নেওয়া হয়েছে, যেখানে আগে আছে ফরম্যাট নাম:
- MP4, MOV এবং M4A ফাইলের জন্য
mov,mp4,m4a,3gp,3g2,mj2এবংQuickTime / MOV - MKV এবং WebM ফাইলের জন্য
matroska,webmএবংMatroska / WebM - MP3 অডিওর জন্য
mp3এবংMP2/3 (MPEG audio layer 2/3) - WAV অডিওর জন্য
wavএবংWAV / WAVE (Waveform Audio) mpegএবংMPEG-PS (MPEG-2 Program Stream)একটি MPEG-2 প্রোগ্রাম স্ট্রিমের জন্য, যার এক্সটেনশন .mpg হতে পারে- একটি PNG ছবির জন্য
png_pipeএবংpiped png sequence
কিছু FFmpeg build long name ফেলে দেয়। তখন long name unknown হিসেবে দেখা যেতে পারে বা একদমই নাও থাকতে পারে।
মানের উৎস কোথায়
ফাইল তার ফরম্যাট নাম সংরক্ষণ করে না। FFmpeg ফাইলের শুরু অংশ পড়ে এবং যেসব ফরম্যাট সে চেনে, প্রতিটিকে একটি করে স্কোর দেয়। যে ফরম্যাটের স্কোর সর্বোচ্চ হয় সেটি বেছে নেয়, এবং probe score ফিল্ডে সেই স্কোর দেখানো হয়।
ফাইল এক্সটেনশন কেবল তখনই গুরুত্বপূর্ণ, যখন এই টেস্ট খুব দুর্বল ফল দেয় বা কোনো ফরম্যাটের জন্য কোনো টেস্টই নেই। FFmpeg ডকুমেন্টেশন সতর্ক করে যে শুধু এক্সটেনশন দেখে ফরম্যাট অনুমান করা যথেষ্ট নির্ভরযোগ্য নয়।
কেন একটি MP4 ফাইলে QuickTime দেখা যেতে পারে
একটি MP4 ফাইল mov,mp4,m4a,3gp,3g2,mj2 ফরম্যাট নাম এবং QuickTime / MOV long name দেখাতে পারে। এটি স্বাভাবিক এবং এর মানে এই নয় যে ফাইলটি MOV ফাইল। FFmpeg 6টি সম্পর্কিত ফরম্যাটের জন্য একই demuxer ব্যবহার করে, তাই MOV, MP4, M4A, 3GP, 3G2 এবং MJ2 ফাইলে একই মান দেখা যায়।
এই ফরম্যাটগুলো সম্পর্কিত, কারণ MP4 এসেছে ISO base media file format থেকে, আর ওই ফরম্যাট এসেছে QuickTime file format থেকে। MP4 এবং QuickTime একে অপরের সাথে সম্পর্কিত, কিন্তু তাদের মধ্যে পার্থক্য আছে, তাই সব সময় একটিকে অন্যটির জায়গায় ব্যবহার করা যায় না।
এই ফাইলগুলোতে একটি major_brand ট্যাগও থাকতে পারে। FFmpeg মান qt কে QuickTime ফাইল হিসেবে ধরে, আর অন্যান্য মানকে ISO base media ফাইল হিসেবে ধরে।
কোন ফাইলগুলো এটিকে বহন করে
ফরম্যাট নাম সেই সব ফাইলে দেখা যায় যেগুলো FFmpeg মিডিয়া হিসেবে খুলতে পারে: ভিডিও, অডিও এবং অনেক ইমেজ ফরম্যাট। যদি ffprobe কোনো ফাইলকে মাল্টিমিডিয়া ফাইল হিসেবে চিনতে না পারে, তবে এটি একটি ত্রুটি দেখায় এবং কোনো ফরম্যাট নাম থাকে না। এই ধরনের ফাইলের জন্য পরিবর্তে File Type ফিল্ড দেখুন।
FFmpeg প্রচলিত কন্টেইনার ছাড়া ফাইলগুলোকেও একটি ফরম্যাট নাম দেয়। উদাহরণস্বরূপ, একটি MP3 ফাইল হলো অডিও ফ্রেমের একটি স্ট্রিম, যেখানে প্রায়শই ID3 ট্যাগ থাকে।
আপনার ফাইলের জন্য এটি কেন গুরুত্বপূর্ণ
উচ্চ স্কোর ফাইল নামের আগে অগ্রাধিকার পায়, তাই ফরম্যাট নাম সাধারণত সেই কন্টেইনারই দেখায় যা ফাইলটি আসলেই ব্যবহার করে। যদি কোনো ফাইলের নামের শেষে .mp3 থাকে এবং ফরম্যাট নাম wav হয়, তাহলে ফাইলটি WAV হেডার দিয়ে শুরু হয়েছে। তখন ফাইলের নাম বিষয়বস্তুর সাথে মেলে না।
ফরম্যাট নাম সব সময় আপনাকে বলে না যে ফাইলটি কোন কোন কোডেক ব্যবহার করছে। Codec Long Name কন্টেইনারের ভেতরের একটি স্ট্রিম কীভাবে এনকোড করা হয়েছে তা বর্ণনা করে, তাই প্রতিটি স্ট্রিমের জন্য আলাদা মান থাকে।
উদাহরণস্বরূপ, একটি MP4 ফাইলে ভিডিও হিসেবে AVC (H.264), AV1 বা VP9 থাকতে পারে, আর অডিও হিসেবে AAC, FLAC বা Opus থাকতে পারে। একই ফরম্যাট নাম তাই ভিন্ন কোডেকসহ ফাইলেও দেখা যেতে পারে।