প্রকল্প সম্পর্কে
PlaylistPillar হলো একটি সেলফ-হোস্টেড মিউজিক ক্যাটালগ ইঞ্জিন, যা Docker-ভিত্তিক অ্যাপ্লিকেশন হিসেবে বিতরণ করা হয়। এর ঘোষিত লক্ষ্য হলো স্ট্রিমিং-প্ল্যাটফর্মের প্লেলিস্টগুলোকে টেকসই, ব্রাউজযোগ্য স্থানীয় আর্কাইভে রূপান্তর করা, যেখানে ট্র্যাকগুলোকে নিঃশেষযোগ্য ফাইল হিসেবে না দেখে প্লেলিস্টের প্রেক্ষাপট সংরক্ষণ করা হয়।
মূল পদ্ধতি
- মেটাডেটা-প্রথম আর্কাইভিং: এক্সপোর্টে এমবেডেড ID3 ট্যাগ, অ্যালবাম আর্ট (JPEG/PNG) এবং রিলিজ-বর্ষের তথ্য অন্তর্ভুক্ত থাকে, সাথে MusicBrainz ও Discogs-এর মতো পাবলিক ডিসকোগ্রাফি ডেটাবেসের ক্রস-রেফারেন্স।
- কাঠামো সংরক্ষণ: মূল প্লেলিস্টের ক্রম, ট্র্যাক মেটাডেটা ও আর্টওয়ার্ক সংরক্ষিত থাকে, ফলে কোনো ট্র্যাক পরে স্ট্রিমিং সার্ভিস থেকে মুছে গেলেও স্থানীয় কপিতে কভার, শিল্পী, অ্যালবাম ও ট্র্যাক নম্বর দেখা যায়।
- প্লেলিস্ট ডিফ ইঞ্জিন: পূর্বে আর্কাইভ করা প্লেলিস্ট পুনরায় স্ক্যান করে দেখা যায় শেষ এক্সপোর্টের পর কোন ট্র্যাক মুছে গেছে, যোগ হয়েছে বা পরিবর্তিত হয়েছে।
ডিপ্লয়মেন্ট ও ইন্টারফেস
- Docker-নেটিভ: একটি compose.yaml কনফিগারেশনের মাধ্যমে যেকোনো Docker পরিবেশে চলে, কোনো সিস্টেম-লেভেল নির্ভরতা ছাড়াই।
- রেসপন্সিভ ওয়েব ড্যাশবোর্ড: যেকোনো ডিভাইস থেকে আর্কাইভ ম্যানেজ করা, স্টোরেজ ব্যবহার দেখা ও ইমপোর্ট করা প্লেলিস্ট ব্রাউজ করা যায়।
- বহুভাষিক ইন্টারফেস: ড্যাশবোর্ড ও এক্সপোর্ট লগ ইংরেজি, স্প্যানিশ, ফরাসি, জার্মান, জাপানি ও পর্তুগিজে পাওয়া যায়।
- ব্যাকগ্রাউন্ড ওয়ার্কার: কিউতে থাকা প্লেলিস্টগুলো রেট-লিমিটিং, রিট্রাই ও অগ্রগতি ট্র্যাকিংসহ প্রসেস করা হয়, ব্রাউজার সেশন ব্লক না করেই।
এক্সপোর্ট ও স্টোরেজ বিবরণ
- এক্সপোর্ট ফরম্যাট: স্ট্রাকচার্ড ফোল্ডার (Artist / Album / Track.mp3) অথবা এমবেডেড মেটাডেটাসহ একটি সংকুচিত .pillar বান্ডল।
- README-তে দেওয়া স্টোরেজ অনুমান: 320 kbps-এ প্রতি ঘণ্টা মিউজিকের জন্য প্রায় 80-120 MB, সাথে প্রতি অ্যালবামে আর্টওয়ার্কের জন্য 1-3 MB; 50-গানের একটি প্লেলিস্ট সাধারণত 300-450 MB ব্যবহার করে।
- টেকনিক্যাল নোট: টোকেন-বাকেট রিকোয়েস্ট কিউয়িং, ডিফল্টভাবে SQLite, ঐচ্ছিক PostgreSQL, অ্যালবাম কভার WebP-তে সংকুচিত (PNG ফলব্যাকসহ), এবং ইন্টিগ্রিটি যাচাইয়ের জন্য সাইডকার ম্যানিফেস্টে SHA-256 চেকসাম রেকর্ড করা হয়।
শুরু করা
1. পরিবেশ কনফিগার করুন: দ্রুত মেটাডেটা এনরিচমেন্টের জন্য ঐচ্ছিক স্ট্রিমিং-প্ল্যাটফর্ম API টোকেন দিন এবং compose.yaml-এ স্টোরেজ ভলিউম সেট করুন।
2. ড্যাশবোর্ড চালু করুন, তারপর একটি প্লেলিস্ট লিংক পেস্ট করুন বা URL সম্বলিত একটি .txt ফাইল আপলোড করুন।
3. সিস্টেম ব্যাকগ্রাউন্ডে ট্র্যাক প্রসেস করে, আর্টওয়ার্ক ও মেটাডেটা সংরক্ষণ করে, এবং আর্কাইভ প্রস্তুত হলে ড্যাশবোর্ডের মাধ্যমে জানায়।
রিপোজিটরি লেআউট
README-তে বর্ণিত হয়েছে একটি ব্যাকএন্ড (Python, Flask + Celery) যাতে ওয়ার্কার, মডেল ও একটি মেটাডেটা এনরিচার রয়েছে; একটি Vue.js ফ্রন্টএন্ড যাতে কম্পোনেন্ট ও লোকেল ফাইল রয়েছে; docker ফাইল; docs; tests; এবং একটি MIT লাইসেন্স।
2026-এর জন্য উল্লিখিত রোডম্যাপ আইটেমের মধ্যে রয়েছে ব্যাচ ইমপোর্ট উইজার্ড, জেনার ও মুড সাজেশনের জন্য অফলাইন AI ট্যাগিং, স্বয়ংক্রিয় সাপ্তাহিক প্লেলিস্ট মিররিং, এবং একটি মোবাইল কম্প্যানিয়ন অ্যাপ।
সাপোর্ট ও কমপ্লায়েন্স
README-তে একটি ডায়াগনস্টিকস মডিউলের বিজ্ঞাপন দেওয়া হয়েছে যা কনফিগারেশন, লগ, কন্টেইনার হেলথ ও নেটওয়ার্ক স্ট্যাটাসের একটি সাপোর্ট-উপযোগী স্ন্যাপশট তৈরি করে, যেখানে সাধারণত দুই ঘণ্টার কম প্রতিক্রিয়া সময় এবং ব্যবসায়িক সময়ে লাইভ চ্যাটের কথা বলা হয়েছে। এতে আরও বলা হয়েছে যে API টোকেন AES-256 দিয়ে অ্যাট-রেস্ট এনক্রিপ্ট করা এবং কখনো লগ করা হয় না, এবং বেনামী পাবলিক মেটাডেটা লুকআপ একটি বিকল্প। একটি ডিসক্লেইমারে উল্লেখ করা হয়েছে যে প্রকল্পটি ব্যক্তিগত আর্কাইভাল ব্যবহারের জন্য এবং এটি ভৌগোলিক নিষেধাজ্ঞা, DRM বা সাবস্ক্রিপশন টিয়ার বাইপাস করে না, এবং সমন্বিত প্ল্যাটফর্মগুলোর সেবার শর্তাবলী মেনে চলার দায়িত্ব ব্যবহারকারীর।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.