initial commit
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# MetaMesh Plugin: FFmpeg
|
||||
|
||||
A MetaMesh plugin that extracts video, audio, and subtitle stream metadata using FFprobe.
|
||||
|
||||
## Description
|
||||
|
||||
This plugin analyzes video files using FFprobe (from FFmpeg) to extract detailed stream information including:
|
||||
|
||||
- **Video streams**: codec, resolution, bitrate, frame rate, rotation
|
||||
- **Audio streams**: codec, language, sample rate, channels
|
||||
- **Subtitle streams**: codec, language, title
|
||||
- **Format info**: duration, container format
|
||||
|
||||
## Metadata Fields
|
||||
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| `fileinfo/duration` | Video duration in seconds |
|
||||
| `fileinfo/formatName` | Container format (e.g., matroska, mp4) |
|
||||
| `fileinfo/streamdetails/video/{n}/*` | Video stream properties |
|
||||
| `fileinfo/streamdetails/audio/{n}/*` | Audio stream properties |
|
||||
| `fileinfo/streamdetails/subtitle/{n}/*` | Subtitle stream properties |
|
||||
|
||||
## Dependencies
|
||||
|
||||
- Requires `file-info` plugin to run first (checks `fileType === 'video'`)
|
||||
|
||||
## Configuration
|
||||
|
||||
No configuration required.
|
||||
|
||||
## API Endpoints
|
||||
|
||||
| Endpoint | Method | Description |
|
||||
|----------|--------|-------------|
|
||||
| `/health` | GET | Health check |
|
||||
| `/manifest` | GET | Plugin manifest |
|
||||
| `/configure` | POST | Update configuration |
|
||||
| `/process` | POST | Process a file |
|
||||
|
||||
## Running Locally
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run build
|
||||
npm start
|
||||
```
|
||||
|
||||
## Docker
|
||||
|
||||
```bash
|
||||
docker build -t metamesh-plugin-ffmpeg .
|
||||
docker run -p 8080:8080 metamesh-plugin-ffmpeg
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `PORT` | `8080` | HTTP server port |
|
||||
| `HOST` | `0.0.0.0` | HTTP server host |
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user