প্লেলিস্ট IPTV playlist

M3U

ভেতরে কোনো ভিডিও নেই এমন একটা টেক্সট ফাইল, আর একটা IPTV সাবস্ক্রিপশন আসলে যা।

সংক্ষেপে

একটা M3U হলো নাম জুড়ে দেওয়া মিডিয়া ঠিকানার একটা সাধারণ-টেক্সট তালিকা। এতে একদমই কোনো অডিও বা ভিডিও নেই। একটা IPTV প্রোভাইডার তোমাকে একটা সাবস্ক্রিপশন বিক্রি করলে, তুমি যা পাও তা হলো এগুলোর একটার লিংক — চ্যানেলের নাম, লোগো, গ্রুপ আর স্ট্রিম ঠিকানার একটা তালিকা যা একটা প্লেয়ার একটা চ্যানেল গাইডে পরিণত করে।

৩০ জুলাই, ২০২৬

সাহায্য ছাড়াই খোলে যেখানে

iPhone · iPad চলে না
Mac চলে না
FoxDL চলে

iOS বা macOS-এর কিছুই একটা M3U-কে একটা প্লেলিস্ট হিসেবে পড়ে না। একটাতে ট্যাপ করলে টেক্সটের একটা দেয়াল দেখায়। এটা একটা মিডিয়া ফরম্যাট না আর কোনো সিস্টেমই কখনো এটাকে সেভাবে গণ্য করত না — এর জন্য এমন একটা অ্যাপ দরকার যা বোঝে তালিকাটা *কীসের জন্য*।

তথ্যগুলো

পুরো নাম MP3 URL, বা Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator
ধরন প্লেলিস্ট — ঠিকানার একটা তালিকা, কোনো মিডিয়া না
এক্সটেনশন .m3u (যেকোনো টেক্সট এনকোডিং), .m3u8 (UTF-8)
প্রকাশিত ১৯৯০-এর দশকের শেষে, Winamp-এর জন্য Fraunhofer দ্বারা; কখনো আনুষ্ঠানিকভাবে স্ট্যান্ডার্ডাইজড হয়নি
গঠন প্রতিটা এন্ট্রির নাম দেওয়া একটা #EXTINF লাইন, এর ঠিকানা অনুসরণ করে
IPTV এক্সটেনশন tvg-id, tvg-name, tvg-logo, group-title — একটা স্পেসিফিকেশন দিয়ে না, প্রথা দিয়ে যোগ করা
ঠিকানাগুলো কী নির্দেশ করে সাধারণত HLS প্লেলিস্ট বা MPEG-TS স্ট্রিম; কখনো কখনো সাধারণ ফাইল
সাধারণ প্রোভাইডার আকার কয়েকশো লক্ষ চ্যানেলের তালিকার জন্য কয়েকশো KB থেকে ২০০ MB-এর ভালো ওপরে

নাম আর ঠিকানার একটা তালিকা

ফরম্যাটটা যতটা সহজ হতে পারে ততটাই সহজ। প্রতিটা এন্ট্রি দুই লাইন: একটা #EXTINF দিয়ে শুরু হয়ে জিনিসটার নাম দেয়, আর একটা এটা যে ঠিকানায় থাকে তা নিয়ে। বাকি সবকিছু — লোগো, চ্যানেল নম্বর, যে গ্রুপগুলো একটা প্লেয়ারে ক্যাটাগরি হয়ে ওঠে — পরে এসেছে মানুষ #EXTINF লাইনে বসাতে সম্মত হওয়া অ্যাট্রিবিউট হিসেবে। কোনো স্ট্যান্ডার্ড বডিই এর কোনোটা কখনো অনুমোদন করেনি।

এই অনানুষ্ঠানিকতাই কারণ কেন M3U ফাইল এত বিচিত্র। একটা প্রোভাইডার group-title="Sports" লেখে, আরেকটা group-title="SPOR" লেখে, তৃতীয়টা এটা একদমই বাদ দেয় আর আশা করে প্লেয়ার আন্দাজ করবে। IPTV ভালোভাবে সামলায় এমন একটা প্লেয়ার মূলত এমন একটা প্লেয়ার যা অনেক খারাপভাবে লেখা M3U ফাইলের সাথে দেখা করেছে।

M3U8-এর সাথে বিভ্রান্তিটা পরিষ্কার করার মতো: 8 UTF-8 টেক্সট এনকোডিংকে নির্দেশ করে, আর কিছু না। প্রতিটা HLS প্লেলিস্টই একটা M3U8, কিন্তু প্রতিটা M3U8 HLS না — UTF-8 হিসেবে জমা রাখা একটা IPTV চ্যানেল তালিকাও একটা .m3u8 আর সেগমেন্ট করা স্ট্রিমিংয়ের সাথে এর কোনো সম্পর্ক নেই।

আকারই কেন পুরো সমস্যা

প্রোভাইডারের তালিকা এমনভাবে বেড়েছে যা ফরম্যাটটা কখনো আশা করেনি। ২০১০ সালে কয়েকশো লাইনের একটা ফাইল এখন, একটা বড় প্রোভাইডার থেকে, কয়েকশো হাজার এন্ট্রি আর কয়েকশো মেগাবাইট টেক্সট।

একটা পড়ার সরল উপায় — ফাইলটা মেমরিতে লোড করা, পার্স করা, ফলাফলটা ধরে রাখা — এটার অনেক আগেই ভেঙে পড়ে। সেভাবে একটা ২০০ MB তালিকা পার্স করা মানে একটা মেমরি স্পাইক যা একটা আইফোন সহ্য করবে না, আর অপেক্ষা করার বদলে iOS অ্যাপটা শেষ করে দেয়। এই কারণেই এত IPTV অ্যাপ একটা বড় প্রোভাইডারে শুধু ক্র্যাশ করে।

যে পদ্ধতিটা কাজ করে তা হলো তালিকাটা একদমই ধরে না রাখা: এটা ডিস্ক থেকে টুকরো টুকরো পড়া, প্রতিটা চ্যানেল পার্স হওয়ার সাথে সাথে সরাসরি একটা ডেটাবেসে লেখা, আর তারপর সেই ডেটাবেস থেকে স্ক্রিনটা পেজ করা। FoxDL দুই মিলিয়ন চ্যানেলের একটা ৪৮৫ MB তালিকার বিরুদ্ধে মাপা হয়েছিল — ইমপোর্ট করতে ১২৩ সেকেন্ড, ৯ MB অতিরিক্ত মেমরি, প্রথম পাতা আঁকতে ৪ মিলিসেকেন্ড, পুরো তালিকা খুঁজতে ৪০০ মিলিসেকেন্ড। সংখ্যাগুলো শুধু আকর্ষণীয় কারণ সরল পদ্ধতিটা এগুলো একদমই বানাতে পারে না।

একটা ব্যবহার করা

  1. এটা একটা ফাইল না, একটা URL হিসেবে যোগ করো

    প্রোভাইডাররা তাদের তালিকা আপডেট করে — চ্যানেল সরে, ঠিকানা ঘোরে। URL ধরে রাখা একটা প্লেয়ার রিফ্রেশ করতে পারে; একবার ডাউনলোড করা একটা কপি ধরে রাখা একটা প্লেয়ার কিছু বদলানোর প্রথমবারই পুরনো হয়ে যায়।

  2. গ্রুপগুলো এলোমেলো হবে আশা করো আর সার্চ ব্যবহার করো

    ক্যাটাগরির নাম প্রোভাইডার থেকে আসে আর কোনো প্রথা মানে না। একটা বড় তালিকায়, একটা চ্যানেল খোঁজা এটার দিকে নেভিগেট করার চেয়ে দ্রুত, যদি অ্যাপটা একটা লোড করা অ্যারের বদলে ডেটাবেসে সার্চ করে।

  3. জানো তালিকাটা কনটেন্ট না

    একটা M3U হলো ঠিকানা। সেই ঠিকানাগুলো দেখা আইনসম্মত কিনা তা প্রোভাইডার নিয়ে একটা প্রশ্ন, ফাইল বা প্লেয়ার নিয়ে না। কোনো অ্যাপ চ্যানেল পাঠায় না, আর তোমার দেওয়া একটা তালিকার জন্য কোনোটাই জামিন দিতে পারে না।

বিস্তারিত সংস্করণ M3U, Xtream Codes, EPG: শব্দগুলোর মানে কী, আর তোমার কাছে কোনটা আছে M3U না Xtream, একটা EPG কাজ করতে কী দরকার, বাফারিংয়ের কারণ কী, আর কে এটা ঠিক করতে পারে।

এই ফরম্যাট নিয়ে প্রশ্ন

FoxDL-এ একটা M3U প্লেলিস্ট কীভাবে যোগ করব? Sources খুলে একটা প্লেলিস্ট যোগ করার অপশন বেছে নাও, আর তোমার প্রোভাইডারের দেওয়া M3U বা M3U8 URL পেস্ট করো — বা Files বা Finder থেকে একটা .m3u ফাইল বেছে নাও। FoxDL এটা একবার পার্স করে, চ্যানেলগুলো লোকালি জমা রাখে, আর তালিকা ব্রাউজ ও সার্চ করার জন্য তৈরি হয়ে যায়। FoxDL কি লাখো চ্যানেলের একটা প্লেলিস্ট সামলাতে পারে? হ্যাঁ। ইমপোর্টটা প্রায় ৪৮৫ MB-এর ২০,০০,০০০-চ্যানেলের একটা প্লেলিস্টের বিপরীতে মেপে দেখা: এটা প্রায় দুই মিনিটে শেষ হয় আর অ্যাপের সর্বোচ্চ মেমোরি প্রায় ৯ MB বাড়ায়, কারণ প্লেলিস্টটা মেমোরিতে না পড়ে ডিস্কে স্ট্রিম করা হয়, আর একটা মাত্র ডেটাবেস ট্রানজেকশনে কমিট করা হয়। FoxDL কি IPTV চ্যানেল, সিনেমা বা স্ট্রিম দেয়? না। FoxDL কোনো কনটেন্টই দেয় না, হোস্ট করে না, সরবরাহও করে না — অ্যাপের সাথে কোনো চ্যানেল, সিনেমা বা স্ট্রিম আসে না, আর এটা কোনো সাবস্ক্রিপশনও বিক্রি করে না। এটা এমন কনটেন্টের জন্য একটা প্লেয়ার যা তুমি বৈধভাবে সাবস্ক্রাইব করা কোনো সার্ভিস থেকে নিজে যোগ করো, আর সেই কনটেন্টের দায় তোমার।

এই তথ্যগুলোর উৎস

কাছাকাছি ফরম্যাট

তোমার লাইব্রেরি, অবশেষে এক জায়গায়।

ডাউনলোড ফ্রি। অ্যাকাউন্ট নেই, সাইন-আপ নেই, কিছুই দিতে হবে না।

ডাউনলোড করো App Store থেকে