VidPly is a universal, accessible video and audio player extension for TYPO3 13/14. It provides comprehensive support for HTML5 media, YouTube, Vimeo, SoundCloud, and HLS streaming with a privacy-first approach and full WCAG 2.1 AA accessibility compliance.
System Requirements
- TYPO3 13.4+ or 14.x
- PHP 8.2 or higher (8.3 recommended)
- Composer installation required
- Modern browsers: Chrome 90+, Firefox 88+, Safari 14+
Key Features
- Privacy-First External Services - YouTube, Vimeo, SoundCloud with GDPR-compliant consent layer
- Media Library - Reusable media records across your entire site
- Auto Playlists - Two or more items automatically create playlists
- Full Accessibility - Captions, chapters, audio description, sign language, keyboard controls
- HLS Streaming - Adaptive bitrate streaming with hls.js
- Modern Player - Responsive design, Picture-in-Picture, quality switching, playback speed
Supported Media Types
| Type | Source | Privacy Layer | Formats/Notes |
|---|---|---|---|
| HTML5 Video | Upload/URL | No | MP4, WebM, OGG |
| HTML5 Audio | Upload/URL | No | MP3, OGG, WAV |
| YouTube | Video URL | Yes | GDPR consent required |
| Vimeo | Video URL | Yes | GDPR consent required |
| SoundCloud | Track/Set URL | Yes | GDPR consent required |
| HLS | .m3u8 URL | No | Adaptive bitrate streaming |
Privacy Layer (GDPR Compliance)
For external services like YouTube, Vimeo, and SoundCloud, VidPly implements a privacy-first approach:
- Before consent - Only a poster image and play button are displayed
- Zero external requests - No tracking scripts or cookies load until user interaction
- Clear privacy notices - Users are informed about data transfer to external services
- One-click activation - Video loads and plays immediately after consent
- Multilingual support - Privacy notices available in German and English
Privacy-Enhanced Embedding
- YouTube uses the privacy-enhanced domain
youtube-nocookie.com - Clean player UI with minimal branding
- No related video recommendations
Accessibility Features
VidPly provides comprehensive WCAG 2.1 AA accessibility support:
Captions and Subtitles
- WebVTT (.vtt) file support
- Multiple language support
- Configurable track kinds: captions, subtitles, descriptions
- Language code and name specification
Chapters
- WebVTT-based chapter markers
- Visual chapter navigation
- Jump to specific sections
Audio Description
- Alternative audio track for visually impaired users
- Toggle between standard and described video
Sign Language
- Sign language interpretation overlay
- Picture-in-picture display
Transcripts
- Auto-generated searchable transcripts from captions
- Clickable text lines to jump to specific points
- Optional transcript panel display
Player Options
| Option | Default | Description |
|---|---|---|
| Controls | On | Show player controls |
| Keyboard | On | Enable keyboard shortcuts |
| Responsive | On | Responsive sizing |
| Auto Advance | On | Auto-play next in playlist |
| Autoplay | Off | Start automatically |
| Loop | Off | Loop content |
| Transcript | Off | Show transcript panel |
Keyboard Shortcuts
- Space or K - Play/Pause
- M - Mute/Unmute
- F - Fullscreen
- C - Toggle captions
- Left/Right Arrow - Seek forward/backward 10 seconds
- Up/Down Arrow - Volume up/down 10%
- Home - Go to start
- End - Go to end
Playlist Functionality
- Automatic creation - Selecting two or more media items creates a playlist
- Visual panel - Thumbnail list with track navigation
- Auto-advance - Automatically plays next track
- Loop option - Cycle through all tracks
- Drag-and-drop ordering - Arrange items in custom order
HLS Streaming
- Full HLS support via hls.js library
- Works in all modern browsers
- Adaptive bitrate streaming
- Content Security Policy (CSP) compatible
- Ideal for live streams and long-form content
Conditional Asset Loading
VidPly intelligently loads only the JavaScript required for specific media types:
- External services (YouTube, Vimeo, SoundCloud) - Only PrivacyLayer.js (~5KB)
- Local video/audio - VidPlay core + PlaylistInit (~180KB)
- HLS streaming - Adds hls.js only when .m3u8 streams are detected
- Playlists - PlaylistInit.js loads only for 2+ items
This results in up to 97% reduction in JavaScript for external services.
Template Structure
Modular Fluid template partials for customization:
VidPly/Assets.html- Asset registrationVidPly/VideoSources.html- Video source renderingVidPly/AudioSources.html- Audio source renderingVidPly/Tracks.html- Caption and chapter tracksVidPly/MetadataScripts.html- Accessibility metadataVidPly/PrivacyLayer.html- External service consent
Two-Step Workflow
- Create Media Records - Build reusable media items in the VidPly Media storage
- Add Player to Page - Insert a VidPly Player content element and select your media
Installation
composer require mpc/mpc-vidply
After installation
- Run Database Update via Maintenance module
- Include Static Template "VidPly Player (mpc_vidply)" on root page
- Clear all caches
License and Author
VidPly is released under the GNU General Public License v2.0 or later.
Developed by Matthias Peltzer.
Karnivool - Aozora
Australian prog rock band Karnivool is back with a second single, ‘Aozora’. The dark, energetic track combines complex rhythms with an intense atmosphere and marks the band's first new material in years. The lyrics are also impressive, but listen for yourself. ;o) On 6 February 2026, they will release their new album, ‘In Verses’.