- Added mutagen, requests, and yt-dlp as dependencies in pyproject.toml and requirements.txt. - Removed run_generator.py, start_server.py, and test_generator.py as they are no longer needed. - Introduced setup.sh for initial setup instructions and directory creation. - Updated uv.lock with new package versions and dependencies.
114 lines
2.8 KiB
Markdown
114 lines
2.8 KiB
Markdown
# SERMAN RSS Feed Generator - Lokale Version
|
|
|
|
Ein Python-Tool zum Erstellen von RSS-Feeds aus lokalen MP3-Dateien für Podcast-Apps.
|
|
|
|
## Features
|
|
|
|
- 🎵 Scannt automatisch das `_audio/` Verzeichnis nach MP3-Dateien
|
|
- 📱 Erstellt Podcast-kompatible RSS-Feeds
|
|
- 🏷️ Liest ID3-Tags automatisch aus MP3-Dateien
|
|
- 🌐 Integrierter HTTP-Server zum Hosten der Dateien
|
|
- ⚡ Einfache Bedienung über Kommandozeile
|
|
|
|
## Installation
|
|
|
|
1. Abhängigkeiten installieren:
|
|
```bash
|
|
uv sync
|
|
```
|
|
|
|
2. MP3-Dateien in das `_audio/` Verzeichnis legen
|
|
|
|
## Verwendung
|
|
|
|
### Einfache Nutzung
|
|
|
|
```bash
|
|
uv run python main.py
|
|
```
|
|
|
|
### Mit HTTP-Server
|
|
|
|
```bash
|
|
uv run python main.py --serve
|
|
```
|
|
|
|
### Erweiterte Optionen
|
|
|
|
```bash
|
|
uv run python main.py --audio-dir _audio --output my_podcast.xml --base-url https://meinserver.de --serve --port 8080
|
|
```
|
|
|
|
## Parameter
|
|
|
|
- `--audio-dir`: Verzeichnis mit MP3-Dateien (Standard: `_audio`)
|
|
- `--output`: Name der RSS-Feed-Datei (Standard: `serman_podcast.xml`)
|
|
- `--base-url`: Basis-URL für Audio-Links (Standard: `http://localhost:8000`)
|
|
- `--serve`: Startet automatisch einen HTTP-Server
|
|
- `--port`: Port für den HTTP-Server (Standard: 8000)
|
|
|
|
## RSS-Feed URLs
|
|
|
|
Nach dem Start des Servers ist der Feed verfügbar unter:
|
|
- **Lokal**: http://localhost:8000/serman_podcast.xml
|
|
- **Mit eigener Basis-URL**: [DEINE_URL]/serman_podcast.xml
|
|
|
|
## Podcast-App Integration
|
|
|
|
1. RSS-Feed generieren und Server starten
|
|
2. RSS-URL in Podcast-App hinzufügen
|
|
3. Neue MP3-Dateien im `_audio/` Verzeichnis ablegen
|
|
4. Feed neu generieren für Updates
|
|
|
|
## Dateiformat
|
|
|
|
Das Tool liest automatisch folgende ID3-Tags:
|
|
- **TIT2**: Titel (Fallback: Dateiname)
|
|
- **TPE1**: Künstler (Fallback: "SERMAN")
|
|
- **TALB**: Album (optional)
|
|
- **Dauer**: Automatisch erkannt
|
|
|
|
## Verzeichnisstruktur
|
|
|
|
```text
|
|
rss-feeder/
|
|
├── _audio/ # MP3-Dateien hier ablegen
|
|
│ ├── mix1.mp3
|
|
│ ├── mix2.mp3
|
|
│ └── README.md
|
|
├── main.py # Hauptprogramm
|
|
├── local_podcast_generator.py # RSS-Generator
|
|
├── serman_podcast.xml # Generierter RSS-Feed
|
|
└── requirements.txt # Python-Abhängigkeiten
|
|
```
|
|
|
|
## Deployment
|
|
|
|
Für produktive Nutzung:
|
|
|
|
1. **Server bereitstellen** (z.B. VPS, Cloud-Instance)
|
|
2. **Dateien hochladen** und Dependencies installieren
|
|
3. **Permanenten Webserver** konfigurieren (nginx, Apache)
|
|
4. **RSS-Feed URL** an Hörer verteilen
|
|
|
|
## Automatisierung
|
|
|
|
Für automatische Updates bei neuen MP3-Dateien:
|
|
|
|
```bash
|
|
# Beispiel-Script für cron job
|
|
#!/bin/bash
|
|
cd /pfad/zu/rss-feeder
|
|
uv run python main.py --base-url https://meinserver.de/podcast
|
|
```
|
|
|
|
---
|
|
|
|
## Legacy: Mixcloud-Version
|
|
|
|
Die ursprünglichen Mixcloud-Skripte sind noch vorhanden:
|
|
- `mixcloud_rss_pro.py` - Mixcloud RSS mit Audio-Extraktion
|
|
- `mixcloud_rss.py` - Einfache Mixcloud RSS-Generierung
|
|
|
|
Siehe Git-Historie für die ursprüngliche Mixcloud-basierte README.
|