Education·8 min

লিখেছেন Shamir

Xtream Codes থেকে M3U: রূপান্তর আসলে যেভাবে কাজ করে (২০২৬)

"convert Xtream Codes to M3U" লিখে সার্চ করলে এমন অনেক ওয়েবসাইট পাবেন, যারা আপনার হয়ে কাজটি করে দেওয়ার প্রস্তাব দেয়—সাধারণত আগে আপনার ইউজারনেম ও পাসওয়ার্ড চায়।

আপনার এগুলোর কোনোটিই দরকার নেই। রূপান্তর করার মতো আসলে কিছুই নেই। একটি Xtream লগইন এবং একটি M3U প্লেলিস্ট একই সার্ভারে ঢোকার দুটি আলাদা দরজা; একটিকে অন্যটিতে বদলানোর জন্য এমন একটি URL-এর ধরন আছে, যা আপনি নিজেই প্রায় দশ সেকেন্ডে টাইপ করতে পারেন।

এখানে সেই ধরনটি, এটি কেন কাজ করে এবং কখন কোন দরজাটি ব্যবহার করা উচিত—সবই দেখানো হলো।

দুটি দরজা

Xtream ফরম্যাটে কোনো সোর্সে অ্যাক্সেস পেলে আপনি তিনটি জিনিস পান: একটি সার্ভার ঠিকানা, একটি ইউজারনেম এবং একটি পাসওয়ার্ড

সেই সার্ভার একই সঙ্গে দুটি প্রোটোকলে কথা বলে:

দরজাপ্লেয়ার যা পাঠায়যা ফিরে আসে
Xtream APIক্যাটাগরি, স্ট্রিম, গাইড ডেটা ও অন-ডিমান্ড আইটেমের জন্য কাঠামোবদ্ধ অনুরোধJSON, যাকে প্লেয়ার ব্রাউজ করা যায় এমন লাইব্রেরীতে রূপ দেয়
M3U আউটপুটএকটি প্লেলিস্টের জন্য একটি অনুরোধআপনার অ্যাকাউন্টে অ্যাক্সেসযোগ্য প্রতিটি এন্ট্রির তৈরি করা টেক্সট প্লেলিস্ট

একই সার্ভার, একই অ্যাকাউন্ট, একই কনটেন্ট। M3U আলাদা কোনো জিনিস নয়, যা প্রোভাইডার আলাদাভাবে রক্ষণাবেক্ষণ করে—সার্ভার API যে একই ডেটাবেস থেকে তথ্য পড়ে, সেখান থেকেই চাহিদা অনুযায়ী এটি তৈরি করে। তাই "রূপান্তর" শব্দটি এখানে ঠিক নয়। আপনি একই সার্ভারকে শুধু ভিন্ন ফরম্যাটে উত্তর দিতে বলছেন।

(আপনার কাছে কোন ফরম্যাট আছে তা নিয়েই যদি নিশ্চিত না হন, তাহলে এখান থেকে শুরু করুন।)

URL-এর ধরন

সার্ভার, ইউজারনেম ও পাসওয়ার্ড জানা থাকলে M3U আউটপুট পাওয়া যাবে এখানে:

http://SERVER:PORT/get.php?username=USER&password=PASS&type=m3u_plus&output=ts

নিজের তথ্যগুলো বসালেই সেটিই হবে আপনার প্লেলিস্ট URL। আর কিছু প্রয়োজন নেই।

শেষের দুটি প্যারামিটার বোঝা সবচেয়ে জরুরি:

type=

  • m3u_plus — এতে অতিরিক্ত মেটাডেটা থাকে: প্রদর্শিত নাম, লোগো, গ্রুপের শিরোনাম ও গাইড আইডি। আপনার এটিই ব্যবহার করা উচিত।
  • m3u — শুধু এন্ট্রি, কোনো মেটাডেটা নেই। আপনি নামহীন আইটেমের একটি সমতল তালিকা পাবেন। প্রায় কখনোই কাজে লাগে না।

output=

  • ts — কাঁচা MPEG-TS স্ট্রিম। সবচেয়ে বেশি সামঞ্জস্যপূর্ণ; কার্যত সব প্লেয়ারেই কাজ করে। (.ts স্ট্রিম আসলে কী।)
  • m3u8 — HLS। খণ্ডে বিভক্ত হওয়ায় দুর্বল সংযোগে এটি বেশি স্থিতিশীল, আর মোবাইলে সাধারণত ব্যবহারবান্ধব।
  • hls — কিছু সার্ভার বিল্ডে একই ধারণার একটি alias।

প্লেলিস্ট লোড হলেও কিছু চালু না হলে, output=ts-এর বদলে output=m3u8 ব্যবহার করে দেখা সবচেয়ে কার্যকর প্রথম পদক্ষেপ। কিছু সার্ভার দুটির মধ্যে একটির জন্যই ট্রান্সকোড করে, আবার কিছু ডিভাইস HLS-কে বেশি পছন্দ করে।

গাইড URL-ও

একই কৌশল সময়সূচির ডেটার ক্ষেত্রেও কাজ করে। গাইড ফিডটি পাওয়া যাবে এখানে:

http://SERVER:PORT/xmltv.php?username=USER&password=PASS

এতে XMLTV পাওয়া যায়, যা যেকোনো প্লেয়ারের প্রোগ্রাম গাইডের জন্য প্রয়োজন। প্রোভাইডার একই ডেটাবেস থেকে দুটিই তৈরি করে বলে, এই ফাইলের গাইড আইডিগুলো ইতিমধ্যেই m3u_plus প্লেলিস্টের tvg-id মানের সঙ্গে মিলে যায়—গাইড সেটআপের সবচেয়ে কঠিন অংশটি বিনামূল্যেই সমাধান হয়ে যায়। (গাইড মেলানো সাধারণত কেন সবচেয়ে ঝামেলার অংশ।)

কেন কনভার্সন ওয়েবসাইট ব্যবহার করবেন না

আবার URL-টি দেখুন। এতে আপনার ইউজারনেম ও পাসওয়ার্ড সরাসরি লেখা আছে

যে কোনো ওয়েবসাইট আপনাকে হয়ে "রূপান্তর" করার প্রস্তাব দিলে, তারা আসলে কাজের লগইন তথ্য একজন অপরিচিতের হাতে তুলে দিতে বলছে—বিনিময়ে এমন একটি স্ট্রিং বদল করবে, যা আপনি নিজেই Notepad-এ করতে পারতেন। এমন কোনো গণনাও হচ্ছে না, যা এই আস্থার ঝুঁকিকে ন্যায্যতা দেয়।

বাস্তবে, সাইটটি যে চালায় সে যা করতে পারে:

  • নিজেই আপনার অ্যাকাউন্ট ব্যবহার করতে পারে; আর সীমিত সংযোগের সোর্স হলে আপনিই সংযোগ বিচ্ছিন্ন হয়ে যাবেন।
  • লগইন তথ্য বিক্রি বা ফাঁস করতে পারে।
  • সাইটটির অস্তিত্ব আপনি ভুলে যাওয়ার পরও সেগুলো রেখে দিতে পারে।

একই যুক্তি এমন যেকোনো "playlist checker" বা "M3U tester"-এর ক্ষেত্রেও প্রযোজ্য, যা লগইন তথ্য চায়। নিজেই URL তৈরি করুন। এটি শুধু কপি-পেস্ট এবং find-replace-এর ব্যাপার।

ইতিমধ্যে এমন কোনো সেবা ব্যবহার করে থাকলে, প্রোভাইডার অনুমতি দিলে সোর্সে আপনার পাসওয়ার্ড পরিবর্তন করুন।

আসলে কোন দরজাটি ব্যবহার করবেন?

আপনি যে Xtream লগইন থেকে M3U পেতে পারেন, তা পরিষ্কার করার পর এবার সেই অংশটি আসে, যা অধিকাংশ গাইড এড়িয়ে যায়: অনেক সময় আপনার তা করা উচিত নয়।

আপনার প্লেয়ার সমর্থন করলে সাধারণত সোর্সটি Xtream হিসেবে যোগ করাই ভালো:

Xtream APIতৈরি করা M3U
লাইভ এন্ট্রিহ্যাঁহ্যাঁ
অন-ডিমান্ড সিনেমা ও সিরিজহ্যাঁ, মেটাডেটাসহ যথাযথভাবে ব্রাউজ করা যায় এমন লাইব্রেরী হিসেবেতালিকায় একত্রিত হয়ে যায়, অথবা একেবারেই থাকে না
সিরিজের সিজন ও পর্বকাঠামোবদ্ধউপস্থাপিত হয় না
গাইড ডেটাAPI-এর মাধ্যমে স্বয়ংক্রিয়ভাবে সংগ্রহ করা হয়আলাদা XMLTV URL হাতে করে যোগ করতে হয়
ক্যাচ-আপ / টাইমশিফটপ্রোভাইডার সমর্থন করলে API-এর মাধ্যমে পাওয়া যায়প্রতিটি এন্ট্রির attribute উপস্থিত থাকার ওপর নির্ভর করে
অ্যাকাউন্টের তথ্য (মেয়াদ, সংযোগ)দেখা যায়পাওয়া যায় না
যেকোনো প্লেয়ারে ব্যবহারযোগ্যতাসীমিত—প্লেয়ারকে Xtream সমর্থন করতে হবেসর্বজনীন। প্রতিটি প্লেয়ারই M3U পড়তে পারে।
URL-এ লগইন তথ্যআলাদা ফিল্ড হিসেবে থাকেঠিকানার মধ্যেই অন্তর্ভুক্ত থাকে

সংক্ষেপে: আপনার প্লেয়ার সমর্থন করলে Xtream ব্যবহার করুন, আর সমর্থন না করলে M3U আউটপুট ব্যবহার করুন।

M3U ফরম্যাটটি চাইবার সাধারণ কারণ হলো এমন কোনো প্লেয়ার, TV অ্যাপ বা ডিভাইস ব্যবহার করা, যা শুধু একটি প্লেলিস্ট URL গ্রহণ করে। এটি সম্পূর্ণ বৈধ প্রয়োজন, আর ওপরের URL-এর ধরনই এর সমাধান। (সিনেমা ও সিরিজের ক্ষেত্রে এই পছন্দটি বিশেষভাবে গুরুত্বপূর্ণ।)

Tuneline-এ দুটি দরজাই সমানভাবে সমর্থিত: সার্ভার, ইউজারনেম ও পাসওয়ার্ড দিয়ে সোর্সটি Xtream হিসেবে যোগ করুন, অথবা একটি M3U URL পেস্ট করুন। একই অ্যাপ, চাইলে দুটিই রাখতে পারেন।

উল্টো দিকের বিষয়টি

অনেকে একটি M3U লিংককে Xtream লগইনে রূপান্তর করার বিষয়েও সার্চ করেন। এটি কাজ করে না, এবং কেন করে না তা বলা দরকার।

একটি M3U URL হলো আউটপুট। Xtream লগইন হলো ইনপুট। সার্ভার সেই endpoint দিলে লগইন তথ্য থেকে প্লেলিস্ট তৈরি করা যায়, কিন্তু স্ট্রিমের ঠিকানার তালিকা থেকে কার্যকর API লগইন পুনর্গঠন করা যায় না—প্লেলিস্টে অ্যাকাউন্টের কাঠামোই থাকে না।

একমাত্র ব্যতিক্রম হলো, আপনাকে দেওয়া প্লেলিস্টটি নিজেই যদি একটি get.php URL হয়। সেক্ষেত্রে query string-এই লগইন তথ্য থাকে, এবং দেওয়া ঠিকানা থেকেই আপনার সার্ভার, ইউজারনেম ও পাসওয়ার্ড সরাসরি পড়ে নিতে পারেন। এটি রূপান্তর নয়, শুধু URL পড়া। এতে অস্বস্তিকরভাবে এটিও বোঝা যায় যে এই লিংকগুলোর সুরক্ষা কতটা কম।

সমস্যা সমাধান

উপসর্গসম্ভাব্য কারণ
প্লেলিস্ট ডাউনলোড হয়, কিন্তু খালি থাকে বা শুধু একটি ত্রুটির লাইন দেখায়ইউজারনেম/পাসওয়ার্ড ভুল, অথবা অ্যাকাউন্টের মেয়াদ শেষ। URL-টি ব্রাউজারে লোড করে লেখাটি দেখুন।
এন্ট্রি দেখা যায়, কিন্তু কিছুই চালু হয় নাoutput=ts-এর বদলে output=m3u8 ব্যবহার করে দেখুন।
নাম নেই, সবকিছু একটি সংখ্যাআপনি type=m3u_plus-এর বদলে type=m3u ব্যবহার করেছেন।
একটি ডিভাইসে কাজ করে, পরেরটিতে "max connections" দেখায়অ্যাকাউন্টটি একসঙ্গে চালু থাকা সংযোগের সংখ্যা সীমিত করে। প্রতিটি ডিভাইস গণনায় পড়ে। সংযোগের সীমা কীভাবে কাজ করে।
প্লেলিস্ট লোড হয়, কিন্তু গাইড ফাঁকাআপনি xmltv.php URL যোগ করেননি, অথবা দুটির ID মেলে না।
কোনো ধরনের URL-এই কিছুই দেখা যায় নাপোর্ট নিশ্চিত করুন। Xtream সার্ভার প্রায়ই অপ্রচলিত পোর্টে চলে, আর সেটি বাদ পড়লে কোনো বার্তা ছাড়াই ব্যর্থ হয়।

একটি ভালো অভ্যাস হলো: আগে get.php URL-টি ব্রাউজারে পেস্ট করুন। আপনি হয় একটি টেক্সট প্লেলিস্ট, নয়তো সাধারণ একটি ত্রুটির বার্তা দেখতে পাবেন—এতে সঙ্গে সঙ্গে বোঝা যাবে সমস্যাটি লগইন তথ্যের, নাকি প্লেয়ারের।

মূল কথা

  • Xtream এবং M3U হলো একই সার্ভারে ঢোকার দুটি দরজা। কোনো রূপান্তর নেই।
  • প্লেলিস্ট পাওয়া যাবে get.php?username=…&password=…&type=m3u_plus&output=ts-এ।
  • গাইড পাওয়া যাবে xmltv.php?username=…&password=…-এ।
  • কখনোই লগইন তথ্য কোনো কনভার্সন ওয়েবসাইটকে দেবেন না। একটি find-replace কাজের জন্য আপনি নিজের নিরাপত্তা বিসর্জন দিচ্ছেন।
  • আপনার প্লেয়ার সমর্থন করলে Xtream দরজাটিই বেছে নিন—তাহলে অন-ডিমান্ড লাইব্রেরী, গাইড ডেটা ও অ্যাকাউন্টের তথ্য বজায় থাকবে।
  • URL-এ আপনার পাসওয়ার্ড থাকে। এটিকে গোপন তথ্য হিসেবে বিবেচনা করুন এবং কখনো প্রকাশ করবেন না।

এমন একটি প্লেয়ার চান, যা দুটি দরজাই সমর্থন করে? ডাউনলোড করুন Tuneline — আপনার সোর্স Xtream হিসেবে অথবা M3U URL হিসেবে যোগ করুন, বিনামূল্যে, কোনো বান্ডেল করা কনটেন্ট ছাড়াই।

আর্টিকেলটি শেয়ার করুন

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

এই আর্টিকেলটি অন্য ভাষায় পড়ুন

Tuneline একটি মিডিয়া প্লেয়ার অ্যাপ্লিকেশন। এটি কোনো কনটেন্ট সরবরাহ, হোস্ট বা বিতরণ করে না। আপনি নিজের প্লেলিস্ট নিয়ে আসেন, ঠিক যেমনটি VLC-তে করেন।