Under the hood
Docker-based players, API-first SaaS, MCP for AI integration โ everything your engineering team needs for evaluation.
SaaS platform
media-player.app is a fully managed cloud service. No server to run, no installation, no maintenance. You focus on your content โ we handle the infrastructure.
Hosted & managed
Docker as runtime
Architecture
Each display is powered by three isolated Docker containers. Runs on any Linux system with Docker โ from Raspberry Pi to x86 servers. Clear responsibilities, independently scalable, and individually updatable.
Agent
Control planeDevice registration, token management, content downloading, and playlist scheduling. Provides a local API on port 7071 to control the playback container.
Playback
Playback planeUnified local API on port 7070. Uses mpv for hardware-accelerated video (DRM/KMS) and Chromium in kiosk mode for web content. Manages transitions between items.
Heartbeat
MonitoringSends regular health reports to the backend: CPU temperature, load, memory, disk. Implements watchdog logic for automatic container restarts.
Storage architecture
Update mechanism
Supported hardware
The player software is Docker-based and runs on any Linux system with Docker. Optimized for ARM64 (Raspberry Pi) and AMD64 (x86 servers, mini PCs). Support for commercial SoC displays is planned.
Raspberry Pi 5
RecommendedRaspberry Pi 4
SupportedLinux x86 / Mini-PC
SupportedCommercial Display SoC
PlannedPlayback engine
Hybrid playback: mpv for video and images with hardware acceleration via DRM/KMS/VAAPI, Chromium for web content in kiosk mode. The agent container controls playback through a local REST API.
mpv โ Video & images
Hardware-accelerated decoding via V4L2 M2M (Raspberry Pi) or VAAPI (x86). Framebuffer output via DRM/KMS for minimal latency, without X11 or Wayland.
Chromium โ Web content
Headless Chromium in kiosk mode for HTML pages, dashboards, and interactive content. Controlled via Chrome DevTools Protocol (CDP).
| Format | Codec / Decoder | HW Acceleration | Max Resolution |
|---|---|---|---|
| H.264 / AVC | h264_v4l2m2m | โ Hardware | 4K 30fps |
| H.265 / HEVC | hevc_v4l2m2m | โ Hardware | 4K 60fps |
| VP9 | vp9_v4l2m2m | โ Hardware | 4K 30fps |
| AV1 | av1 (SW) | โ CPU | 1080p |
| JPEG / PNG | GPU decode | โ Hardware | 4K |
| HTML / CSS / JS | Chromium | โ CPU | Fullscreen |
Content pipeline
From upload to playback: every file is verified, versioned, and atomically synced to players. The player always runs a consistent state โ never a partial download.
Upload & versioning
Verification & storage
Plan sync & activation
Security
Multi-tenant isolation, encrypted communication, and token-based authentication. No device has access to another tenant's data.
Authentication
Tenant isolation
Device security
Transport security
REST API
The entire platform is API-first. Everything the dashboard can do, you can automate via the REST API. OpenAPI documentation included.
# Retrieve players
GET /api/v1/players
GET /api/v1/players/{id}
GET /api/v1/players/{id}/health
# Create content
POST /api/v1/media-items
POST /api/v1/playlists
POST /api/v1/channels
# Assignments
PUT /api/v1/playlists/{id}/items
PUT /api/v1/channels/{id}/playlists
# Authentication
Authorization: Bearer {token}
X-Tenant-ID: {tenant_id}
Content-Type: application/jsonRESTful JSON API
Consistent resource structure, HTTP verbs, standard status codes. JSON request/response.
OpenAPI 3.1 Docs
Auto-generated interactive API documentation. Test endpoints directly in the browser.
Cursor pagination
Efficient pagination for large datasets. Filtering, sorting, and search on all list endpoints.
MCP โ AI integration
media-player.app implements the Model Context Protocol (MCP) as a first-class integration surface. Beyond the REST API, AI agents, n8n workflows, and LangChain pipelines can control the platform directly.
What is MCP?
The Model Context Protocol is an open standard for communication between AI agents and external systems. Instead of a proprietary API, any AI-capable client (Claude, GPT, custom LLMs) can control the platform via tools, resources, and prompts.
MCP Tools
Use cases
Security
Monitoring & telemetry
Each display sends health data to the backend at configurable intervals. The heartbeat container collects system metrics and playout events.
| Metric | Source | Interval |
|---|---|---|
| CPU Temperature | /sys/class/thermal | 30s |
| CPU Load | /proc/loadavg | 30s |
| Memory Usage | /proc/meminfo | 30s |
| Disk Usage | statvfs() | 60s |
| Network Latency | API ping | 60s |
| Playout Events | Playback Engine | realtime |
| Container Status | Docker API | 30s |
| Display State | HDMI / CEC | 30s |
Network requirements
Players need an outbound internet connection. No inbound ports need to be opened โ the player connects to the backend, not the other way around.
Outbound connections
Bandwidth & offline
At a glance
SaaS Platform
Player Runtime
Platforms
Integration
Monitoring
Security
Convinced?
Try media-player.app for free or check out the API documentation.
We only use your email to notify you about the launch. No spam.