Commit graph

11 commits

Author SHA1 Message Date
e2bf70b280 perf: Performance-Optimierungen + TV-Cover vergroessert
- aiomysql Pool: minsize=2, maxsize=10, pool_recycle=300 (verhindert "gone away")
- Jinja2 Bytecode-Cache + auto_reload=False (3-5x schnelleres Rendering)
- HLS-Segmente: Cache-Header immutable (aggressives Browser-Caching)
- WebSocket: heartbeat=30s (erkennt tote Verbindungen automatisch)
- VAAPI: -low_power 1 fuer h264_vaapi (2-3x schnelleres GPU-Encoding)
- TV-Homepage: Cover um 40% vergroessert (alle Breakpoints)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 20:41:41 +01:00
d61fd5bc04 feat: VideoKonverter v4.3 - Thumbnails, Watch-Status, Transcoding-Settings
Thumbnails:
- Negative Zaehlung gefixt (-23 von 5789): INNER JOIN statt separate COUNT
- Verwaiste Thumbnail-Eintraege werden automatisch bereinigt
- TVDB-Bilder werden lokal heruntergeladen statt extern verlinkt
- Template nutzt nur noch lokale API, keine externen TVDB-URLs
- Cache-Control: Thumbnails werden 7 Tage gecacht (Middleware ueberschreibt nicht mehr)
- Fortschrittsbalken ins globale Progress-System verschoben (Thumbnails + Auto-Match)

Watch-Status:
- Feldnamen-Bug gefixt: position/duration -> position_sec/duration_sec
- saveProgress(completed) setzt Position=Duration bei Video-Ende
- Backend wertet completed-Flag aus

Player:
- Error-Recovery: Auto-Retry bei Video-Fehlern (2x)
- Toast-Benachrichtigungen bei Stream-Fehlern (HLS, Netzwerk, Fallback)
- onPlaying() Reset des Retry-Zaehlers

Transcoding:
- Neue Einstellung "Immer transcodieren" (force_transcode) im TV-Admin
- Erzwingt H.264+AAC Transcoding fuer maximale Client-Kompatibilitaet
- Kein Copy-Modus wenn aktiviert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 06:30:39 +01:00
4f151de78c feat: VideoKonverter v4.2 - TV Admin-Center, HLS-Streaming, Startseiten-Rubriken
- TV Admin-Center (/tv-admin): HLS-Settings, Session-Monitoring, User-Verwaltung
- HLS-Streaming: ffmpeg .ts-Segmente, hls.js, GPU VAAPI, SIGSTOP/SIGCONT
- Startseite: Rubriken (Weiterschauen, Neu, Serien, Filme, Schon gesehen)
- User-Settings: Startseiten-Rubriken konfigurierbar, Watch-Threshold
- UI: Amber/Gold Accent-Farbe, Focus-Ring-Fix, Player-Buttons einheitlich
- Cache-Busting: ?v= Timestamp auf allen CSS/JS Includes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:57:48 +01:00
75bb5d796d fix: VideoKonverter v4.0.3 - JSON-Import-Fix, Player D-Pad-Navigation, Overlay-Bugfix
- import json in library_api.py ergänzt (fehlte, Video-Info-API crashte)
- Player: D-Pad-Navigation für Samsung TV Fernbedienung eingebaut
- Player: Samsung Farbtasten (Rot=Audio, Grün=Subs, Gelb=Qualität, Blau=Speed)
- Player: Overlay zeigt nur noch die zum Button passende Sektion
- Player: Auto-Fokus beim Öffnen von Overlays

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:20:30 +01:00
e8f2d49949 feat: VideoKonverter v4.0.2 - FocusManager-Fix, Poster-Caching, Performance
- FocusManager: Navigation von Nav-Leiste direkt zu Content-Karten
- Input/Select Editier-Modus: Erst Enter zum Bearbeiten, D-Pad navigiert weiter
- Poster lokal cachen + Pillow-Resize (233KB → 47KB, 80% kleiner)
- Content-Visibility fuer versteckte View-Container

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 09:49:05 +01:00
c7151e8bd1 feat: VideoKonverter v4.0.1 - UX-Verbesserungen, Batch-Thumbnails, Bugfixes
- Alphabet-Seitenleiste (A-Z) auf Serien-/Filme-Seite
- Separate Player-Buttons fuer Audio/Untertitel/Qualitaet
- Batch-Thumbnail-Generierung per Button in der Bibliothek
- Redundante Dateien in Episoden-Tabelle orange markiert
- Gesehen-Markierung per Episode/Staffel
- Genre-Filter als Select-Element statt Chips
- Fix: tvdb_episode_cache fehlende Spalten (overview, image_url)
- Fix: Login Auto-Fill-Erkennung statt Flash
- Fix: Profil-Wechsel zeigt alle User

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 09:22:04 +01:00
61ca20bf8b fix: TV-App UX-Verbesserungen - Navigation, Ordner-Ansicht, Duplikate
- FocusManager: SELECT-Elemente, sequentielle Nav-Navigation, Zone-basiert
- Ordner-Ansicht (4. View) fuer Serien + Filme mit Quellen-Gruppierung
- Login-Flow: Lade-Spinner statt Form-Flash, Auto-Login bei 1 Profil
- Farbauswahl: Farbkreise statt input type=color (Samsung TV kompatibel)
- Duplikat-Episoden: Orange Markierung + Badge bei gleicher Episodennummer
- i18n: Neue Keys fuer Ordner-Ansicht und Duplikat-Markierung

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 07:57:57 +01:00
6d0b8936c5 feat: VideoKonverter v4.0 - Streaming-Client Ausbau
TV-App komplett ueberarbeitet: i18n (DE/EN), Multi-User Quick-Switch,
3 Themes (Dark/Medium/Light), 3 Ansichten (Grid/Liste/Detail),
Filter (Quellen/Genre/Rating/Sortierung), Merkliste, 5-Sterne-Bewertung,
Watch-Status, Player-Overlay (Audio/Untertitel/Qualitaet/Naechste Episode),
Episoden-Thumbnails, Suchverlauf, Queue-Bugfix (delete_source).

5 neue DB-Tabellen, 10+ neue API-Endpunkte, ~3800 neue Zeilen Code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 07:39:12 +01:00
99730f2f8f feat: VideoKonverter v3.1 - TV-App, Auth, Tizen, Log-API
TV-App (/tv/):
- Login mit bcrypt-Passwort-Hashing und DB-Sessions (30 Tage)
- Home (Weiterschauen, Serien, Filme), Serien-Detail mit Staffeln
- Film-Uebersicht und Detail, Fullscreen Video-Player
- Suche mit Live-Ergebnissen, Watch-Progress (alle 10s gespeichert)
- D-Pad/Fernbedienung-Navigation (FocusManager, Samsung Tizen Keys)
- PWA: manifest.json, Service Worker, Icons fuer Handy/Tablet
- Pro-User Berechtigungen (Serien, Filme, Admin, erlaubte Pfade)

Admin-Erweiterungen:
- QR-Code fuer TV-App URL
- User-Verwaltung (CRUD) mit Rechte-Konfiguration
- Log-API: GET /api/log?lines=100&level=INFO

Tizen-App (tizen-app/):
- Wrapper-App fuer Samsung Smart TVs (.wgt Paket)
- Einmalige Server-IP Eingabe, danach automatische Verbindung
- Installationsanleitung (INSTALL.md)

Bug-Fixes:
- executeImport: Job-ID vor resetImport() gesichert
- cursor(aiomysql.DictCursor) statt cursor(dict)
- DB-Spalten width/height statt video_width/video_height

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 09:26:19 +01:00
0ebe600215 feat: VideoKonverter v3.0 - Bugfixes, Queue-Pause, Button-Audit
- fix: escapeAttr() ueberall mit Anfuehrungszeichen versehen (14 Stellen)
  Ohne Quotes brachen onclick-Handler bei Titeln mit Leerzeichen
  -> TVDB-Zuordnung, Play, Delete, Import-Browser betroffen
- fix: escapeHtml() in onclick durch escapeAttr() ersetzt (4 Stellen)
  escapeHtml erzeugt &amp; statt \' -> JS-Syntaxfehler in Handlern
- fix: Import-Modal schliesst nach Start statt Ladebalken anzuzeigen
  Globaler Progress-Balken in base.html uebernimmt den Fortschritt
- feat: Queue Pause/Resume - laufende Konvertierung laeuft fertig,
  keine neuen Jobs gestartet bis Weiter geklickt wird
  API: POST /api/queue/pause, /api/queue/resume, GET /api/queue/status
  Button im Dashboard neben Warteschlange-Header

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 08:06:17 +01:00
37dff4de69 feat: VideoKonverter v2.9 - Projekt-Reset aus Docker-Image
Projekt aus Docker-Image videoconverter:2.9 extrahiert.
Enthält zweiphasigen Import-Workflow mit Serien-Zuordnung.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 11:41:48 +01:00