diff --git a/goals.md b/goals.md index 360e34d..c3a60bb 100644 --- a/goals.md +++ b/goals.md @@ -4,7 +4,8 @@ - **Caching & Performance:** - 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. - - Includes CDN capabilities and P2P federation by Blint. +- **CDN capabilities and P2P federation** + - TODO: Define this feature in detail. - **Metadata Management:** - Automatically identify and fetch metadata from databases like IMDb, TVDB, etc. - Allow users to edit and correct metadata manually. @@ -16,7 +17,7 @@ - Native Clients: Desktop (Windows, Linux, MacOS), Mobile (Android, iOS), TV (Android TV, Apple TV, WebOS, Roku, Someone could create one for Xbox) - Multiuser Support in clients: You are able to login with multiple users and change between them. - **Offline Access:** - - Clients can batch-download content for offline playback, respecting user permissions and device limits. + - Clients can batch-download content for offline playback. - **Scalability:** - Support distributed and remote ffmpeg-based transcoding pipelines for high availability and load balancing. - **User Management:** @@ -49,6 +50,7 @@ - **Frontend/Backend Separation:** Clearly separated user interface and backend services. - **Microservice-Ready:** Modular, loosely coupled components that can scale independently. +- **Resiliency**: Temporary outages in one service should not disrupt the viewing experience. - **Extensible Protocol Support:** Easily add or replace streaming and media delivery protocols. - **Telemetry & Observability:** Built-in tracing, logging, and metrics collection. - **Plugin System:** Enable community and custom extensions.