इस प्रोजेक्ट के बारे में
Audioserve एक व्यक्तिगत ऑडियो सर्वर है जो Rust में लिखा गया है और सीधे निर्देशिका संरचनाओं से ऑडियो फ़ाइलें परोसता है। यह मुख्य रूप से ऑडियोबुक के लिए है, हालांकि कोई भी सुव्यवस्थित फ़ोल्डर संग्रह काम करता है। डिज़ाइन सरलता और न्यूनतम दृष्टिकोण पर जोर देता है।
मीडिया लाइब्रेरी: Audioserve ऑडियो टैग पर निर्भर रहने के बजाय फ़ाइल सिस्टम ब्राउज़ करता है, इसलिए आप जो फ़ोल्डर संरचना बनाते हैं वही दिखाई देती है। अनुशंसित लेआउट में author/book या author/series/book शामिल हैं। फ़ाइलों को प्राकृतिक क्रम में रखा जा सकता है, इसलिए संख्यात्मक पैडिंग वैकल्पिक है। फ़ोल्डरों में रखी कवर छवियाँ और विवरण फ़ाइलें प्रदर्शन के लिए उपयोग की जाती हैं, और खोज फ़ोल्डर नामों को कवर करती है। कई संग्रहों को अलग-अलग कमांड-लाइन तर्कों के रूप में पास किया जा सकता है।
कैशिंग: संग्रह डेटा एक एम्बेडेड की-वैल्यू डेटाबेस (sled) में कैश किया जाता है, जो कई फ़ाइलों वाले फ़ोल्डरों की खोज और लोडिंग को तेज़ करता है। बड़े संग्रहों के लिए पहला स्कैन समय ले सकता है। परिवर्तनों को डिफ़ॉल्ट रूप से inotify के माध्यम से देखा जाता है, और सिग्नल या --force-cache-update तर्क के साथ पूर्ण पुनःस्कैन को बाध्य किया जा सकता है। व्यक्तिगत संग्रह :no-cache के साथ ऑप्ट आउट कर सकते हैं, जिसकी कीमत धीमी खोज और स्थिति साझाकरण की अनुपस्थिति है।
एकल-फ़ाइल ऑडियोबुक: .m4b और अध्याय मेटाडेटा वाली समान फ़ाइलें वर्चुअल अध्याय फ़ाइलों वाले फ़ोल्डरों के रूप में प्रस्तुत की जाती हैं। अध्याय अवधि से भी उत्पन्न किए जा सकते हैं या .chapters CSV फ़ाइल के माध्यम से प्रदान किए जा सकते हैं। CD उपफ़ोल्डरों को वैकल्पिक रूप से पैरेंट फ़ोल्डर में समाहित किया जा सकता है।
प्लेबैक स्थितियाँ: एक ही डिवाइस समूह में क्लाइंट WebSocket कनेक्शन पर प्लेबैक स्थितियाँ साझा कर सकते हैं, जिससे किसी अन्य डिवाइस पर जारी रखना संभव होता है। स्थितियों का JSON में बैकअप लिया जा सकता है और पुनर्स्थापित किया जा सकता है। समाप्त फ़ोल्डरों को अंतिम सुनने की स्थिति के आधार पर चिह्नित किया जाता है।
सुरक्षा: पहुँच एक साझा गुप्त कोड द्वारा नियंत्रित की जाती है; कोई नामित उपयोगकर्ता नहीं हैं। गुप्त कोड एक साल्टेड हैश के रूप में भेजा जाता है, और सर्वर बाद के अनुरोधों के लिए टोकन जारी करता है। TLS सीधे या रिवर्स प्रॉक्सी के माध्यम से समर्थित है, और दर सीमित करना उपलब्ध है। API में छिपी फ़ाइलें अवरुद्ध हैं।
ट्रांसकोडिंग और प्रदर्शन: Audioserve ऑडियो को कम बिटरेट में ट्रांसकोड कर सकता है, वैकल्पिक ट्रांसकोडिंग कैश के साथ। यह प्रतिक्रिया संपीड़न और HTTP/2 का समर्थन करता है।
क्लाइंट और API: एक आधुनिक PWA वेब क्लाइंट (TypeScript/Svelte) शामिल है, साथ ही एक पुराना वेब क्लाइंट और एक Android क्लाइंट भी। एक प्रलेखित HTTP API कस्टम क्लाइंट की अनुमति देता है।
स्थापना: विकल्पों में Docker इमेज, स्थिर Linux बिल्ड, स्थानीय बिल्ड, और collation, tags-encoding, shared-positions, transcoding-cache, और behind-proxy जैसी वैकल्पिक सुविधाओं के साथ संकलन शामिल हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.