PHPackages                             mpc/mpc-vidply - 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. mpc/mpc-vidply

ActiveTypo3-cms-extension[Image &amp; Media](/categories/media)

mpc/mpc-vidply
==============

Universal, Accessible Video &amp; Audio Player for TYPO3. Includes support for HTML5 video/audio, YouTube, Vimeo, SoundCloud, HLS and DASH streaming, playlists, captions, transcripts, sign language, and WCAG 2.2 AA accessibility compliance.

1.2.22(3w ago)2940↓24.6%GPL-2.0-or-laterPHPPHP ^8.2CI passing

Since Nov 29Pushed 3w agoCompare

[ Source](https://github.com/MatthiasPeltzer/mpc-vidply)[ Packagist](https://packagist.org/packages/mpc/mpc-vidply)[ Docs](https://github.com/MatthiasPeltzer/mpc-vidply)[ RSS](/packages/mpc-mpc-vidply/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (40)Versions (95)Used By (0)

VidPly TYPO3 Extension
======================

[](#vidply-typo3-extension)

Universal, Accessible Video &amp; Audio Player for TYPO3. Includes support for HTML5 video/audio, YouTube, Vimeo, SoundCloud, HLS and DASH streaming, playlists, captions, transcripts, sign language, and WCAG 2.2 AA accessibility compliance.

Features
--------

[](#features)

- **Privacy-First External Services** - YouTube, Vimeo, SoundCloud with GDPR-compliant consent layer
- **Site-Wide Privacy Settings** - Centralized backend configuration for privacy layer texts, links, and headlines
- **Media Library** - Reusable media records across your site
- **Auto Playlists** - 2+ items automatically create playlists
- **Full Accessibility** - Captions, chapters, audio description, sign language, keyboard controls
- **HLS Streaming** - Adaptive bitrate streaming with **hls.js 1.6.16** (Chrome / Firefox / Edge / desktop Safari) and native HLS on iOS / iPadOS — both paths integrate with VidPly's captions, transcript and quality menus
- **DASH Streaming** - MPEG-DASH via **dash.js 5.2.0** (modern UMD) with adaptive quality and subtitles (integrated into video/audio types)
- **Import from URL** - Paste a media URL in the backend to auto-detect type, attach online media, and pre-fill title, artist, and poster
- **SoundCloud Support** - GDPR consent layer, then SoundCloud Widget playback (optional developer opt-in for unified VidPly controls — see [PrivacyLayer.md](Documentation/PrivacyLayer.md))
- **Buffering Spinner** - Centered loading spinner shown automatically while the media is buffering
- **Optional Download Button** - Per-media toggle; progressive sources (MP4/WebM/MP3) are used automatically; for HLS/DASH-only items add a progressive fallback file
- **Floating Player** - Optional custom Picture-in-Picture: draggable, resizable in-page window (per media record)
- **Modern Player** - Responsive, browser PiP, quality switching, playback speed, keyboard-shortcuts help overlay
- **Structured Data (JSON-LD)** - `VideoObject` / `AudioObject` (and `ItemList` on gallery pages) for SEO rich results — see [Developers Quickstart](Documentation/Developers-Quickstart.md#structured-data-json-ld)
- **TypeScript Codebase** - The bundled VidPly player is now authored in strict TypeScript with shipped `.d.ts` declarations
- **Conditional Asset Loading** - Only loads JavaScript needed for your media types
- **Listview &amp; Detail Page** — Add a **VidPly Listview** content element for one or more browsable rows (horizontal shelf or responsive grid), optional per-row **browser pagination** and **sort** control, category chips on cards, and links to a **VidPly Detail** page with short + **long (RTE) description**, categories, and slug or `?media=` URLs; connected translations follow the default-language row configuration (see [`Documentation/Listview.md`](Documentation/Listview.md))

Quick Start
-----------

[](#quick-start)

### Install

[](#install)

```
composer require mpc/mpc-vidply
```

1. **Database Update** → Admin Tools → Maintenance → Analyze Database Structure
2. **Include Site Set** → Site Management → Sites → Your Site → Sets → Add `mpc/mpc-vidply`
    (or add `mpc/mpc-vidply` to `dependencies` in `config/sites//config.yaml`)
3. **Clear Caches**

### Create Media

[](#create-media)

**List Module → VidPly Media**

**Fastest way:** use **Import from URL** at the top of the form — paste a YouTube, Vimeo, SoundCloud, streaming (`.m3u8` / `.mpd`), or allowlisted external MP4/MP3 link. VidPly detects the type and pre-fills metadata. See the [Editors Guide](Documentation/Editors-Guide.md).

Or choose media type manually:

- **Video** - Upload MP4, WebM or add HLS/DASH streaming URLs (with progressive fallbacks)
- **Audio** - Upload MP3, OGG or add HLS/DASH streaming URLs (with progressive fallbacks)
- **YouTube** - Paste video URL
- **Vimeo** - Paste video URL
- **SoundCloud** - Paste track/set URL

### Add Player to Page

[](#add-player-to-page)

**Page Module → Add Content → VidPly Player** — select one or more media records (2+ creates a playlist). See the [Editors Guide](Documentation/Editors-Guide.md) for player options, captions, playlists, and privacy behaviour.

### Build a Mediathek (Listview)

[](#build-a-mediathek-listview)

Add a **VidPly Listview** content element for browsable overview rows and a **VidPly Detail** page for single-media views (slug URLs, categories, long descriptions). Step-by-step: [Listview &amp; Detail](Documentation/Listview.md).

Documentation
-------------

[](#documentation)

Start at the **[Documentation index](Documentation/README.md)** for audience-based navigation (editors, administrators, developers).

GuideFor[Editors Guide](Documentation/Editors-Guide.md)Creating media, players, captions, privacy layer[Listview &amp; Detail](Documentation/Listview.md)Mediathek overview, detail pages, routing, i18n[Developers Quickstart](Documentation/Developers-Quickstart.md)Installation, processors, TCA, tests, JSON-LD[Integrations](Documentation/Integrations.md)Vue/Swiper, dynamic content, CSP, mp-core[Settings Architecture](Documentation/SettingsArchitecture.md)Extension, privacy, player, and media settings[PrivacyLayer.md](Documentation/PrivacyLayer.md)GDPR consent for YouTube, Vimeo, SoundCloud[HLS-Implementation.md](Documentation/HLS-Implementation.md)HLS &amp; DASH streaming and CSP[AssetLoading.md](Documentation/AssetLoading.md)Conditional JavaScript loading[Partials.md](Documentation/Partials.md)Fluid template overridesTroubleshooting
---------------

[](#troubleshooting)

ProblemSeeMedia or playlist issues[Editors Guide → Troubleshooting](Documentation/Editors-Guide.md#troubleshooting)Privacy layer / YouTube / Vimeo / SoundCloud[PrivacyLayer.md](Documentation/PrivacyLayer.md)HLS/DASH or CSP errors[HLS-Implementation.md](Documentation/HLS-Implementation.md)Player missing in Vue/Swiper slider[Integrations.md](Documentation/Integrations.md)Listview routing or slugs[Listview.md](Documentation/Listview.md)Requirements
------------

[](#requirements)

- **TYPO3**: 13.4+ or 14.x (Core, Fluid, Extbase)
- **PHP**: 8.2+ (8.3 recommended)
- **Composer**: Required
- **Browsers**: Chrome 90+, Firefox 88+, Safari 14+

`fluid_styled_content` is optional. VidPly registers its own frontend content-rendering TypoScript (`lib.mpcVidplyContentElement`) and ships a compatible Default layout for `tt_content` headers and frame classes.

License
-------

[](#license)

GNU General Public License v2.0 or later

Author
------

[](#author)

Matthias Peltzer

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance94

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity64

Established project with proven stability

 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 ~2 days

Total

94

Last Release

26d ago

PHP version history (2 changes)v1.0.0PHP &gt;=8.2

1.0.13PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/0e83a68b66501b808de6117f7849ba0599205126aa412e80f486156f26b4f821?d=identicon)[MatPeltz](/maintainers/MatPeltz)

---

Top Contributors

[![MatthiasPeltzer](https://avatars.githubusercontent.com/u/7772293?v=4)](https://github.com/MatthiasPeltzer "MatthiasPeltzer (238 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mpc-mpc-vidply/health.svg)

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

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103574.3k69](/packages/friendsoftypo3-content-blocks)[typo3/cms-install

TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.

1812.5M578](/packages/typo3-cms-install)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34311.2k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34162.0k10](/packages/web-vision-deepltranslate-core)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22272.4k](/packages/eliashaeussler-typo3-warming)[pagemachine/typo3-formlog

Form log for TYPO3

23243.0k8](/packages/pagemachine-typo3-formlog)

PHPackages © 2026

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