đŸ“ș CANCOM Simple Signage CANCOM Simple Signage ist ein leichtgewichtiges, browserbasiertes Digital‑Signage‑System auf Basis von Python + Flask. Ziel ist eine einfache, robuste und wartbare Lösung fĂŒr interne Info‑Screens, ohne die KomplexitĂ€t klassischer Digital‑Signage‑Plattformen. ✹ Features ✅ Browser‑basierter Player (kein nativer Client erforderlich) ✅ Bilder & Videos (MP4, H.264) ✅ Pro Screen eine eigene Playlist ✅ Drag‑&‑Drop‑Reihenfolge im Admin‑Portal ✅ Automatischer Player‑Reload bei Änderungen ✅ Upload & Löschen von Medien ✅ Screen‑Status (aktiv / leer) ✅ CI‑konformes Admin‑UI (CANCOM) ✅ LĂ€uft lokal, in VMs oder auf Proxmox đŸ§± Architektur CSSBrowser (Player) │ â–ŒFlask App (Server)├── Admin UI├── Player UI├── config.json└── media/ └── / ├── bild.jpg └── video.mp4Weitere Zeilen anzeigen Server: Python 3 + Flask Player: Jeder moderne Browser (Chrome, Edge, Firefox, Kiosk‑Mode) State: config.json + Dateisystem Frontend: Tabler + SortableJS (CDN) 📂 Projektstruktur CSSsignage/├── app.py # Flask Application├── config.json # Konfiguration (Screens, Playlists, Intervalle)├── media/ # Medien pro Screen│ ├── lobby/│ └── meetingroom/├── templates/│ ├── admin.html # Admin UI│ ├── player.html # Player UI│ └── login.html # Login Page├── static/ # (optional) eigene Assets└── README.md``Weitere Zeilen anzeigen 🚀 Installation Voraussetzungen Python ≄ 3.9 pip ffmpeg (fĂŒr Video‑Konvertierung empfehlenswert) CSSsudo apt install python3 python3-pip ffmpegWeitere Zeilen anzeigen Setup Shellgit clone cd signagepip install flask flask-login werkzeugWeitere Zeilen anzeigen Starten Shellpython app.pyWeitere Zeilen anzeigen Server lĂ€uft standardmĂ€ĂŸig auf: http://localhost:5000 đŸ› ïž Betrieb Admin‑Portal /admin Funktionen: Screens konfigurieren Medien hochladen / löschen Playlist per Drag & Drop sortieren Player‑URLs /player/ Beispiel: http://server:5000/player/lobby Empfehlung: Browser im Kiosk‑Modus Autostart beim Login 🔄 Automatischer Reload Der Player prĂŒft regelmĂ€ĂŸig, ob sich die Playlist geĂ€ndert hat: Datei hinzugefĂŒgt Datei gelöscht Reihenfolge geĂ€ndert Einstellungen geĂ€ndert âžĄïž Bei Änderung lĂ€dt sich der Player automatisch neu. ⚠ Wichtig: Git & Medien 👉 Dieses Repository ist fĂŒr Code gedacht, nicht fĂŒr Inhalte. Empfohlene Praxis: Plain Textmedia/*.mp4*.jpg*.pngWeitere Zeilen anzeigen in .gitignore aufnehmen. Medien werden: per Admin‑Upload oder via Samba / Fileshare bereitgestellt. đŸŽžïž Video‑Empfehlungen Format: MP4 Codec: H.264 Audio: optional, Autoplay ist standardmĂ€ĂŸig ohne Ton Auflösung: max. Full‑HD (1920×1080) Beispiel‑Konvertierung: Shellffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4Weitere Zeilen anzeigen 🔐 Sicherheit Admin‑Bereich per Login geschĂŒtzt Keine anonyme Administration Player‑Seiten öffentlich (Read‑Only) FĂŒr externe Zugriffe: Reverse Proxy + TLS (z. B. Nginx Proxy Manager) 🧭 Roadmap (optional) ⏰ Zeitsteuerung pro Playlist‑Eintrag 👁 Vorschau im Admin‑Portal đŸ‘„ Mehrere Admin‑User / Rollen đŸ—„ïž Migration von config.json → SQLite 🐳 Docker‑Compose‑Setup đŸ‘€ Maintainer CANCOM Simple Signage Interne Lösung – nicht fĂŒr externe Weitergabe bestimmt.