Files
signage/README.md
2026-04-17 14:09:11 +02:00

3.5 KiB
Raw Blame History

📺 CANCOM Simple Signage CANCOM Simple Signage ist ein leichtgewichtiges, browserbasiertes DigitalSignageSystem auf Basis von Python + Flask. Ziel ist eine einfache, robuste und wartbare Lösung für interne InfoScreens, ohne die Komplexität klassischer DigitalSignagePlattformen.

Features

Browserbasierter Player (kein nativer Client erforderlich) Bilder & Videos (MP4, H.264) Pro Screen eine eigene Playlist Drag&DropReihenfolge im AdminPortal Automatischer PlayerReload bei Änderungen Upload & Löschen von Medien ScreenStatus (aktiv / leer) CIkonformes AdminUI (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, KioskMode) 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 VideoKonvertierung 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 AdminPortal /admin

Funktionen:

Screens konfigurieren Medien hochladen / löschen Playlist per Drag & Drop sortieren

PlayerURLs /player/

Beispiel: http://server:5000/player/lobby

Empfehlung:

Browser im KioskModus 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 AdminUpload oder via Samba / Fileshare bereitgestellt.

🎞️ VideoEmpfehlungen

Format: MP4 Codec: H.264 Audio: optional, Autoplay ist standardmäßig ohne Ton Auflösung: max. FullHD (1920×1080)

BeispielKonvertierung: Shellffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4Weitere Zeilen anzeigen

🔐 Sicherheit

AdminBereich per Login geschützt Keine anonyme Administration PlayerSeiten öffentlich (ReadOnly) Für externe Zugriffe: Reverse Proxy + TLS (z.B. Nginx Proxy Manager)

🧭 Roadmap (optional)

Zeitsteuerung pro PlaylistEintrag 👁 Vorschau im AdminPortal 👥 Mehrere AdminUser / Rollen 🗄️ Migration von config.json → SQLite 🐳 DockerComposeSetup

👤 Maintainer CANCOM Simple Signage Interne Lösung nicht für externe Weitergabe bestimmt.