PHPackages                             sourcepot/mediaplayer - 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. sourcepot/mediaplayer

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

sourcepot/mediaplayer
=====================

Mediaplayer App for Datapool PHP framework

v4.3.2(3mo ago)01861AGPL-3.0-or-laterPHPPHP &gt;=8.0

Since Jun 11Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/SourcePot/mediaplayer)[ Packagist](https://packagist.org/packages/sourcepot/mediaplayer)[ Docs](https://datapool.info)[ RSS](/packages/sourcepot-mediaplayer/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)DependenciesVersions (18)Used By (1)

MediaPlayer
===========

[](#mediaplayer)

The MediaPlayer app adds a video playlist feature to the Datapool web application. The app is added as a web page within the category *Apps* of Datapool. It allows the user to create play lists and to play videos in a loop. The user can access all browser features available for playing videos such as full screen, picture-in-picture etc.

The MediaPlayer app was the first app which implemented the Datapool *App interface*, and in a way this was the motivation for creating this app.

The user interface (web page)
-----------------------------

[](#the-user-interface-web-page)

After a playlist has been created whithin the selected Group and Folder it can be played in a loop in descending or ascending order. Clicking one of the two play buttons buttons below the player will start the loop. The direction is descending by clicking the left button and ascending by clicking the right button.

[![Web page screenshot](./assets/sample-playlist.png)](./assets/sample-playlist.png)

Videos can be skipped by clicking the same play button again.

How does it work?
-----------------

[](#how-does-it-work)

Datapool stores video meta data as entry in the database table *multimedia*. The video files themself are stored in the *filespace* folder and linked to the database entry by the EntryId. Any video entry located in table *multimedia* can be linked to a MediaPlayer playlist entry, i.e. the playlist entry stores only the link. The available videos are displayed as a drop down list from which they can be selected.

Playlists are organised within Groups and Folders. Technically a playlist is a collection of entries within the same Group and Folder with each playlist entry pointing to a video entry.

Everything at Datapool is based on entries (multi-dimensional arrays) with a common structure of the first level array keys Source, Group, Folder, Name, EntryId etc. The value of entry\['Source'\] is equal to the database table name, the other keys are equal to the database column names.

While the web page is loading, all videos of the selected playlist are copied into the www-temporary-directory. The corresponding file names with locations are presented on the webpage as href-attributes of hidden a-tags. Inline javascript collects all file names with locations from the a-tags and loads the first file into the src-tag of the video player. When a video is finished, a new video is loaded into the player.

Background information
----------------------

[](#background-information)

The class MediaPlayer.php is instantiated by Datapool's SourcePot\\DatapoolRoot-class. When the Datapool web application is loaded into the web browser and if the MediaPlayer-app is selected, SourcePot\\DatapoolRoot-class will call the *run* method of *SourcePot\\MediaPlayer\\MediaPlayer*. The run method creates the html code enveloped by the web page's main-tags. The file content of MediaPlayer.js and MediaPlayer.css files is loaded into the webpage as inline css and js code. This is necessary, because these files are located in the vendor-directory rather than the www-directory of the Datapool web application.

###  Health Score

42

—

FairBetter than 89% of packages

Maintenance79

Regular maintenance activity

Popularity11

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

###  Release Activity

Cadence

Every ~62 days

Total

17

Last Release

109d ago

Major Versions

v0.0.3 → v1.0.02023-10-28

1.1.0 → v2.0.02024-04-17

v2.0.0 → v3.0.02024-05-19

v3.1.0 → v4.0.02024-07-10

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/115737488?v=4)[Carsten Wallenhauer](/maintainers/SourcePot)[@SourcePot](https://github.com/SourcePot)

---

Top Contributors

[![SourcePot](https://avatars.githubusercontent.com/u/115737488?v=4)](https://github.com/SourcePot "SourcePot (62 commits)")

---

Tags

playlistvideovideo

### Embed Badge

![Health badge](/badges/sourcepot-mediaplayer/health.svg)

```
[![Health](https://phpackages.com/badges/sourcepot-mediaplayer/health.svg)](https://phpackages.com/packages/sourcepot-mediaplayer)
```

###  Alternatives

[php-ffmpeg/php-ffmpeg

FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg

5.0k23.2M183](/packages/php-ffmpeg-php-ffmpeg)[danog/madelineproto

Async PHP client API for the telegram MTProto protocol.

3.4k885.1k22](/packages/danog-madelineproto)[vimeo/vimeo-api

Official PHP library for the Vimeo API.

4547.4M38](/packages/vimeo-vimeo-api)[vimeo/laravel

A Vimeo bridge for Laravel

4171.6M4](/packages/vimeo-laravel)[codescale/ffmpeg-php

PHP wrapper for FFmpeg application

495274.0k1](/packages/codescale-ffmpeg-php)[opentok/opentok

OpenTok is a platform for creating real time streaming video applications, created by TokBox.

1413.1M10](/packages/opentok-opentok)

PHPackages © 2026

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