इस प्रोजेक्ट के बारे में
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 कॉन्फ़िग फ़ाइल के माध्यम से सेट की जा सकती हैं।
समर्थित फ़ॉर्मेट दो श्रेणियों में विभाजित हैं। Tier 1 में M4B/M4A (AAC/ALAC), सिंगल-फ़ाइल MP3, और प्रति-अध्याय MP3 के फ़ोल्डर शामिल हैं, जो एम्बेडेड अध्यायों या फ़ाइल/ट्रैक क्रम का उपयोग करते हैं। Tier 2 में OGG Vorbis, Opus, FLAC, और प्रति-अध्याय Tier-2 ट्रैक के फ़ोल्डर शामिल हैं, जो एम्बेडेड अध्यायों, एक .cue साइडकार (FLAC के लिए आवश्यक), या फ़ाइल/ट्रैक क्रम का उपयोग करते हैं। अध्याय साइडकार को एम्बेडेड अध्यायों पर प्राथमिकता दी जाती है, क्रम में .cue, .ffmeta, फिर एम्बेडेड। DRM-संरक्षित फ़ाइलें जैसे Audible .aax/.aaxc/.aa और OverDrive .odm को लॉग किए गए नोटिस के साथ छोड़ दिया जाता है।
स्टोरेज व्यवहार: पूरी-फ़ाइल एपिसोड (MP3 फ़ोल्डर और बिना अध्याय वाली सिंगल फ़ाइलें) बिना किसी कॉपी के इन-प्लेस स्ट्रीम की जाती हैं। अध्याय-युक्त पुस्तकें डेटा डायरेक्टरी के अंतर्गत ऑडियो मटीरियलाइज़ करती हैं; डिफ़ॉल्ट "full" मोड प्रति-अध्याय स्प्लिट रखता है, जो अध्याय-युक्त लाइब्रेरी के लिए कुल आकार लगभग दोगुना कर देता है, जबकि "saver" मोड एक सीमित कैश रखता है और पहले प्ले पर अध्याय पुनः उत्पन्न करता है। वैकल्पिक सेटिंग्स में 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.