145 lines
3.8 KiB
Markdown
145 lines
3.8 KiB
Markdown
|
|
# JellyCon Patches
|
||
|
|
|
||
|
|
Diese Patches fügen neue Features und Fixes zu JellyCon hinzu.
|
||
|
|
|
||
|
|
## Patches Übersicht
|
||
|
|
|
||
|
|
### 1. websocket-keepalive-fix.patch (3.1 KB)
|
||
|
|
**Was es behebt:** Session-Flapping Problem (ständige Reconnects alle 2 Minuten)
|
||
|
|
|
||
|
|
**Änderungen:**
|
||
|
|
- Implementiert Jellyfin's ForceKeepAlive/KeepAlive Protokoll
|
||
|
|
- Entfernt problematische `ping_timeout` und `reconnect` Parameter
|
||
|
|
- WebSocketApp wird bei jedem Reconnect neu erstellt (verhindert Memory-Leaks)
|
||
|
|
- Fügt `on_close` Callback hinzu für besseres Debugging
|
||
|
|
|
||
|
|
**Betroffene Dateien:**
|
||
|
|
- `resources/lib/websocket_client.py`
|
||
|
|
|
||
|
|
**Anwendung:**
|
||
|
|
```bash
|
||
|
|
cd plugin.video.jellycon
|
||
|
|
patch -p1 < websocket-keepalive-fix.patch
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 2. transcode-target-codec.patch (4.4 KB)
|
||
|
|
**Was es hinzufügt:** Konfigurierbare Transcode-Ziel-Codecs (H.264, H.265, AV1)
|
||
|
|
|
||
|
|
**Features:**
|
||
|
|
- Neue Dropdown-Option: "Transcode target video codec"
|
||
|
|
- H.264 (default)
|
||
|
|
- H.265 (HEVC) - Perfekt für Raspberry Pi 5!
|
||
|
|
- AV1
|
||
|
|
- Neue Checkbox: "Force transcode h264"
|
||
|
|
- Unabhängige Kontrolle über Quell- und Ziel-Codecs
|
||
|
|
|
||
|
|
**Perfekt für:**
|
||
|
|
- Raspberry Pi 5 (H.265 Hardware-Decode)
|
||
|
|
- Moderne GPUs mit AV1-Unterstützung
|
||
|
|
- Optimierung der Client-Hardware-Beschleunigung
|
||
|
|
|
||
|
|
**Betroffene Dateien:**
|
||
|
|
- `resources/lib/play_utils.py`
|
||
|
|
- `resources/settings.xml`
|
||
|
|
- `resources/language/resource.language.en_gb/strings.po`
|
||
|
|
- `resources/language/resource.language.de/strings.po`
|
||
|
|
|
||
|
|
**Anwendung:**
|
||
|
|
```bash
|
||
|
|
cd plugin.video.jellycon
|
||
|
|
patch -p1 < transcode-target-codec.patch
|
||
|
|
```
|
||
|
|
|
||
|
|
**Konfiguration nach Installation:**
|
||
|
|
```
|
||
|
|
Kodi Settings → Add-ons → JellyCon → Playback
|
||
|
|
|
||
|
|
1. "Transcode target video codec" → H.265 (HEVC)
|
||
|
|
2. "Force transcode h264" → ☑ Aktivieren
|
||
|
|
3. "Force transcode h265" → ☐ Aus
|
||
|
|
|
||
|
|
Ergebnis:
|
||
|
|
- H.264 Content → Server transcodiert zu H.265 → Pi 5 Hardware-Decode
|
||
|
|
- H.265 Content → DirectPlay (Hardware!)
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 3. disable-disk-cache.patch (3.8 KB)
|
||
|
|
**Was es hinzufügt:** Option zum Deaktivieren von Disk-Caching
|
||
|
|
|
||
|
|
**Features:**
|
||
|
|
- Neue Checkbox: "Disable disk caching (RAM only)"
|
||
|
|
- Verhindert Schreiben von `.pickle` Cache-Dateien
|
||
|
|
- Deaktiviert Artwork-Preloading
|
||
|
|
- Daten bleiben nur im RAM
|
||
|
|
|
||
|
|
**Perfekt für:**
|
||
|
|
- SD-Karten (Raspberry Pi) - reduziert Schreibzyklen massiv
|
||
|
|
- Privacy - keine dauerhaften Cache-Dateien
|
||
|
|
- Immer frische Daten vom Server
|
||
|
|
|
||
|
|
**Betroffene Dateien:**
|
||
|
|
- `resources/lib/datamanager.py`
|
||
|
|
- `resources/lib/cache_images.py`
|
||
|
|
- `resources/settings.xml`
|
||
|
|
- `resources/language/resource.language.en_gb/strings.po`
|
||
|
|
- `resources/language/resource.language.de/strings.po`
|
||
|
|
|
||
|
|
**Anwendung:**
|
||
|
|
```bash
|
||
|
|
cd plugin.video.jellycon
|
||
|
|
patch -p1 < disable-disk-cache.patch
|
||
|
|
```
|
||
|
|
|
||
|
|
**Konfiguration nach Installation:**
|
||
|
|
```
|
||
|
|
Kodi Settings → Add-ons → JellyCon → Advanced
|
||
|
|
|
||
|
|
"Disable disk caching (RAM only)" → ☑ Aktivieren
|
||
|
|
```
|
||
|
|
|
||
|
|
**Hinweis:** Kodi's eigener Texture-Cache (`~/.kodi/userdata/Thumbnails/`) läuft weiterhin!
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Alle Patches auf einmal anwenden
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd plugin.video.jellycon
|
||
|
|
patch -p1 < websocket-keepalive-fix.patch
|
||
|
|
patch -p1 < transcode-target-codec.patch
|
||
|
|
patch -p1 < disable-disk-cache.patch
|
||
|
|
```
|
||
|
|
|
||
|
|
## Patches rückgängig machen
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd plugin.video.jellycon
|
||
|
|
patch -p1 -R < websocket-keepalive-fix.patch
|
||
|
|
patch -p1 -R < transcode-target-codec.patch
|
||
|
|
patch -p1 -R < disable-disk-cache.patch
|
||
|
|
```
|
||
|
|
|
||
|
|
## Zusammenfassung der Änderungen
|
||
|
|
|
||
|
|
```
|
||
|
|
7 Dateien geändert, 134 Zeilen hinzugefügt, 15 Zeilen entfernt
|
||
|
|
|
||
|
|
+ resources/lib/websocket_client.py (KeepAlive Fix)
|
||
|
|
+ resources/lib/play_utils.py (Transcode Target)
|
||
|
|
+ resources/lib/datamanager.py (Disk Cache Control)
|
||
|
|
+ resources/lib/cache_images.py (Disk Cache Control)
|
||
|
|
+ resources/settings.xml (Neue Settings)
|
||
|
|
+ resources/language/.../strings.po (Sprachstrings DE+EN)
|
||
|
|
```
|
||
|
|
|
||
|
|
## Getestet mit
|
||
|
|
|
||
|
|
- JellyCon Version: 0.9.0+py3
|
||
|
|
- Kodi Version: Matrix 19+
|
||
|
|
- Jellyfin Server: 10.8+
|
||
|
|
- Raspberry Pi 5 (primärer Use-Case)
|