Mediaproc
Process media files (video, audio, images) via a locked-down SSH container.
- Rating
- 4.8 (247 reviews)
- Downloads
- 14,915 downloads
- Version
- 1.0.0
Overview
Process media files (video, audio, images) via a locked-down SSH container.
Complete Documentation
View Source →
mediaproc
Locked-down media processing over SSH. Built on lockbox — no shell access, no injection, no bullshit.
For installation and deployment, see references/setup.md.
SSH Wrapper
Use scripts/mediaproc.sh for all commands. It handles host, port, and host key acceptance via MEDIAPROC_HOST and MEDIAPROC_PORT env vars.
scripts/mediaproc.sh <command> [args]
scripts/mediaproc.sh <command> < input_file
scripts/mediaproc.sh <command> > output_file
Media Tools
| Command | Description |
|---|---|
| ffmpeg | Video/audio encoding, transcoding, filtering |
| ffprobe | Media file analysis |
| sox | Audio processing |
| soxi | Audio file info |
| convert | Image conversion/manipulation (ImageMagick) |
| identify | Image file info (ImageMagick) |
| magick | ImageMagick CLI |
Upload, Process, Download
# Upload
scripts/mediaproc.sh "put input.mp4" < input.mp4
# Transcode
scripts/mediaproc.sh "ffmpeg -i /work/input.mp4 -c:v libx264 /work/output.mp4"
# Download result
scripts/mediaproc.sh "get output.mp4" > output.mp4
# Clean up
scripts/mediaproc.sh "remove-file input.mp4"
scripts/mediaproc.sh "remove-file output.mp4"
Video Operations
# Get video info as JSON
scripts/mediaproc.sh "ffprobe -v quiet -print_format json -show_format -show_streams /work/video.mp4"
# Apply frei0r glow effect
scripts/mediaproc.sh "ffmpeg -i /work/in.mp4 -vf frei0r=glow:0.5 /work/out.mp4"
# Extract audio from video
scripts/mediaproc.sh "ffmpeg -i /work/video.mp4 -vn -acodec libmp3lame /work/audio.mp3"
# Create thumbnail from video
scripts/mediaproc.sh "ffmpeg -i /work/video.mp4 -ss 00:00:05 -vframes 1 /work/thumb.jpg"
Audio Operations
# Convert audio format
scripts/mediaproc.sh "sox /work/input.wav /work/output.mp3"
# Get audio info
scripts/mediaproc.sh "soxi /work/audio.wav"
# Normalize audio
scripts/mediaproc.sh "sox /work/input.wav /work/output.wav norm"
Image Operations
# Resize image
scripts/mediaproc.sh "convert /work/input.png -resize 50% /work/output.png"
# Create thumbnail
scripts/mediaproc.sh "convert /work/input.jpg -thumbnail 200x200 /work/thumb.jpg"
# Get image info
scripts/mediaproc.sh "identify /work/image.png"
File Operations
All paths relative to the work directory. Traversal blocked.
| Command | Description |
|---|---|
| put | Upload file from stdin |
| get | Download file to stdout |
| list-files [--json] | List directory |
| remove-file | Delete a file |
| create-dir | Create directory |
| remove-dir | Remove empty directory |
| remove-dir-recursive | Remove directory recursively |
| move-file | Move or rename |
| copy-file | Copy a file |
| file-info | Get file metadata as JSON |
| file-exists | Check if file exists (true/false) |
| file-hash | Get SHA256 hash |
| disk-usage [path] | Get bytes used |
| search-files | Glob search |
| append-file | Append stdin to a file |
# List files
scripts/mediaproc.sh "list-files"
# List as JSON (size, modified, isDir, permissions)
scripts/mediaproc.sh "list-files --json"
# List subdirectory
scripts/mediaproc.sh "list-files project1"
# File operations
scripts/mediaproc.sh "create-dir project1"
scripts/mediaproc.sh "move-file old.mp4 new.mp4"
scripts/mediaproc.sh "copy-file input.mp4 backup.mp4"
scripts/mediaproc.sh "file-info video.mp4"
scripts/mediaproc.sh "file-exists video.mp4"
scripts/mediaproc.sh "file-hash video.mp4"
scripts/mediaproc.sh "search-files '*.mp4'"
scripts/mediaproc.sh "disk-usage"
scripts/mediaproc.sh "remove-dir-recursive project1"
Plugins
- frei0r — Video effect plugins (used via
-vf frei0r=...) - LADSPA — Audio effect plugins: SWH, TAP, CMT (used via
-af ladspa=...) - LV2 — Audio plugins (used via
-af lv2=...)
Fonts
2200+ fonts included covering emoji, CJK, Arabic, Thai, Indic, monospace, and more. Custom fonts can be mounted to /usr/share/fonts/custom.
Installation
openclaw install mediaproc
💻Code Examples
scripts/mediaproc.sh <command> > output_file
## Media Tools
| Command | Description |
| ---------- | -------------------------------------------- |
| `ffmpeg` | Video/audio encoding, transcoding, filtering |
| `ffprobe` | Media file analysis |
| `sox` | Audio processing |
| `soxi` | Audio file info |
| `convert` | Image conversion/manipulation (ImageMagick) |
| `identify` | Image file info (ImageMagick) |
| `magick` | ImageMagick CLI |
## Upload, Process, Downloadscripts/mediaproc.sh "identify /work/image.png"
## File Operations
All paths relative to the work directory. Traversal blocked.
| Command | Description |
| ---------------------- | ---------------------------------- |
| `put <path>` | Upload file from stdin |
| `get <path>` | Download file to stdout |
| `list-files [--json]` | List directory |
| `remove-file <path>` | Delete a file |
| `create-dir <path>` | Create directory |
| `remove-dir <path>` | Remove empty directory |
| `remove-dir-recursive <path>` | Remove directory recursively |
| `move-file <src> <dst>`| Move or rename |
| `copy-file <src> <dst>`| Copy a file |
| `file-info <path>` | Get file metadata as JSON |
| `file-exists <path>` | Check if file exists (true/false) |
| `file-hash <path>` | Get SHA256 hash |
| `disk-usage [path]` | Get bytes used |
| `search-files <glob>` | Glob search |
| `append-file <path>` | Append stdin to a file |scripts/mediaproc.sh <command> [args]
scripts/mediaproc.sh <command> < input_file
scripts/mediaproc.sh <command> > output_file# Upload
scripts/mediaproc.sh "put input.mp4" < input.mp4
# Transcode
scripts/mediaproc.sh "ffmpeg -i /work/input.mp4 -c:v libx264 /work/output.mp4"
# Download result
scripts/mediaproc.sh "get output.mp4" > output.mp4
# Clean up
scripts/mediaproc.sh "remove-file input.mp4"
scripts/mediaproc.sh "remove-file output.mp4"# Get video info as JSON
scripts/mediaproc.sh "ffprobe -v quiet -print_format json -show_format -show_streams /work/video.mp4"
# Apply frei0r glow effect
scripts/mediaproc.sh "ffmpeg -i /work/in.mp4 -vf frei0r=glow:0.5 /work/out.mp4"
# Extract audio from video
scripts/mediaproc.sh "ffmpeg -i /work/video.mp4 -vn -acodec libmp3lame /work/audio.mp3"
# Create thumbnail from video
scripts/mediaproc.sh "ffmpeg -i /work/video.mp4 -ss 00:00:05 -vframes 1 /work/thumb.jpg"# Convert audio format
scripts/mediaproc.sh "sox /work/input.wav /work/output.mp3"
# Get audio info
scripts/mediaproc.sh "soxi /work/audio.wav"
# Normalize audio
scripts/mediaproc.sh "sox /work/input.wav /work/output.wav norm"# Resize image
scripts/mediaproc.sh "convert /work/input.png -resize 50% /work/output.png"
# Create thumbnail
scripts/mediaproc.sh "convert /work/input.jpg -thumbnail 200x200 /work/thumb.jpg"
# Get image info
scripts/mediaproc.sh "identify /work/image.png"# List files
scripts/mediaproc.sh "list-files"
# List as JSON (size, modified, isDir, permissions)
scripts/mediaproc.sh "list-files --json"
# List subdirectory
scripts/mediaproc.sh "list-files project1"
# File operations
scripts/mediaproc.sh "create-dir project1"
scripts/mediaproc.sh "move-file old.mp4 new.mp4"
scripts/mediaproc.sh "copy-file input.mp4 backup.mp4"
scripts/mediaproc.sh "file-info video.mp4"
scripts/mediaproc.sh "file-exists video.mp4"
scripts/mediaproc.sh "file-hash video.mp4"
scripts/mediaproc.sh "search-files '*.mp4'"
scripts/mediaproc.sh "disk-usage"
scripts/mediaproc.sh "remove-dir-recursive project1"Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
Adversarial Prompting
Adversarial analysis to critique, fix.