Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Feature Request: Optional external metadata provider for high-quality posters and banners

Đã đóng
#3,087 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Ít trao đổi
Công nghệ
android, kotlin
Lĩnh vực
api, mobile

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm vào nào được nêu. Hãy bắt đầu bằng cách truy vết cách các extension hiện cung cấp artwork và metadata, sau đó xem xét các yêu cầu được đề xuất về lựa chọn provider, matching và caching cục bộ. Phần hoàn tất cần bao gồm một thiết kế tích hợp được xác định rõ và việc xác thực khả năng phân giải tùy chọn qua AniList/TMDB mà không làm gián đoạn metadata của extension hoặc quá trình phát.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement
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.

Image
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.
Ngôn ngữ chính
Kotlin
Star
11k
Fork
1.1k
Merge trung bình
3 ngày 3 giờ
Pull request đã merge (30 ngày)
15

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của recloudstream/cloudstream

Tất cả issue của recloudstream/cloudstream

Issue tương tự

Thêm issue về Kotlin

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.