dsh-plugin-media-studio — edición de video con ffmpeg para DeepSeek Harness
Plugin MCP local para probar, convertir, recortar, hacer clips verticales, miniaturas y quemar subtítulos con el ffmpeg de tu máquina. Rutas permitidas, nada de sobrescribir originales, auditoría y modo read-only.
English · Cómo funciona · MIT
Herramientas (7)
| Tool | Qué hace |
|---|---|
mcp__media__status |
Versiones de ffmpeg/ffprobe, rutas permitidas, salida y modo. |
mcp__media__probe |
Duración, formato, codecs, resolución y fps. |
mcp__media__convert |
Convierte a mp4, webm o gif (calidad low/medium/high). |
mcp__media__trim |
Recorte rápido por copia o preciso con re-encode. |
mcp__media__vertical |
Clip 1080x1920 para Shorts/Reels/TikTok (crop o pad). |
mcp__media__thumbnail |
Miniatura jpg en un tiempo dado (devuelve la imagen). |
mcp__media__burn_subtitles |
Quema un .srt/.vtt sobre el video. |
Requisitos
- ffmpeg y ffprobe en el PATH (o
ffmpegPath/ffprobePathen la config). En Windows:winget install Gyan.FFmpeg(incluye ambos). - Node ≥ 20 (lo aporta el harness).
Configuración
Archivo: <DSH_HOME>\media-studio\config.json (el postinstall lo crea con
allowedPaths = tu perfil).
{
"allowedPaths": ["C:\\Users\\tu-usuario"],
"ffmpegPath": "",
"ffprobePath": "",
"note": "ffmpegPath/ffprobePath vacíos usan PATH."
}
allowedPaths: carpetas desde las que se puede leer y escribir. Las salidas por defecto van a<DSH_HOME>\cache\media-studio.- Variables de entorno opcionales:
DSH_FFMPEG_PATH,DSH_FFPROBE_PATH.
Instalación
Desde DSH → Settings → Plugins instala
github:thegabopacheco-sudo/dsh-plugin-media-studio y permite el script de
instalación.
CLI:
dsh plugin --profile <perfil> add github:thegabopacheco-sudo/dsh-plugin-media-studio
El postinstall copia el runtime a <DSH_HOME>\plugins\media-studio y crea la
config base.
Ejemplos de pedidos
- «Analiza este video y dime duración y resolución.»
- «Recorta del minuto 1:20 al 1:45.»
- «Hazme un vertical 9:16 para Shorts.»
- «Sácame una miniatura en el segundo 5.»
- «Quémale estos subtítulos y guárdalo como mp4.»
- «Pásalo a gif de 480 px.»
Seguridad
- Rutas permitidas (
allowedPaths): no lee ni escribe fuera de ellas. - Nunca sobrescribe la entrada; si el destino existe, crea un nombre único.
- Modo read-only (
DSH_MEDIA_MODE=read-only): solostatus/probe. - Límite de 6 operaciones pesadas por minuto.
- Auditoría en
<DSH_HOME>\cache\media-studio\audit.jsonl. - Sin comandos arbitrarios: los args de ffmpeg se construyen desde parámetros validados (enums, números y tiempos).
Variables de entorno
| Variable | Uso |
|---|---|
DSH_MEDIA_MODE |
read-only desactiva conversiones. |
DSH_FFMPEG_PATH / DSH_FFPROBE_PATH |
Binarios alternativos. |
DSH_MEDIA_SKIP_POSTINSTALL |
1 omite el despliegue. |
Solución de problemas
- “no se pudo ejecutar ffmpeg”: instala ffmpeg, verifica
ffmpeg -versiono defineDSH_FFMPEG_PATH. - “ruta no permitida”: agrega la carpeta a
allowedPaths. - Subtítulos quemados fallan: usa
.srt/.vttUTF-8; el filtro escapa rutas de Windows automáticamente. - Permiso de scripts en la instalación: aprueba el
postinstall; si el cartel se repite,allowBuilds: trueenpnpm-workspace.yaml.
Desarrollo
npm install
npm run build:bundle
cd test; npm install; node connect-test.mjs # genera un video con ffmpeg
Licencia
MIT © thegabopacheco-sudo
No comments yet. Be the first to write one.