PHPackages                             soluble/mediatools - 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. soluble/mediatools

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

soluble/mediatools
==================

FFMpeg video/audio/subs conversions, thumbnails, audio extraction, query...

2.2.0(5y ago)1451.7k↓100%11[1 issues](https://github.com/soluble-io/soluble-mediatools/issues)MITPHPPHP ^7.1 || ^8.0

Since Jun 11Pushed 5y ago8 watchersCompare

[ Source](https://github.com/soluble-io/soluble-mediatools)[ Packagist](https://packagist.org/packages/soluble/mediatools)[ Docs](https://github.com/soluble-io/soluble-mediatools)[ RSS](/packages/soluble-mediatools/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (25)Versions (52)Used By (0)

[![Logo](./docs/assets/images/mediatools.png)](./docs/assets/images/mediatools.png)

[![PHP 7.1+](https://camo.githubusercontent.com/375e8de41f75571c97dd554f5c9f27ae12cd39c71eb6a02478a79f5962e5801e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d372e312b2d6666363962342e737667)](https://packagist.org/packages/soluble/mediatools)[![Build Status](https://camo.githubusercontent.com/bb1b2cf5215191e8418ac75589f7874b7bb57650e953dbd04fde2cf3b7e1ef07/68747470733a2f2f7472617669732d63692e6f72672f736f6c75626c652d696f2f736f6c75626c652d6d65646961746f6f6c732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/soluble-io/soluble-mediatools)[![Coverage](https://camo.githubusercontent.com/ddec368bde8b59058efd13c5f6f16f8454741d6be2ee59df66ba4306886a6d76/68747470733a2f2f636f6465636f762e696f2f67682f736f6c75626c652d696f2f736f6c75626c652d6d65646961746f6f6c732f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/soluble-io/soluble-mediatools)[![Code Quality](https://camo.githubusercontent.com/9f69996ebc9313f42dce9a85146e9c080845074bfa7d605987568b68e53057ea/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f736f6c75626c652d696f2f736f6c75626c652d6d65646961746f6f6c732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/soluble-io/soluble-mediatools/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/c0c284971e8198e0a3db5dc471664e8917dd3719a4eb5d3ac29d0dd0ccc4dae5/68747470733a2f2f706f7365722e707567782e6f72672f736f6c75626c652f6d65646961746f6f6c732f762f737461626c652e737667)](https://packagist.org/packages/soluble/mediatools)[![Total Downloads](https://camo.githubusercontent.com/fba0c6cbcbebaef42a0c20511740656350434b0078bad73268fe94a50c538231/68747470733a2f2f706f7365722e707567782e6f72672f736f6c75626c652f6d65646961746f6f6c732f646f776e6c6f6164732e706e67)](https://packagist.org/packages/soluble/mediatools)[![PHPStan](https://camo.githubusercontent.com/e43e27acff50e6ee0656e0a112d484ff55f844ff10e79b3d17641033ea51d18f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7374796c652d6c6576656c253230372d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265266c6162656c3d7068707374616e)](https://camo.githubusercontent.com/e43e27acff50e6ee0656e0a112d484ff55f844ff10e79b3d17641033ea51d18f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7374796c652d6c6576656c253230372d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265266c6162656c3d7068707374616e)[![License](https://camo.githubusercontent.com/899e133da48c31ba91b1eb59cafc98f300da393d457697b0dcd7859d80aacae1/68747470733a2f2f706f7365722e707567782e6f72672f736f6c75626c652f6d65646961746f6f6c732f6c6963656e73652e706e67)](https://packagist.org/packages/soluble/mediatools)

Flexible audio/video conversions and thumbnailing for hi*php*ies. Wraps around [ffmpeg](https://www.ffmpeg.org/) and [ffprobe](https://www.ffmpeg.org/ffprobe.html)and exposes most of their features, like scaling, clipping, filters, transcoding, audio extraction and much more.

To prevent limitations, the API rather focus on providing developer fine-tuned parameters than giving ready-made recipes. Transcoding and conversions generally requires specific processing, [judge by yourself](https://soluble-io.github.io/soluble-mediatools/video-conversion-service/#notes). To help starting, the documentation includes a lot of examples and snippets you can easily try and tune later. Check also [alternatives](./README.md#alternatives) wrappers for ffmpeg, they are good and sometimes offer more magic if you're looking for it.

On another side, it likes [PSR](https://www.php-fig.org/psr/) (psr-log, psr-container, psr-simplecache), tastes php 7.1 in strict mode, tries to fail as early as possible with clear exception messages and ensure that substitution is possible when you need to customize *(SOLID friendly)*.

Under the hood, it relies on the battle-tested [symfony/process](https://symfony.com/doc/current/components/process.html), its only dependency.

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

[](#documentation)

All is here: ****

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

[](#requirements)

- PHP 7.1+
- FFmpeg/FFProbe 3.4+, 4.0+.

Features
--------

[](#features)

> Check the [doc](https://soluble-io.github.io/soluble-mediatools/) to get a more detailed overview !!!

### Implemented services

[](#implemented-services)

#### VideoConverter

[](#videoconverter)

> Full doc: [here](https://soluble-io.github.io/soluble-mediatools/video-conversion-service/)

```
