From 079a1fb3ee13d193e442a4e5a32774cc57dda1a4 Mon Sep 17 00:00:00 2001 From: Patrik Fodor Date: Thu, 16 Oct 2025 09:54:27 +0200 Subject: [PATCH 1/2] docs: improve docs in goals.md - Change "series" to "TV show" to make it clearer - Move CDN future goal to the Later section Signed-off-by: Patrik Fodor --- goals.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/goals.md b/goals.md index a7703e0..4404ac8 100644 --- a/goals.md +++ b/goals.md @@ -36,12 +36,6 @@ - Multiple CDNs can share content and metadata within a trusted federation network. - The system can automatically balance or replicate popular content across CDNs to optimize bandwidth usage and ensure availability. - - **Future Idea - Predictive Caching:** - - CDNs may automatically pre-cache upcoming content based on user activity patterns. - - If a user watches the first movie in a series, the CDN pre-fetches sequels (e.g., parts 2, 3, etc.). - - If a user starts a new TV show, the CDN preloads subsequent episodes or seasons. - - This predictive caching minimizes latency and improves the user experience by ensuring likely-next content is available instantly. - - **Metadata Management:** - Automatically identify and fetch metadata from databases like IMDb, TVDB, etc. - Allow users to edit and correct metadata manually. @@ -59,7 +53,7 @@ - **User Management:** - Authentication, profiles, access control, and session tracking. - **Library & Personalization:** - - Organize and manage libraries by media type (movies, shows, etc.). + - Organize and manage libraries by media type (movies, TV shows, etc.). - Create and manage playlists and collections. - Track user history, progress, and play counts. - Allow users to group media into watchlists, favorites, or custom categories. @@ -69,18 +63,23 @@ ## Nice to Have / Later -- **Sync Play:** Watch movies or shows together in real time across multiple clients. +- **Sync Play:** Watch movies or TV shows together in real time across multiple clients. - **Integration with ARR Stack:** Compatibility with Radarr, Sonarr, Lidarr, and similar automation tools. - **Parental controls** - **Jellyfin-Compatible API** and **Plex-Compatible API** - **Plugin Support:** Extend functionality with custom or third-party plugins. - **Smart Playback Features:** - Intro, outro, recap skipper. -- **Recommendations:** Personalized movie and series suggestions based on user history and preferences. +- **Recommendations:** Personalized movie and TV show suggestions based on user history and preferences. - **External Sync:** Sync watch history, ratings, and metadata with services like Trakt.tv. - **Subtitle Management:** Automatic subtitle fetching, editing, and syncing with playback. - Probably bazarr is enough for that. - **Multi-Format Detection:** Detect multiple versions (e.g., 1080p, 4K, HDR) of the same media and show them in a unified view. - **IPTV / Live TV:** Stream and manage live channels alongside on-demand content. +- **CDN - Predictive Caching:** + - CDNs may automatically pre-cache upcoming content based on user activity patterns. + - If a user watches the first movie in a movie series, the CDN pre-fetches sequels (e.g., parts 2, 3, etc.). + - If a user starts a new TV show, the CDN preloads subsequent episodes or seasons. + - This predictive caching minimizes latency and improves the user experience by ensuring likely-next content is available instantly. ## Architecture From beecae7c09814d6b191a1a8b4ad2a4d010d24be0 Mon Sep 17 00:00:00 2001 From: Patrik Fodor Date: Thu, 16 Oct 2025 10:00:50 +0200 Subject: [PATCH 2/2] docs: remove extra white spaces in goals.md Signed-off-by: Patrik Fodor --- goals.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/goals.md b/goals.md index 4404ac8..3bdbe43 100644 --- a/goals.md +++ b/goals.md @@ -5,36 +5,36 @@ - Use cached segments for seamless seeking and fast resume. - If another user starts playback with the same parameters, reuse existing cached data to minimize transcoding and bandwidth usage. - **CDN Capabilities and P2P Federation** - - **Lightweight CDN Node:** - - Each CDN node runs as a standalone executable binary that can be easily deployed by both technical and non-technical users. + - **Lightweight CDN Node:** + - Each CDN node runs as a standalone executable binary that can be easily deployed by both technical and non-technical users. - Minimal configuration required: - - **Data Directory:** Defines where cached media files are stored. - - **Optional Name:** Human-readable CDN identifier (used for UI labeling and dynamic DNS registration). - - **Mode:** Can operate as a **shared CDN** (available to multiple users) or a **local-only CDN**. + - **Data Directory:** Defines where cached media files are stored. + - **Optional Name:** Human-readable CDN identifier (used for UI labeling and dynamic DNS registration). + - **Mode:** Can operate as a **shared CDN** (available to multiple users) or a **local-only CDN**. - - **Secure Connectivity:** - - Each CDN connects to the **main metadata server** using a **pre-shared key** for authentication and trust establishment. - - This ensures only authorized CDNs can register and exchange data with the main network. + - **Secure Connectivity:** + - Each CDN connects to the **main metadata server** using a **pre-shared key** for authentication and trust establishment. + - This ensures only authorized CDNs can register and exchange data with the main network. - - **Dynamic Registration & Discovery:** - - Upon startup, the CDN connects to the **main metadata server** and automatically registers itself. - - The main server assigns a **dynamic DNS name** to each CDN for seamless connectivity. - - CDNs periodically update their metadata to report available content, storage capacity, and health status. + - **Dynamic Registration & Discovery:** + - Upon startup, the CDN connects to the **main metadata server** and automatically registers itself. + - The main server assigns a **dynamic DNS name** to each CDN for seamless connectivity. + - CDNs periodically update their metadata to report available content, storage capacity, and health status. - - **Content Awareness & Distribution:** - - The main server maintains a global index of all available CDNs and the content cached on each. - - Users can choose which CDN should serve their content in the client UI. + - **Content Awareness & Distribution:** + - The main server maintains a global index of all available CDNs and the content cached on each. + - Users can choose which CDN should serve their content in the client UI. - If a requested content is missing from the selected CDN, users have two options: - 1. **Request content replication:** Copy or prefetch the content from another CDN or the main server. - 2. **Stream fallback:** Stream the content directly from the main server or the nearest available CDN. + 1. **Request content replication:** Copy or prefetch the content from another CDN or the main server. + 2. **Stream fallback:** Stream the content directly from the main server or the nearest available CDN. - - **Peer-to-Peer (P2P) Sharing:** - - CDNs and the main server interconnect via **P2P protocols** to simplify file transfer and reduce reliance on centralized infrastructure. - - This enables faster, bandwidth-efficient distribution of popular content between geographically distributed CDNs. + - **Peer-to-Peer (P2P) Sharing:** + - CDNs and the main server interconnect via **P2P protocols** to simplify file transfer and reduce reliance on centralized infrastructure. + - This enables faster, bandwidth-efficient distribution of popular content between geographically distributed CDNs. - - **Federation & Collaboration:** - - Multiple CDNs can share content and metadata within a trusted federation network. - - The system can automatically balance or replicate popular content across CDNs to optimize bandwidth usage and ensure availability. + - **Federation & Collaboration:** + - Multiple CDNs can share content and metadata within a trusted federation network. + - The system can automatically balance or replicate popular content across CDNs to optimize bandwidth usage and ensure availability. - **Metadata Management:** - Automatically identify and fetch metadata from databases like IMDb, TVDB, etc.