প্রকল্প সম্পর্কে
Podspine একটি ছোট স্ব-হোস্টেড সার্ভার যা অডিওবুকের একটি ফোল্ডার নির্দেশ করে এবং প্রতিটি বইকে নিজস্ব পডকাস্ট RSS ফিড দেয়, সঠিক ক্রমে প্রতি অধ্যায়ে একটি করে এপিসোড থাকে। আপনি Apple Podcasts, Pocket Casts, Overcast, AntennaPod, বা অন্য যেকোনো RSS-ভিত্তিক পডকাস্ট অ্যাপে ফিডটি সাবস্ক্রাইব করেন। কোনো অ্যাকাউন্ট, আলাদা অ্যাপ, বা বিল্ট-ইন প্লেয়ার নেই — শুধু একটি ফিড URL।
README-তে বর্ণিত মূল বৈশিষ্ট্যগুলি:
- অধ্যায়গুলি এপিসোড হিসেবে, ক্রমে। Podspine ক্রমিক pubDates (সবচেয়ে পুরানো = অধ্যায় 1) এবং itunes:episode নম্বর নির্গত করে, এবং নিজের স্ব-পরীক্ষায় ব্যর্থ হলে ফিড পরিবেশন করতে অস্বীকার করে।
- লাইব্রেরি মাউন্ট করা সহ জিরো-কনফিগ Docker রান।
- ডিফল্টে কোনো রি-এনকোড নেই: অধ্যায়গুলি স্ট্রিম কপি দ্বারা বের করা হয়, এবং সম্পূর্ণ ফাইল সরাসরি লাইব্রেরি থেকে পরিবেশন করা হয়।
- শুধুমাত্র DRM-মুক্ত ইনপুট; প্রকল্পটি কোনো DRM সার্কামভেনশন পাঠায় না।
ডিপ্লয়মেন্ট বিকল্পগুলির মধ্যে রয়েছে Docker (প্রস্তাবিত), Linux/macOS এবং Windows-এর জন্য সাইনড বাইনারি ইনস্টল স্ক্রিপ্ট, প্যাকেজ ম্যানেজার (Homebrew, Scoop, Nix, cargo binstall), এবং Cargo দিয়ে সোর্স থেকে বিল্ড করা। ffmpeg/ffprobe Docker ইমেজে বান্ডল করা আছে এবং বাইনারি ইনস্টলের জন্য PATH-এ থাকতে হবে। লাইব্রেরি পাথই একমাত্র প্রয়োজনীয় ইনপুট; অন্যান্য সেটিংস CLI ফ্ল্যাগ, এনভায়রনমেন্ট ভেরিয়েবল, বা TOML কনফিগ ফাইলের মাধ্যমে সেট করা যেতে পারে।
সমর্থিত ফরম্যাট দুটি স্তরে বিভক্ত। স্তর 1-এ M4B/M4A (AAC/ALAC), একক-ফাইল MP3, এবং প্রতি-অধ্যায় MP3-এর ফোল্ডার অন্তর্ভুক্ত, এমবেডেড অধ্যায় বা ফাইল/ট্র্যাক ক্রম ব্যবহার করে। স্তর 2-এ OGG Vorbis, Opus, FLAC, এবং প্রতি-অধ্যায় স্তর-2 ট্র্যাকের ফোল্ডার অন্তর্ভুক্ত, এমবেডেড অধ্যায়, একটি .cue সাইডকার (FLAC-এর জন্য প্রয়োজনীয়), বা ফাইল/ট্র্যাক ক্রম ব্যবহার করে। অধ্যায় সাইডকারগুলি এমবেডেড অধ্যায়ের চেয়ে পছন্দ করা হয় ক্রমে .cue, .ffmeta, তারপর এমবেডেড। Audible .aax/.aaxc/.aa এবং OverDrive .odm-এর মতো DRM-সুরক্ষিত ফাইলগুলি লগ করা নোটিশ সহ এড়িয়ে যাওয়া হয়।
স্টোরেজ আচরণ: সম্পূর্ণ-ফাইল এপিসোড (MP3 ফোল্ডার এবং অধ্যায়হীন একক ফাইল) কোনো কপি ছাড়াই স্থানে স্ট্রিম করা হয়। অধ্যায়যুক্ত বই ডেটা ডিরেক্টরির অধীনে অডিও মেটেরিয়ালাইজ করে; ডিফল্ট "ফুল" মোড প্রতি-অধ্যায় স্প্লিট রাখে, অধ্যায়যুক্ত লাইব্রেরির জন্য মোট আকার প্রায় দ্বিগুণ করে, যখন "সেভার" মোড একটি সীমিত ক্যাশে রাখে এবং প্রথম প্লেতে অধ্যায়গুলি পুনরুত্পাদন করে। ঐচ্ছিক সেটিংসের মধ্যে রয়েছে PODSPINE_TRANSCODE=aac ইনজেস্টে অদ্ভুত ফরম্যাট রি-এনকোড করতে, এবং PODSPINE_REMUX_NON_FASTSTART=true রি-এনকোডিং ছাড়াই নন-ফাস্টস্টার্ট MP4 ফাইল রিমাক্স করতে। প্রতি-বই ওভাররাইড একটি .podspine.toml ফাইলে রাখা যেতে পারে।
প্রতিটি বইয়ের ফিড একটি অনুমানযোগ্য ক্যাপাবিলিটি URL-এ থাকে (/feed/{feed_id}.xml), এপিসোড অডিও (HTTP Range), কভার আর্ট, এবং প্রতি-অ্যাপ ডিপ লিংক এবং QR কোড সহ একটি সাবস্ক্রাইব পেজের জন্য সহচর রুট সহ। ব্রাউজ UI লাইব্রেরি গণনা করে, তাই README এটিকে LAN-এ বা প্রক্সি অথেরাইজেশনের পিছনে রাখার পরামর্শ দেয় যখন ক্যাপাবিলিটি রুটগুলি প্রকাশ করা নিরাপদ। Prometheus মেট্রিক্স একটি আলাদা লিসেনারে প্রকাশ করা যেতে পারে।
প্রকল্পটি Rust-এ লেখা (2024 সংস্করণ, MSRV 1.88) একটি ওয়ার্কস্পেস হিসেবে প্রতিটি পাইপলাইন পর্যায়ের জন্য একটি ক্রেট সহ। এটি AGPL-3.0-only লাইসেন্সযুক্ত এবং ffmpeg/ffprobe-কে আলাদা প্রসেস হিসেবে শেল আউট করে। ডকুমেন্টেশন ডিপ্লয়মেন্ট, পডকাস্ট অ্যাপে ইমপোর্টিং, আর্কিটেকচার, ডেভেলপমেন্ট, কন্ট্রিবিউটিং, সিকিউরিটি এবং একটি চেঞ্জলগ কভার করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.