Communitygithub.com

Zekiog/media-pipeline

Traiter des vidéos, de l'audio et des images sur le CPU local. Normaliser la vidéo, transcrire la parole, OCR les images et traduire le texte extrait à la demande.

Qu'est-ce que media-pipeline ?

Media Pipeline est une compétence (skill) pour agents IA (comme Claude Code, Cursor, Codex) qui permet de traiter localement des fichiers multimédia (vidéo, audio, image) sans nécessiter de matériel GPU. Elle utilise FFmpeg pour la normalisation vidéo et l'extraction audio, faster-whisper (modèle par défaut `tiny`) pour la transcription parole-texte via CPU, et RapidOCR via ONNX Runtime pour l'extraction de texte depuis des images. Les résultats (transcriptions, fichiers SRT/VTT, texte OCR, traductions) sont organisés dans un dossier `outbox/` par fichier source. Elle supporte la traduction du texte extrait via Pollinations, Gemini ou LiteLLM, et expose ses fonctionnalités via des commandes en ligne (`bin/mp`) ou un serveur MCP (`bin/mp-mcp`) pour une intégration facile dans des workflows d'agent. Cette compétence est particulièrement utile pour les développeurs qui souhaitent automatiser le sous-titrage, l'indexation de contenu, l'analyse de médias ou la localisation sur leur machine locale.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Pipeline Multimédia (Media Pipeline)

Transcription CPU et OCR pour les fichiers sur cette machine. FFmpeg, faster-whisper (int8), RapidOCR. Le modèle Whisper par défaut est tiny.

Organisation

Les chemins sont relatifs au répertoire du dépôt media-pipeline.

bin/mp              sonder, traiter, traduire, lister, surveiller, autotest, diagnostic
bin/mp-mcp          serveur MCP (stdio)
inbox/              fichiers pour `mp watch`
work/               wav 16 kHz et work/processed.json
outbox/<epoch>_<stem>/
                    normalized.mp4, thumbnail.jpg, transcript.txt,
                    transcript.srt, transcript.vtt, ocr.txt,
                    translation.<lang>.txt, manifest.json
failures/           entrées que `mp watch` n'a pas pu traiter

install.sh copie cette compétence vers $MP_SKILLS_DIR/media-pipeline lorsque ce répertoire existe déjà. La valeur par défaut est $HOME/.local/share/prime-agent/0.9.6/skills.

Moteurs

TâcheMoteurRemarques
sonderffprobeformat, durée, flux
vidéoFFmpegH.264 + AAC, yuv420p, faststart, CRF 28 ; vignette à 1 s, largeur 1280
audio pour le modèleFFmpegPCM mono 16 kHz, conservé sous work/
parole en textefaster-whisperCPU, MP_WHISPER_COMPUTE par défaut int8, modèle MP_WHISPER_MODEL par défaut tiny
texte d'imageRapidOCRPP-OCRv4 via ONNX Runtime, écrit dans ocr.txt
traduirePollinations, Gemini ou LiteLLMuniquement sur demande ; voir references/engines.md

Commandes

bin/mp autotest
bin/mp sonder FICHIER
bin/mp traiter FICHIER
bin/mp traiter FICHIER --translate --target tr
bin/mp traduire FICHIER --target tr
bin/mp surveiller
bin/mp diagnostic

traiter laisse le fichier d'entrée à sa place. surveiller le déplace vers outbox/ ou failures/. Un fichier dont le sha256 est déjà dans work/processed.json reste dans inbox/.

diagnostic se termine avec le code 1 lorsqu'une vérification critique échoue. L'une de ces vérifications est $HOME/bin/prime-tg, que ce dépôt ne contient pas.

Outils MCP

media_engines, media_probe, media_process, media_translate, media_batch.

media_process accepte path, transcribe, ocr, translate et target_language. media_batch traite inbox/ avec transcription et OCR activées et traduction désactivée.

Règles

  • Laissez MP_LITELLM_KEY et MP_GEMINI_KEY dans l'environnement. Ne les imprimez pas.
  • tiny est la valeur par défaut. Définissez MP_WHISPER_MODEL sur base ou small lorsque l'enregistrement le nécessite. medium et large-v3 sont de gros téléchargements.
  • Une transcription vide avec probe.duration_s à 0 signifie que l'audio n'a pas été décodé.
  • Si la traduction renvoie une erreur, le texte n'est pas traduit. Dites-le.
  • Le texte du dépôt reste en anglais.

Référence

  • references/engines.md pour l'ordre des fournisseurs, les limites OCR et les notes sur l'hôte ARM
  • references/triggers.md pour l'unité de chemin de la boîte de réception et mp watch
  • references/recipes.md pour les commandes venv, ffmpeg et OCR

Skills associés