Files
signage/README.md
2026-05-10 13:49:05 +02:00

186 lines
3.0 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📺 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
```
Browser (Player)
Flask App (Server)
├── Admin UI
├── Player UI
├── config.json
└── media/
└── <screen-name>/
├── bild.jpg
└── video.mp4
```
- **Server:** Python 3 + Flask
- **Player:** Jeder moderne Browser (Chrome, Edge, Firefox, Kiosk-Modus)
- **State:** `config.json` + Dateisystem
- **Frontend:** Tabler + SortableJS (CDN)
---
## 📂 Projektstruktur
```
signage/
├── app.py
├── config.json
├── media/
│ ├── lobby/
│ └── meetingroom/
├── templates/
│ ├── admin.html
│ ├── player.html
│ └── login.html
├── static/
└── README.md
```
---
## 🚀 Installation
### Voraussetzungen
- Python ≥ 3.9
- pip
- ffmpeg
```bash
sudo apt install python3 python3-pip ffmpeg
```
### Setup
```bash
git clone <repository-url>
cd signage
pip install flask flask-login werkzeug
```
### Starten
```bash
python app.py
```
Server läuft auf:
```
http://localhost:5005
```
---
## 🛠️ Betrieb
### Admin-Portal
```
/admin
```
- Screens konfigurieren
- Medien hochladen / löschen
- Playlist per Drag & Drop sortieren
### Player-URLs
```
/player/<screen-name>
```
Beispiel:
```
http://server:5000/player/lobby
```
---
## 🔄 Automatischer Reload
Der Player aktualisiert sich selbst, wenn:
- Medien hinzugefügt oder gelöscht werden
- Playlist-Reihenfolge geändert wird
- Screen-Einstellungen angepasst werden
---
## ⚠️ Git & Medien
> **Dieses Repository ist für Code gedacht, nicht für Medien.**
Empfohlene `.gitignore`:
```gitignore
media/
*.mp4
*.mov
*.jpg
*.jpeg
*.png
```
---
## 🎞️ Video-Empfehlungen
- Format: MP4
- Codec: H.264
- Auflösung: max. 1920x1080
```bash
ffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4
```
---
## 🔐 Sicherheit
- Admin-Bereich per Login geschützt
- Player-Seiten Read-Only
- Externe Nutzung via Reverse Proxy + TLS empfohlen
---
## 🧭 Roadmap
- Zeitsteuerung pro Playlist-Eintrag
- Vorschau im Admin-Portal
- Mehrere Admin-User
- SQLite statt config.json
- Docker-Compose Setup
---
## 👤 Maintainer
**CANCOM Simple Signage**
Interne Lösung nicht für externe Weitergabe bestimmt.