Communitygithub.com

Zekiog/media-pipeline

Procesa video, audio e imágenes en la CPU local. Normaliza video, transcribe voz, aplica OCR a imágenes y traduce el texto extraído cuando se solicita.

¿Qué es media-pipeline?

Media Pipeline es una habilidad para agentes de IA que permite procesar archivos multimedia localmente en la CPU sin depender de servicios en la nube. Combina FFmpeg para normalización de video y audio, faster-whisper para transcripción de voz con modelos int8 (por defecto 'tiny'), RapidOCR para extraer texto de imágenes mediante PP-OCRv4, y motores de traducción como Pollinations, Gemini o LiteLLM. Soporta plataformas como Claude Code, Cursor y Codex a través de comandos CLI y un servidor MCP stdio. Los resultados se organizan en directorios de salida con metadatos, transcripciones y traducciones. Es ideal para desarrolladores que necesitan procesamiento multimedia offline con control total sobre los recursos locales.

Compatible con~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Zekiog/media-pipeline/tree/HEAD/skills/media-pipeline

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Media Pipeline

Transcripción por CPU y OCR para archivos en esta máquina. FFmpeg, faster-whisper (int8), RapidOCR. El modelo Whisper predeterminado es tiny.

Diseño

Las rutas son relativas al directorio de media-pipeline.

bin/mp              probe, process, translate, list, watch, selftest, doctor
bin/mp-mcp          servidor MCP stdio
inbox/              archivos para `mp watch`
work/               audio wav de 16 kHz y work/processed.json
outbox/<epoch>_<stem>/
                    normalized.mp4, thumbnail.jpg, transcript.txt,
                    transcript.srt, transcript.vtt, ocr.txt,
                    translation.<lang>.txt, manifest.json
failures/           entradas que `mp watch` no pudo procesar

install.sh copia esta habilidad a $MP_SKILLS_DIR/media-pipeline cuando ese directorio ya existe. El valor predeterminado es $HOME/.local/share/prime-agent/0.9.6/skills.

Motores

TrabajoMotorNotas
probeffprobeformato, duración, flujos
videoFFmpegH.264 + AAC, yuv420p, faststart, CRF 28; miniatura a 1s, ancho 1280
audio para el modeloFFmpegPCM mono a 16 kHz, almacenado en work/
voz a textofaster-whisperCPU, MP_WHISPER_COMPUTE predet. int8, modelo MP_WHISPER_MODEL predet. tiny
texto en imágenesRapidOCRPP-OCRv4 mediante ONNX Runtime, escrito en ocr.txt
traducirPollinations, Gemini o LiteLLMsolo cuando se solicita; ver references/engines.md

Comandos

bin/mp selftest
bin/mp probe ARCHIVO
bin/mp process ARCHIVO
bin/mp process ARCHIVO --translate --target tr
bin/mp translate ARCHIVO --target tr
bin/mp watch
bin/mp doctor

process deja el archivo de entrada donde está. watch lo mueve a outbox/ o failures/. Un archivo cuyo sha256 ya esté en work/processed.json permanece en inbox/.

doctor sale con código 1 cuando falla una comprobación crítica. Una de esas comprobaciones es $HOME/bin/prime-tg, que este repositorio no contiene.

Herramientas MCP

media_engines, media_probe, media_process, media_translate, media_batch.

media_process acepta path, transcribe, ocr, translate y target_language. media_batch procesa inbox/ con transcripción y OCR activados y traducción desactivada.

Reglas

  • Deja MP_LITELLM_KEY y MP_GEMINI_KEY en el entorno. No los imprimas.
  • tiny es el valor predeterminado. Establece MP_WHISPER_MODEL en base o small cuando la grabación lo requiera. medium y large-v3 son descargas grandes.
  • Una transcripción vacía con probe.duration_s de 0 significa que el audio no se pudo decodificar.
  • Si la traducción devuelve un error, el texto no se traduce. Dilo.
  • El texto del repositorio se mantiene en inglés.

Referencia

  • references/engines.md para el orden de proveedores, límites de OCR y notas sobre hosts ARM
  • references/triggers.md para la unidad de ruta de inbox y mp watch
  • references/recipes.md para el venv, ffmpeg y comandos de OCR

Skills relacionados