Communitygithub.com

Zekiog/media-pipeline

Processe vídeo, áudio e imagens na CPU local. Normalize vídeos, transcreva fala, faça OCR em imagens e traduza o texto extraído quando solicitado.

O que é media-pipeline?

O Media Pipeline é uma skill para agentes de IA (como Claude Code, Cursor, Codex) que permite processar arquivos de mídia localmente na CPU, sem depender de serviços externos de GPU. Ela utiliza FFmpeg para normalização de vídeo e áudio, faster-whisper (modelo padrão `tiny`) para transcrição de fala, e RapidOCR para extração de texto de imagens. Além disso, oferece tradução do texto extraído por meio de APIs como Pollinations, Gemini ou LiteLLM. A skill é organizada em uma estrutura de diretórios que separa arquivos de entrada (`inbox/`), área de trabalho (`work/`) e resultados (`outbox/`), e fornece comandos de terminal (`bin/mp`) e ferramentas MCP para integração com agentes. É útil para desenvolvedores que precisam de um pipeline de mídia completo e offline, com suporte a lote, monitoramento de diretório e verificação de integridade.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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

TarefaMecanismoNotas
probeffprobeformato, duração, fluxos
vídeoFFmpegH.264 + AAC, yuv420p, faststart, CRF 28; miniatura em 1s, largura 1280
áudio para o modeloFFmpegPCM mono de 16 kHz, mantido em work/
fala para textofaster-whisperCPU, MP_WHISPER_COMPUTE padrão int8, modelo MP_WHISPER_MODEL padrão tiny
texto em imagemRapidOCRPP-OCRv4 via ONNX Runtime, escrito em ocr.txt
traduzirPollinations, Gemini ou LiteLLMapenas 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_KEY e MP_GEMINI_KEY no ambiente. Não os imprima.
  • tiny é o padrão. Defina MP_WHISPER_MODEL para base ou small quando a gravação necessitar. medium e large-v3 são downloads grandes.
  • Uma transcrição vazia com probe.duration_s igual 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.md para ordem de provedores, limites de OCR e notas de host ARM
  • references/triggers.md para a unidade de caminho da caixa de entrada e mp watch
  • references/recipes.md para comandos venv, ffmpeg e OCR

Habilidades Relacionadas