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
| Trabajo | Motor | Notas |
|---|---|---|
| probe | ffprobe | formato, duración, flujos |
| video | FFmpeg | H.264 + AAC, yuv420p, faststart, CRF 28; miniatura a 1s, ancho 1280 |
| audio para el modelo | FFmpeg | PCM mono a 16 kHz, almacenado en work/ |
| voz a texto | faster-whisper | CPU, MP_WHISPER_COMPUTE predet. int8, modelo MP_WHISPER_MODEL predet. tiny |
| texto en imágenes | RapidOCR | PP-OCRv4 mediante ONNX Runtime, escrito en ocr.txt |
| traducir | Pollinations, Gemini o LiteLLM | solo 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_KEYyMP_GEMINI_KEYen el entorno. No los imprimas. tinyes el valor predeterminado. EstableceMP_WHISPER_MODELenbaseosmallcuando la grabación lo requiera.mediumylarge-v3son descargas grandes.- Una transcripción vacía con
probe.duration_sde 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.mdpara el orden de proveedores, límites de OCR y notas sobre hosts ARMreferences/triggers.mdpara la unidad de ruta de inbox ymp watchreferences/recipes.mdpara el venv, ffmpeg y comandos de OCR