Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#3,087 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
android, kotlin
Área
api, mobile

Línea de trabajo

No se nombran archivos, pruebas ni puntos de entrada. Empieza por rastrear cómo proporcionan actualmente las extensiones el artwork y los metadatos, y después revisa los requisitos propuestos de selección de proveedores, matching y almacenamiento en caché local. El trabajo debería incluir un diseño de integración definido y la validación de la resolución opcional mediante AniList/TMDB, sin alterar los metadatos de las extensiones ni la reproducción.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.
Lenguaje dominante
Kotlin
Estrellas
10.8k
Forks
1.1k
Merge medio
3 d 3 h
PR fusionados (30 d)
23

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de recloudstream/cloudstream

Todos los issues de recloudstream/cloudstream

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.