PHPackages                             passionweb/webm - 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. passionweb/webm

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

passionweb/webm
===============

Creates a WebM file for every configured (and supported) video format. Either via Symfony command or hook. (TYPO3 CMS)

4.0.1(1mo ago)32.4k2GPL-3.0PHPPHP ^8.2

Since Jan 2Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/passionweb-manuel-schnabel/webm)[ Packagist](https://packagist.org/packages/passionweb/webm)[ Docs](https://www.passionweb.de)[ RSS](/packages/passionweb-webm/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (4)Versions (16)Used By (0)

TYPO3 Extension `WebM`
======================

[](#typo3-extension-webm)

Creates a *WebM* file for every configured (and supported) video format. Either via Symfony command or hook (can be configured).

```
original.mp4 --> original.webm

```

What is WebM?
-------------

[](#what-is-webm)

WebM is an audiovisual media file format. It is primarily intended to offer a royalty-free alternative to use in the HTML5 video and the HTML5 audio elements. It has a sister project, WebP, for images. The development of the format is sponsored by Google, and the corresponding software is distributed under a BSD license. The WebM container is based on a profile of Matroska. WebM initially supported VP8 video and Vorbis audio streams. In 2013, it was updated to accommodate VP9 video and Opus audio. It also supports the new AV1 codec.

Source: [WebM](https://en.wikipedia.org/wiki/WebM "WebM")

Installation
------------

[](#installation)

Add via composer:

```
composer require "passionweb/webm"

```

- Install the extension via composer
- Flush TYPO3 and PHP Cache

Requirements
------------

[](#requirements)

This extension uses the FFmpeg solution and the PHP-FFmpeg library. You need to prepare your server for the usage and must install the necessary packages. A complete guide and further information can be found here:

Source: [FFmpeg](https://ffmpeg.org/ "FFmpeg")

Source: [PHP-FFmpeg](https://github.com/PHP-FFMpeg/PHP-FFMpeg "PHP-FFmpeg")

FFMpeg support with DDEV
------------------------

[](#ffmpeg-support-with-ddev)

You can extend the `config.yaml` in your `.ddev` folder and add `webimage_extra_packages: [ffmpeg]` to install the FFMpeg package

Extension settings
------------------

[](#extension-settings)

You can set parameters for the conversion handling in the extension configuration.

### `convertOnSave`

[](#convertonsave)

```
# cat=basic; type=boolean; label=Convert video on save action in backend (default=convert with task/Symfony command)
convertOnSave = 0

```

Every video will be added to the queue and will be processed with the corresponding task/Symfony command by default. If you want to convert the video with saving it you can enable that with this option. The video will not be added to the queue.

### `mimeTypes`

[](#mimetypes)

```
# cat=basic; type=string; label=Supported mime types (comma separated)
mimeTypes = video/mp4,video/ogg,video/x-m4v,application/ogg

```

You can decide the mime types which will be considered by the convertion.

### `maxVideoFileSize`

[](#maxvideofilesize)

```
# cat=basic; type=int+; label=Max file size of original video to convert (videos which are larger wil be ignored)
maxVideoFileSize = 0

```

You can set a maximum file size of the original video to convert to avoid a possible server overload. If this value is greater than 0 videos which are larger than the entered value wil be ignored during convertion.

### `storagePid`

[](#storagepid)

```
# cat=basic; type=int+; label=Save queue items in this folder/storage
storagePid = 0

```

You can set a specific folder/storage where queue items will be stored by entering the corresponding page uid.

Troubleshooting and logging
---------------------------

[](#troubleshooting-and-logging)

If something does not work as expected take a look at the log file. Every problem is logged to the TYPO3 log (normally found in `var/log/typo3_*.log`)

Drawbacks to keep in mind
-------------------------

[](#drawbacks-to-keep-in-mind)

Note that this extension produces an additional load on your server (each supported video will be processed) and possibly creates a lot of additional files that consume disk space. Size varies depending on your configuration.

Achieving more together or Feedback, Feedback, Feedback
-------------------------------------------------------

[](#achieving-more-together-or-feedback-feedback-feedback)

I'm grateful for any feedback! Be it suggestions for improvement, extension requests or just a (constructive) feedback on how good or crappy the extension is.

Feel free to send me your feedback to [service@passionweb.de](mailto:service@passionweb.de "Send Feedback") or [contact me on Slack](https://typo3.slack.com/team/U02FG49J4TG "Contact me on Slack")

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance92

Actively maintained with recent releases

Popularity24

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 68.3% 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 ~128 days

Recently: every ~262 days

Total

11

Last Release

41d ago

Major Versions

1.0.1 → 2.0.02023-02-12

1.0.2 → 2.1.22023-08-25

1.0.3 → 3.0.02025-01-06

3.0.0 → 4.0.02026-07-08

PHP version history (3 changes)1.0.0PHP ^8.0

3.0.0PHP ^8.2

4.0.0PHP ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/120183093?v=4)[Manuel Schnabel](/maintainers/passionweb-manuel-schnabel)[@passionweb-manuel-schnabel](https://github.com/passionweb-manuel-schnabel)

---

Top Contributors

[![ManuS3009](https://avatars.githubusercontent.com/u/43109656?v=4)](https://github.com/ManuS3009 "ManuS3009 (28 commits)")[![passionweb-manuel-schnabel](https://avatars.githubusercontent.com/u/120183093?v=4)](https://github.com/passionweb-manuel-schnabel "passionweb-manuel-schnabel (10 commits)")[![KrisRaszewski](https://avatars.githubusercontent.com/u/162709175?v=4)](https://github.com/KrisRaszewski "KrisRaszewski (3 commits)")

---

Tags

ffmpegtypo3videowebm

### Embed Badge

![Health badge](/badges/passionweb-webm/health.svg)

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

###  Alternatives

[plan2net/webp

Drop-in WebP, AVIF, and JPEG XL delivery for TYPO3 images — automatic, no URL or template changes

661.6M6](/packages/plan2net-webp)[friendsoftypo3/content-blocks

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

103574.3k70](/packages/friendsoftypo3-content-blocks)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

631.1M8](/packages/netresearch-rte-ckeditor-image)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40543.5k](/packages/wazum-sluggi)[b13/assetcollector

Asset collector - Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10128.2k](/packages/b13-assetcollector)

PHPackages © 2026

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