Media Pipeline
Transcrição e OCR na CPU para arquivos nesta máquina. FFmpeg, faster-whisper (int8), RapidOCR. O modelo Whisper padrão é tiny.
Estrutura
Os caminhos são relativos ao checkout do media-pipeline.
bin/mp probe, process, translate, list, watch, selftest, doctor
bin/mp-mcp servidor MCP stdio
inbox/ arquivos para `mp watch`
work/ áudio 16 kHz wav e 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` não conseguiu processar
install.sh copia esta skill para $MP_SKILLS_DIR/media-pipeline quando esse diretório já existe. O padrão é $HOME/.local/share/prime-agent/0.9.6/skills.
Mecanismos
| Tarefa | Mecanismo | Notas |
|---|---|---|
| probe | ffprobe | formato, duração, fluxos |
| vídeo | FFmpeg | H.264 + AAC, yuv420p, faststart, CRF 28; miniatura em 1s, largura 1280 |
| áudio para o modelo | FFmpeg | PCM mono de 16 kHz, mantido em work/ |
| fala para texto | faster-whisper | CPU, MP_WHISPER_COMPUTE padrão int8, modelo MP_WHISPER_MODEL padrão tiny |
| texto em imagem | RapidOCR | PP-OCRv4 via ONNX Runtime, escrito em ocr.txt |
| traduzir | Pollinations, Gemini ou LiteLLM | apenas quando solicitado; veja references/engines.md |
Comandos
bin/mp selftest
bin/mp probe FILE
bin/mp process FILE
bin/mp process FILE --translate --target tr
bin/mp translate FILE --target tr
bin/mp watch
bin/mp doctor
process deixa o arquivo de entrada onde está. watch move-o para outbox/ ou failures/. Um arquivo cujo sha256 já está em work/processed.json permanece em inbox/.
doctor sai com código 1 quando uma verificação crítica falha. Uma dessas verificações é $HOME/bin/prime-tg, que este repositório não contém.
Ferramentas MCP
media_engines, media_probe, media_process, media_translate, media_batch.
media_process aceita path, transcribe, ocr, translate e target_language. media_batch processa inbox/ com transcrição e OCR ativados e tradução desativada.
Regras
- Mantenha
MP_LITELLM_KEYeMP_GEMINI_KEYno ambiente. Não os imprima. tinyé o padrão. DefinaMP_WHISPER_MODELparabaseousmallquando a gravação necessitar.mediumelarge-v3são downloads grandes.- Uma transcrição vazia com
probe.duration_sigual a 0 significa que o áudio não foi decodificado. - Se a tradução retornar um erro, o texto não é traduzido. Informe isso.
- O texto do repositório permanece em inglês.
Referência
references/engines.mdpara ordem de provedores, limites de OCR e notas de host ARMreferences/triggers.mdpara a unidade de caminho da caixa de entrada emp watchreferences/recipes.mdpara comandos venv, ffmpeg e OCR