PHPackages                             martin3r/platforms-signage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. martin3r/platforms-signage

ActiveLibrary[Image &amp; Media](/categories/media)

martin3r/platforms-signage
==========================

Digital Signage Module for Platform - Upload media, build playlists and display them on TVs/monitors

0102↓87.5%PHPCI passing

Since Jun 19Pushed 1mo agoCompare

[ Source](https://github.com/martin3r-me/platforms-signage)[ Packagist](https://packagist.org/packages/martin3r/platforms-signage)[ RSS](/packages/martin3r-platforms-signage/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Platform Digital Signage
========================

[](#platform-digital-signage)

OptiSigns-ähnliches Digital-Signage-Modul: Medien (Bilder, Videos, Audio, **PDF, PowerPoint**) hochladen, in **Wiedergabelisten** organisieren und auf **TVs/Monitoren** anzeigen — mit **Hintergrundmusik**, **Zeitplanung** und **Live-Vorschau**.

- **Key:** `signage` · **Namespace:** `Platform\Signage` · **Prefix:** `/signage`
- **Player:** browserbasiert. Jeder Bildschirm öffnet `/signage/play` und koppelt sich per 6-stelligem Code in der Admin-Oberfläche („Bildschirme“).
- **PDF/PowerPoint:** werden serverseitig in Seitenbilder umgewandelt; jede Folie/Seite wird für die eingestellte Dauer angezeigt.

Architektur
-----------

[](#architektur)

BereichDatei(en)Registrierung`src/SignageServiceProvider.php`, `config/signage.php`Datenmodell`database/migrations/*`, `src/Models/*`Geräte-Kopplung`src/Services/ScreenPairingService.php`Manifest-Auflösung`src/Services/PlayerManifestService.php`Dokument-Konvertierung`src/Services/DocumentConversionService.php`, `src/Jobs/ConvertDocumentJob.php`Guest-API`routes/api.php`, `src/Http/Controllers/Api/*`Player`routes/guest.php`, `src/Http/Controllers/PlayerController.php`, `resources/views/player.blade.php`Admin`src/Livewire/*`, `resources/views/livewire/*`Installation in einer App
-------------------------

[](#installation-in-einer-app)

1. Modul als Composer-Paket einbinden. Lokale Entwicklung über ein Path-Repository in der `composer.json` der App: ```
    "repositories": [
      { "type": "path", "url": "../platform/modules/platforms-signage" }
    ],
    "require": {
      "martin3r/platforms-signage": "*"
    }
    ```

    (In Produktion analog zu den übrigen `martin3r/*`-Modulen über die genutzte Registry/VCS.)
2. `composer update martin3r/platforms-signage`
3. `php artisan migrate`
4. Caches leeren: `php artisan config:clear && php artisan route:clear`
5. Der Service-Provider wird via `extra.laravel.providers` automatisch erkannt.

Voraussetzungen (Server)
------------------------

[](#voraussetzungen-server)

- **Ghostscript** (`gs`) für PDF → Seitenbilder (bereits im Stack, vgl. Events).
- **LibreOffice headless** (`soffice`) für PowerPoint → PDF.
- Laufender **Queue-Worker** (`php artisan queue:work`) — Dokument-Konvertierung läuft asynchron.
- Datei-Storage über `ContextFileService` (lokal `public` oder S3, automatisch erkannt).

Bedienung
---------

[](#bedienung)

1. **Medien** hochladen (`/signage/media`).
2. **Wiedergabeliste** anlegen (visuell oder Musik) und Elemente mit Dauer ordnen.
3. **Bildschirm koppeln:** `/signage/play` am TV öffnen → Code in „Bildschirme“ eingeben.
4. Standard-Wiedergabeliste + Hintergrundmusik zuweisen, optional **Zeitpläne** definieren.
5. Änderungen erscheinen am Bildschirm automatisch (Polling) oder per **Neuladen**-Button.

###  Health Score

23

—

LowBetter than 25% of packages

Maintenance61

Regular maintenance activity

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 98.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/624263472b888cbddf2459047c1ab71dafd2a5875da576e3675b9c3584dad922?d=identicon)[martin3r](/maintainers/martin3r)

---

Top Contributors

[![cwolf-bhgdigital](https://avatars.githubusercontent.com/u/243578275?v=4)](https://github.com/cwolf-bhgdigital "cwolf-bhgdigital (85 commits)")[![martin3r-me](https://avatars.githubusercontent.com/u/187852765?v=4)](https://github.com/martin3r-me "martin3r-me (1 commits)")

### Embed Badge

![Health badge](/badges/martin3r-platforms-signage/health.svg)

```
[![Health](https://phpackages.com/badges/martin3r-platforms-signage/health.svg)](https://phpackages.com/packages/martin3r-platforms-signage)
```

###  Alternatives

[char0n/ffmpeg-php

PHP wrapper for FFmpeg application

495240.6k1](/packages/char0n-ffmpeg-php)[goat1000/svggraph

Generates SVG graphs

135911.1k3](/packages/goat1000-svggraph)[gravatarphp/gravatar

Gravatar URL builder which is most commonly called as a Gravatar library

12653.6k2](/packages/gravatarphp-gravatar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
