Files
platform/seed/tools/ffmpeg/TOOL.md
T

95 lines
2.4 KiB
Markdown

---
name: ffmpeg
label: FFmpeg
description: Run ffmpeg and ffprobe commands for audio/video processing. Converts formats, extracts audio/video streams, trims, merges, adjusts volume, changes resolution, extracts frames, and more. Auto-installs ffmpeg if not available. Use when the user needs any audio or video manipulation.
version: 1
language: typescript
inputs:
command:
type: enum
values: ffmpeg,ffprobe
description: "ffmpeg: process audio/video. ffprobe: inspect file metadata (duration, codecs, streams, etc.)"
args:
type: string
description: "Command-line arguments as a single string. Do NOT include the ffmpeg/ffprobe binary name — only the arguments. Example: '-i input.mp4 -vn -codec:a libmp3lame -b:a 320k output.mp3'"
---
# FFmpeg
General-purpose audio/video processing via ffmpeg and ffprobe.
## Prerequisites
This tool requires `ffmpeg` and `ffprobe`. It will automatically install them if not available:
```bash
sudo apt-get update && sudo apt-get install -y ffmpeg
```
All sudo commands run without a password prompt in this environment.
## Usage
### ffprobe — Inspect files
Get duration, codecs, streams, bitrate, and other metadata:
```
command: ffprobe
args: -v quiet -print_format json -show_format -show_streams input.mp4
```
### ffmpeg — Process files
Always include `-y` to overwrite output files without prompting.
**Convert video to MP4:**
```
command: ffmpeg
args: -i input.avi -codec:v libx264 -codec:a aac output.mp4 -y
```
**Extract audio from video:**
```
command: ffmpeg
args: -i video.mp4 -vn -codec:a libmp3lame -b:a 320k audio.mp3 -y
```
**Trim a clip:**
```
command: ffmpeg
args: -i input.mp4 -ss 00:01:30 -to 00:03:00 -codec copy clip.mp4 -y
```
**Change resolution:**
```
command: ffmpeg
args: -i input.mp4 -vf scale=1280:720 -codec:a copy output.mp4 -y
```
**Extract a frame as image:**
```
command: ffmpeg
args: -i video.mp4 -ss 00:00:10 -frames:v 1 frame.png -y
```
**Merge audio and video:**
```
command: ffmpeg
args: -i video.mp4 -i audio.mp3 -codec:v copy -codec:a aac -shortest merged.mp4 -y
```
**Convert audio format:**
```
command: ffmpeg
args: -i input.flac -codec:a libmp3lame -b:a 320k output.mp3 -y
```
## Notes
- Use absolute paths for input and output files.
- Always add `-y` to ffmpeg args to avoid interactive prompts.
- For long operations, progress is streamed in real time.
- stderr output from ffmpeg is captured and returned on failure.
- The tool has a 10-minute timeout.