Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicoverbruggen/mediaprobe
MediaProbe leverages `ffprobe` and `ffmpeg` to extract info and cover images from MP3s or other media files.
https://github.com/nicoverbruggen/mediaprobe
ffmpeg mp3 php
Last synced: about 1 month ago
JSON representation
MediaProbe leverages `ffprobe` and `ffmpeg` to extract info and cover images from MP3s or other media files.
- Host: GitHub
- URL: https://github.com/nicoverbruggen/mediaprobe
- Owner: nicoverbruggen
- Created: 2021-05-16T19:22:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-05-17T18:06:39.000Z (over 3 years ago)
- Last Synced: 2024-05-02T18:31:16.877Z (6 months ago)
- Topics: ffmpeg, mp3, php
- Language: PHP
- Homepage:
- Size: 2.93 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MediaProbe
MediaProbe leverages `ffprobe` and `ffmpeg` to extract info from media files.
## System requirements
* PHP 8.0
* `ffmpeg` binaries installedIn order for this to work, the `ffprobe` and `ffmpeg` binaries need to be in your path, or aliased.
On macOS, you may need to run: `brew install ffmpeg`. On Linux, your package manager should contain `ffmpeg`. On Ubuntu, for example, you should run `apt install ffmpeg`.
## Usage
My primary intended usage here is to extract information from MP3 files, but since `ffprobe` is used much more is possible.
Here's some example usage:
### Retrieve metadata
This only works if the file can be processed by `ffprobe`, but this parser supports *many* formats.
```php
use NicoVerbruggen\MediaProbe\MediaProbe;$path = "./path/to/my/file.mp3";
$probe = new MediaProbe($path);$tags = $probe->getMediaInfo()->format->tags;
return [
'artist' => $tags->artist,
'album' => $tags->album,
'title' => $tags->title,
];
```### Extract cover
This only works if there's a cover present.
```php
use NicoVerbruggen\MediaProbe\MediaProbe;$path = "./path/to/my/file.mp3";
$probe = new MediaProbe($path);$destination = "./path/to/cover.jpg";
$probe->extractCover($destination);
```