- Kyoo फिल्मों, सीरीज़ और anime जैसे वीडियो कंटेंट पर केंद्रित एक सेल्फ-होस्टेड मीडिया सर्वर है, और Jellyfin या Plex का विकल्प है
- इसका लक्ष्य folder structure लागू किए बिना या manual metadata editing के बिना काम करना है; अगर अजीब file names की वजह से media ठीक से scan नहीं होता, तो इसे bug माना जाता है
- features को plugin system से expand करने के बजाय built-in features के रूप में देने की दिशा है; इसमें dynamic transcoding, preview thumbnails, intro/credits detection और advanced subtitle support शामिल हैं
- फिलहाल client Web को support करता है; Android v5 में अभी उपलब्ध नहीं है, और iOS व tvOS support की फिलहाल कोई योजना नहीं है क्योंकि hardware खरीद और सालाना developer cost लगभग $100 है
- server administrator download directory की files को अलग से organize किए बिना इस्तेमाल कर सकते हैं, और Kyoo अपना scope music, e-books या games के बजाय video streaming तक सीमित रखता है
Kyoo जिस समस्या को हल करना चाहता है
- Kyoo वीडियो कंटेंट के लिए specialized सेल्फ-होस्टेड मीडिया सर्वर है
- target content Movies, Series, Anime है
- इसे Jellyfin या Plex के alternative के रूप में पेश किया गया है
- इसका लक्ष्य maintenance burden कम करना है
- किसी खास folder structure की जरूरत नहीं है
- manual metadata editing की जरूरत नहीं है
- अजीब file names में भी media ठीक से scan होना चाहिए; failure को bug माना जाता है
- plugin system उपलब्ध नहीं कराया जाता
- features को जहां तक संभव हो built-in रखने की दिशा है
मुख्य features
-
Dynamic Transcoding
- media को इच्छित quality में transcode किया जा सकता है
- automatic quality switching से playback के दौरान quality बदली जा सकती है
- transcoder का इंतजार किए बिना तुरंत seek किया जा सकता है
-
Video Preview Thumbnails
- video progress bar पर mouse hover करने पर video preview देखा जा सकता है
-
Intro/Credit detection
- audio fingerprinting से intro और credits को automatically detect किया जाता है
- chapter title matching भी इस्तेमाल की जा सकती है
-
Enhanced Subtitle Support
- PGS/VODSUB और SSA/ASS subtitles को support करता है
- संभव होने पर video में embedded fonts का इस्तेमाल करता है
-
Anime Name Parsing
[Some-Stuffs] Jojo's Bizarre Adventure Stone Ocean 24 (1920x1080 Blu-Ray Opus) [2750810F].mkvजैसे जटिल anime file names भी match कर सकता है
-
Helm Chart
- Kubernetes cluster पर deploy करने के लिए official Helm chart है
- multiple replicas पर काम चल रहा है
-
OIDC Connection
- Google, Discord, Authelia जैसे OIDC-compatible services से login किया जा सकता है
v5 में अभी दोबारा implement नहीं हुए features
-
Watch List Scrubbing Support
- connected services के साथ watch list को automatically sync करने वाला feature v5 में अभी दोबारा implement नहीं हुआ है
- SIMKL और भविष्य की अन्य services target हैं
-
Download and Offline Support
- internet के बिना देखने के लिए download और offline support भी v5 में अभी दोबारा implement नहीं हुआ है
- इसे device के फिर से online होने पर progress sync करने वाले feature के रूप में पेश किया गया है
Clients और platforms
- फिलहाल supported client Web है
- Android client v5 में अभी उपलब्ध नहीं है और “soon” status में है
- additional platforms पर विचार किया जा रहा है
- frontend React-Native और Expo से बनाया गया है
- Apple devices support की फिलहाल योजना नहीं है
- target iOS और tvOS हैं
- कारण hardware खरीद और सालाना developer cost लगभग $100 है
Jellyfin/Plex से अंतर
- Jellyfin और Plex को technically SQLite पर निर्भर और एक single container के अंदर सब कुछ रखने वाले तरीके के रूप में बताया गया है
- Kyoo जरूरत पड़ने पर additional containers इस्तेमाल करने वाला approach अपनाता है
- example के तौर पर transcoder दिया गया है
- operating philosophy “एक बार setup करो और भूल जाओ” वाली है
- manual file name changes की मांग नहीं करता
- किसी खास folder structure की मांग नहीं करता
- download directory की files को जस का तस इस्तेमाल करना लक्ष्य है
- scope films, TV shows और anime streaming तक सीमित है
- music, e-books और games को cover नहीं करता
शुरू करने और integration resources
- API Documentation: Kyoo को दूसरी services के साथ integrate करने के लिए API documentation
- Join the discord: सवालों, development discussions, feature requests और bugs share करने के लिए Discord
- weblate: Kyoo द्वारा support न की जाने वाली भाषाओं के translations जोड़े जा सकते हैं
- kyoo.zoriya.dev: copyright-free films से बना live demo उपलब्ध है
1 टिप्पणियां
Hacker News की राय
डेमो सुंदर और अच्छी तरह बनाया गया है। मैं Plex का संतुष्ट यूज़र हूं—ऑडियो के लिए Plexamp और वीडियो के लिए Apple TV वाला Plex ऐप इस्तेमाल करता हूं—इसलिए स्विच करने का इरादा नहीं है, लेकिन जिस तकनीक में दिलचस्पी थी उसे सीखने के लिए शुरू हुए sandbox project का धीरे-धीरे बड़ा हो जाना, कुछ बनाने के लिए वाकई बहुत अच्छी प्रेरणा लगता है
Plex के कभी enshittification चरण में जाने की स्थिति के लिए मैंने Jellyfin भी साथ-साथ सेट कर रखा है, लेकिन 2012 में खरीदी गई lifetime membership अब तक पूरी तरह पैसे वसूल रही है
मैंने Plex से Jellyfin पर जाने की कोशिश की थी, लेकिन Jellyfin में library management को लेकर खास रुचि नहीं दिखी और file structure को लेकर इसके बहुत कड़े अनुमान इसकी सबसे बड़ी सीमा लगे
wiki में files के नाम सही तरह से रखने का अलग section है, जबकि Plex में इसकी चिंता नहीं करनी पड़ती। सोच रहा हूं कि Kyoo भी ऐसा ही approach अपनाता है या ज्यादा user-friendly है। Plex की monetization पद्धति बेतुकी है, लेकिन Jellyfin अभी गंभीरता से इस्तेमाल करने के लिए पूरी तरह तैयार नहीं लगता
अभी भी edge cases हैं, खासकर extra videos जैसी चीजें कभी-कभी ठीक से handle नहीं होतीं। फिर भी "[SomeGroup] Jojo's bizzare adventure - golden wings 12.mkv" जैसे अजीब anime file names भी handle हो जाते हैं
सच कहूं तो मैं ऐसा हल्का Jellyfin भी देखना चाहूंगा जिसमें media management code बिल्कुल न हो और सिर्फ streaming हो
एक बार folder को किस TV show का है यह specify कर दें, तो episodes अपने-आप पहचान लिए जाते हैं, ऐसा लगता है। folder name "सही" न होने पर बस पहला step automatic नहीं होता, और Tiny Media Manager से bulk में NFO files बनाकर शायद इसे bypass भी किया जा सकता है
अच्छा लग रहा है। दिलचस्प है कि media server projects खासकर C# को पसंद करते दिखते हैं। सोचता हूं कि इसके पीछे कोई technical वजह है, या यह बड़े projects द्वारा standard set कर देने का नतीजा ज्यादा है
Kyoo भी कुछ components में Python और Go इस्तेमाल करता है, और frontend के लिए TypeScript इस्तेमाल करता है
Postgres और RabbitMQ दोनों इस्तेमाल करना कुछ ज्यादा लगता है। operational burden कम करने के लिए अगर सब कुछ Postgres पर लाने वाला PR आए तो क्या उसे स्वीकार करेंगे, यह जानना चाहूंगा
desktop पर लौटकर देखना पड़ेगा कि media server में RabbitMQ ठीक-ठीक क्या करता है
हालांकि Kubernetes वाला sync अभी और काम मांगता है
यह बहुत मजबूत और proven queue system देता है, फिर भी इसे चलाने का burden छोटा है। इससे structure simple रखा जा सकता है
दिलचस्प project है। हालांकि "transcoder का इंतजार किए बिना आसानी से seek करना" वाला हिस्सा समझना चाहूंगा
container और codec के हिसाब से यह हमेशा समस्या रही है। इसे कैसे हल किया गया, और क्या libav इस्तेमाल नहीं कर रहे हैं, यह जानना चाहूंगा
मुश्किल हिस्सा यह है कि वे segments बिना रुकावट या समस्या के देखे जा सकें, और audio या video segments repeat न हों यह सुनिश्चित किया जाए। अगर पर्याप्त रुचि हो, तो मैं इसे विस्तार से समझाने वाला blog post लिख सकता हूं
यह अफसोस की बात है कि music handle नहीं करता। Plex इस्तेमाल करने की मुख्य वजह मेरी music library management है, और Plex में भी music secondary focus जैसा लगता है, फिर भी यह पर्याप्त रूप से usable है
कुछ दिन पहले n100 पर Jellyfin और tailscale सेट किया था
लोकल में तो ठीक चल रहा था, लेकिन जब धरती के दूसरे छोर पर मौजूद परिवार के साथ tailscale के जरिए शेयर किया, तो कुछ गड़बड़ हो गई। अपलोड स्पीड काफी तेज होने के बावजूद stream शुरू होने में करीब 1 मिनट लग रहा था, शायद इसका latency से कोई संबंध हो। इसे एक बार आजमाने वाला हूं
Jellyfin और reverse proxy server पर Linux का default congestion control (
net.ipv4.tcp_congestion_control)bbrमें बदलकर देखने की सलाह दूंगा। मुझे details अच्छी तरह नहीं पता और side effects भी हो सकते हैं [1], और संभव है कि बेहतर congestion control algorithms भी हों, लेकिन मेरे मामले में इससे समस्या पूरी तरह हल हो गई। इससे पहले शांत और optimal network conditions में भी connection line speed के 10% से कम, कभी-कभी 1% तक अटक जाता थासाथ ही Caddy default रूप से HTTP/3 enable करता है, इसलिए मैंने उसे HTTP/2 पर force किया। बाद में bbr के और नए versions भी देखना चाहिए लगता है
[1] https://news.ycombinator.com/item?id=37408406
सचमुच अच्छा लग रहा है। जानना चाहूंगा कि क्या TV पर cast किया जा सकता है। यही एकमात्र वजह है जिससे मैं Plex से बंधा हुआ हूं, वरना Plex मुझे पसंद नहीं है
Plex जिस दिशा में जा रहा है, उसे देखते हुए और विकल्प मिलना अच्छा है। अच्छा होगा अगर SONARR/RADARR से सीधे जुड़ने वाले hooks बनाए जाएं, ताकि calendar item पर क्लिक करने से सीधे player पर जाया जा सके
कानूनी मुद्दों की वजह से हो सकता है वे इसे खुद बनाने से कतराएं, लेकिन self-hosted media और pirated content management features को एक interface में मिलाना सुविधाजनक लगेगा
अच्छा लग रहा है। demo page पर कुछ films पर क्लिक किया और random browse करके देखा, सब कुछ perfect काम कर रहा था
scalability को लेकर जिज्ञासा है। एक server कितने users संभाल सकता है, किस तरह का server चाहिए, यह जानना चाहूंगा। demo page किस पर चल रहा है, और users कितने बढ़ने पर overload होगा, यह भी जानना चाहता हूं
server benchmark कभी नहीं किया, लेकिन limiting factor लगभग निश्चित रूप से machine की encoding speed होगी। अगर सभी clients को अलग-अलग h265 8K films एक साथ transcode करनी हों, तो उतने ही users के direct playback की तुलना में पूरी तरह अलग स्तर की GPU/CPU performance चाहिए होगी