---
title: "Installation"
version: "main"
permalink: "https://docs.typo3.org/permalink/mfd/adaptive-video:installation@main"
source: "Installation/Index.rst"
rendered: "2026-11-03T08:37:43+00:00"
---

# Installation {#installation}

Install the extension via Composer:

```php
composer require mfd/adaptive-video
vendor/bin/typo3 extension:setup

```

## Requirements {#requirements}

-   PHP 8.2+
-   TYPO3 13.4 or 14
-   [b13/poster-image](https://github.com/b13/poster-image) 2.x
-   `ffmpeg` and `ffprobe` on the host that runs the worker

## Setup {#setup}

1.  Install `ffmpeg` and `ffprobe` on the host that runs the worker.
1.  Add the site set **Adaptive Video** (`mfd/adaptive-video`) to the sites
    that should deliver streams.
1.  Enable processing in exactly the environments that encode (see
    [Configuration](https://docs.typo3.org/permalink/mfd/adaptive-video:configuration@main)), schedule the scan and run the
    worker (see [Usage](https://docs.typo3.org/permalink/mfd/adaptive-video:usage@main)).
1.  Configure the web server and allow `blob:` in your Content Security
    Policy, see below.

## Web server and CDN {#installation-webserver}

The artifact directory is served as static files. Make sure that

-   `.m3u8` is delivered as `application/vnd.apple.mpegurl` and `.m4s` as
    `video/iso.segment` (or `video/mp4`), e.g. for Apache:

    ```apache
    AddType application/vnd.apple.mpegurl .m3u8
    AddType video/iso.segment .m4s
    ```
-   the files may be cached for a long time: every version has its own
    directory, so the content behind a URL never changes.
-   streams are served from the same host as the page. Otherwise the host has
    to be allowed in the CSP and send CORS headers.

## Content Security Policy {#installation-csp}

The extension does not change the CSP. hls.js needs `blob:` for the media
source and its web worker:

```text
media-src 'self' blob:;
worker-src 'self' blob:;
```

Without it, streams do not play in browsers without native HLS (Chrome,
Firefox, Edge). Check the browser console for CSP violations when testing.
