podcast-rss-generator
Generador de feeds RSS para podcasts autoalojados (S3/MinIO). Compatible con Apple Podcasts, Spotify y YouTube. Valida configuración YAML, extrae metadatos ID3 de archivos y convierte video a audio automáticamente.
Ficha actualizada 28 sept 2026, 8:16 · upstream 28 sept 2026, 8:05 · release v2026.9.0
Qué es podcast-rss-generator
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Esta herramienta genera un feed RSS válido para podcasts alojados en servicios como S3, MinIO, GCS o R2. Está diseñada para cumplir con el estándar PSP-1 (The Podcast RSS Standard), incluyendo campos específicos como podcast:guid y podcast:locked.
El script lee metadatos de episodios desde archivos YAML y verifica activos mediante HTTP HEAD y ffprobe para obtener duración y tipo de contenido. Soporta la lectura automática de etiquetas ID3 en contenedores MP3/M4A/MP4 para rellenar campos como título o descripción, evitando duplicación manual.
Es importante notar que YouTube entrega video subido vía RSS como audio solo, y Spotify no procesa video a través de RSS. Por ello, se recomienda subir manualmente el contenido a estas plataformas si se desea mantener la versión de video.
- Autoalojar un podcast en S3 o MinIO y generar el feed XML para distribuirlo.
- Convertir automáticamente un podcast de video a audio para cumplir requisitos de Apple Podcast Connect.
- Validar la configuración YAML antes de generar el feed usando la opción --dry-run.
- Extraer metadatos de archivos MP3/M4A existentes (ID3) para rellenar campos del feed sin editar manualmente.
- Derivar GUIDs únicos por episodio basados en hashes de archivo para evitar re-descargas al re-subir contenido.
- Generar feeds estables con podcast:locked para proteger la propiedad intelectual del canal.
- Cumplimiento estricto del estándar PSP-1 (The Podcast RSS Specification).
- Validación exhaustiva de configuración YAML antes de generar el feed.
- Lectura automática de metadatos ID3/TAGs de archivos MP3/M4A/MP4 sin duplicar información.
- Uso de uv para gestión de dependencias Python, facilitando la instalación y sincronización.
- Soporte para derivación de GUID por hash de archivo (x-amz-checksum-sha256 o ETag).
- Conversión automática de fechas ISO 8601 a RFC 2822 requerida por RSS.
- YouTube entrega contenido video subido vía RSS como audio únicamente.
- Spotify no procesa ni publica episodios de video a través del feed RSS.
- Requiere ffmpeg instalado para la verificación de duración y lectura de metadatos.
- Las fechas ID3 (TDRC) pueden ser imprecisas o solo año, por lo que publication_date debe mantenerse en YAML.
- No extrae automáticamente imágenes incrustadas (APIC) del contenedor; requiere URL externa para artwork.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere Python 3.11+ y ffmpeg instalado. Instalar con uv tool install o pipx. Clonar repositorio, ejecutar uv sync. Generar feed con podcast-rss-generator --input-file podcast_config.yaml --output-file podcast_feed.xml. Subir podcast_feed.xml al bucket S3/GCS/R2. Validar resultado con Podbase antes de publicar.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.