3.5 KiB
📺 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.