Initial commit
This commit is contained in:
41
README.md
Normal file
41
README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Jellyfin Schauspielerbilder laden
|
||||
|
||||
Ein Workaround für das Problem das Jellyfin unter bestimmten vorraussetzungen keine Schauspieler Bilder anzeigt
|
||||
|
||||
Jellyfin fügt unter bestimmten Bedingungen die vorhandenen Schauspielerbilder von der Festplatte nicht zur Datenbank hinzu. Erst wenn ein Schauspieler zum ersten Mal angeklickt wird, erstellt Jellyfin einen Datenbankeintrag, und das Bild wird angezeigt.
|
||||
|
||||
Dieses Skript prüft, welche Schauspieler noch kein Bild haben, und fügt das Bild der Datenbank hinzu, falls es auf der Festplatte vorhanden ist.
|
||||
|
||||
Da nur die **fehlenden** Bilder geprüft werden, ist das Skript nach dem initialen Durchlauf sehr schnell ausführbar. Es kann als Cronjob regelmäßig ausgeführt werden, um die neuesten Schauspielerbilder automatisch hinzuzufügen.
|
||||
|
||||
## Vorraussetzung
|
||||
|
||||
`curl`: Sollte standardmäßig auf Linux installiert sein.
|
||||
`jq`: Kann über den Paketmanager installiert werden:
|
||||
|
||||
```bash
|
||||
sudo apt install jq # Für Debian/Ubuntu
|
||||
sudo dnf install jq # Für Fedora
|
||||
sudo pacman -S jq # Für Arch
|
||||
```
|
||||
|
||||
## Einstellungen
|
||||
|
||||
Das Script 3 Anpassungen um zu funktionieren
|
||||
|
||||
- **base_url**: Der Hostname deines Jellyfin-Servers.
|
||||
- **api_key**: Kann abgerufen werden, indem du zum Dashboard gehst, dort API-Schlüssel, auf die +-Schaltfläche klickst, einen beliebigen Namen eingibst und den generierten API-Schlüssel verwendest.
|
||||
- **user_id**: Kann abgerufen werden, indem du zum Dashboard gehst, dort Benutzer, auf deinen (oder einen anderen) Benutzer klickst und die ID aus der URL nach `userId= `entnimmst.
|
||||
|
||||
**Beispiel:**
|
||||
```bash
|
||||
base_url="http://192.168.178.30:8096"
|
||||
api_key="18b973511efd4887a24e14fbdf8f61d5"
|
||||
user_id="69c0f432ec3a46b58cbf2e900f5a3fd5"
|
||||
```
|
||||
|
||||
## Quellen
|
||||
|
||||
- https://github.com/jellyfin/jellyfin/issues/8288
|
||||
- https://github.com/jellyfin/jellyfin/issues/9182
|
||||
- https://github.com/jellyfin/jellyfin/issues/8103
|
||||
33
shell_jellyfin_actors_images_fix.sh
Normal file
33
shell_jellyfin_actors_images_fix.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
# API-Endpunkte und API-Schlüssel
|
||||
base_url="http://192.168.178.30:8096"
|
||||
api_key="18b973511efd4887a24e14fbdf8f61d5"
|
||||
user_id="69c0f432ec3a46b58cbf2e900f5a3fd5"
|
||||
|
||||
# Hole die Liste der Personen
|
||||
echo "Abrufen der Personenliste..."
|
||||
response=$(curl -s "${base_url}/emby/Persons?api_key=${api_key}")
|
||||
|
||||
# Finde Personen ohne ImageTags und extrahiere die IDs
|
||||
ids=($(echo "$response" | jq -c '.Items[] | select(.ImageTags | length == 0)' | jq -r '.Id' | sort -u))
|
||||
total=${#ids[@]} # Gesamtzahl der IDs
|
||||
|
||||
echo "Gefundene Personen ohne ImageTags: $total"
|
||||
|
||||
# Iteriere durch die IDs mit Fortschrittsanzeige
|
||||
for ((i=0; i<total; i++)); do
|
||||
id=${ids[i]}
|
||||
remaining=$((total - i - 1)) # Verbleibende Anfragen
|
||||
echo "[$((i + 1))/$total] Verarbeite Person mit ID: $id ($remaining verbleibend)"
|
||||
|
||||
# Sende die Anfrage
|
||||
curl -s "${base_url}/Users/${user_id}/Items/${id}?api_key=${api_key}" >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echo " ^|^s Anfrage f r ID $id erfolgreich."
|
||||
else
|
||||
echo " ^|^w Anfrage f r ID $id fehlgeschlagen."
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Verarbeitung abgeschlossen!"
|
||||
Reference in New Issue
Block a user