| name | media-factory |
| description | Media processing and playback automation using FFmpeg, MPV, and AutoHotkey. |
| metadata | {"navig":{"emoji":"🎬","requires":{"bins":["ffmpeg","magick","youtube-dl","mpv","mediainfo"]}}} |
Media Factory Skill
Automate video, audio, and image processing workflows, and control media playback.
Playback (mpv)
Basic Playback
mpv "video.mp4"
mpv --input-ipc-server=\\.\pipe\mpvsocket "video.mp4"
Auto-Continue / Playlist
mpv --playlist=playlist.m3u
mpv "C:\Music\*"
Remote Control (via IPC)
Send JSON commands to the running MPV instance.
echo '{ "command": ["set_property", "pause", true] }' | navig run --stdin --pipe-to-mpv
Global Media Control (AHK)
Control system-wide media, regardless of the active application.
navig ahk send "{Media_Play_Pause}"
navig ahk send "{Media_Next}"
navig ahk send "{Volume_Up}"
Video Processing (FFmpeg)
Download
youtube-dl -f bestvideo+bestaudio "URL"
youtube-dl -x --audio-format mp3 "URL"
Convert & Compress
ffmpeg -i input.mkv -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4
ffmpeg -i video.mp4 -vn -c:a copy audio.aac
Editing
ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c copy clip.mp4
Metadata (MediaInfo)
mediainfo --Output=JSON input.mp4
Image Operations (ImageMagick)
Batch Processing
mogrify -format jpg -quality 85 *.png
mogrify -resize 1080x *.jpg
Best Practices
- MPV IPC: Use the IPC socket for programmed control of the player.
- AHK for Global: Use AHK when you just want to "hit the pause button" on whatever is playing (Spotify, YouTube, etc.).
- CRF for Quality: Use
-crf 18-28 for balance between size and quality.