recloudstream / recloudstream/cloudstream
Feature Request: Optional external metadata provider for high-quality posters and banners
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 10.7k
- Forks
- 1.1k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 15
Description
Describe your suggested feature
Summary
Add an optional metadata resolver that can retrieve posters, banners, backgrounds, and additional metadata from external services (such as AniList for anime or TMDB for movies/TV) instead of relying exclusively on the images provided by extensions.
Motivation
Many extensions scrape websites that only expose small thumbnail images (300–500 px). These thumbnails look acceptable in grids but become heavily pixelated when displayed in CloudStream's featured hero carousel.
Since CloudStream simply displays the image URL returned by the extension, the application has no way to improve image quality.
Instead of requiring every extension to provide high-resolution artwork, CloudStream could optionally resolve metadata from dedicated metadata providers.
Proposed Architecture
Extension
↓
title
year
type
↓
Metadata Resolver (optional)
↓
AniList / TMDB / other providers
↓
poster
banner
background
logo
description (optional)
genres (optional)
The extension would still provide the playable content.
CloudStream would only replace (or supplement) the visual metadata.
Benefits
-
High-resolution artwork across all providers.
-
Consistent UI regardless of extension quality.
-
Less work for extension developers.
-
Better-looking featured carousel.
-
Future support for additional assets such as banners, logos, and fanart.
Optional Behavior
This feature should be configurable.
For example:
Metadata source
-
Extension (default)
-
AniList
-
TMDB
-
Automatic
Users who prefer the extension's metadata could keep the current behavior.
Caching
Resolved metadata should be cached locally.
Possible cache key:
title
year
type
or, when available,
provider ID
This would avoid repeated API requests.
Matching
Matching would naturally be the most difficult part.
Possible matching strategy:
-
exact title
-
alternative titles
-
release year
-
media type
-
fuzzy matching as fallback
Since this would only affect artwork, an occasional mismatch would be far less critical than playback errors.
Why this should not be implemented inside extensions
Every extension currently has to solve the same problem independently.
Moving artwork resolution into CloudStream would:
-
reduce duplicated work
-
improve consistency
-
allow future metadata providers without modifying existing extensions
Other details
This is not intended to replace extension metadata.
It would simply be an optional enhancement for users who prefer higher-quality artwork, especially on large displays such as Android TV or tablets, where low-resolution thumbnails become very noticeable.
Acknowledgements
- My suggestion is NOT about adding a new provider
- I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by tracing how extensions currently provide artwork and metadata, then review the proposed provider selection, matching, and local caching requirements. Done should include a defined integration design and validation for optional AniList/TMDB resolution without disrupting extension metadata or playback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- api, mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100