Communitygithub.com

Zekiog/media-pipeline

로컬 CPU에서 비디오, 오디오, 이미지를 처리합니다. 비디오 정규화, 음성 텍스트 변환, 이미지 OCR, 추출된 텍스트 번역을 수행합니다.

media-pipeline란 무엇인가요?

Media Pipeline은 로컬 컴퓨터에서 CPU 기반으로 미디어 파일(비디오, 오디오, 이미지)을 처리하는 AI 에이전트 스킬입니다. FFmpeg, faster-whisper (int8 양자화), RapidOCR 엔진을 사용하여 비디오 정규화, 음성 텍스트 변환(STT), 이미지 OCR, 그리고 추출된 텍스트 번역까지 한 번에 처리할 수 있습니다. Whisper 모델은 기본적으로 `tiny`를 사용하며, 필요에 따라 `base`나 `small` 등으로 변경 가능합니다. 지원되는 플랫폼은 Claude Code, Cursor, Codex 등 MCP 프로토콜을 지원하는 모든 AI 에이전트 도구이며, `bin/mp` 명령어와 `bin/mp-mcp` MCP 서버를 통해 기능을 제공합니다. 특히 `mp watch` 명령어로 inbox 디렉토리를 모니터링하여 자동 처리할 수 있고, Pollinations, Gemini, LiteLLM을 통해 번역 기능을 제공합니다. 모든 처리는 로컬에서 이루어지므로 클라우드 비용 없이 프라이버시를 유지할 수 있습니다.

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

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

미디어 파이프라인

이 컴퓨터에 있는 파일의 CPU 기반 텍스트 변환(STT) 및 OCR을 수행합니다. FFmpeg, faster-whisper (int8), RapidOCR을 사용합니다. Whisper 모델 기본값은 tiny입니다.

디렉터리 구조

경로는 media-pipeline 체크아웃 디렉터리를 기준으로 합니다.

bin/mp              probe, process, translate, list, watch, selftest, doctor
bin/mp-mcp          stdio MCP 서버
inbox/              `mp watch` 명령어가 처리할 파일들
work/               16 kHz wav 파일 및 work/processed.json
outbox/<epoch>_<stem>/
                    normalized.mp4, thumbnail.jpg, transcript.txt,
                    transcript.srt, transcript.vtt, ocr.txt,
                    translation.<lang>.txt, manifest.json
failures/           `mp watch`가 처리하지 못한 입력 파일들

install.sh는 이 스킬을 $MP_SKILLS_DIR/media-pipeline 디렉터리로 복사합니다. 단, 해당 디렉터리가 이미 존재해야 합니다. 기본값은 $HOME/.local/share/prime-agent/0.9.6/skills입니다.

엔진

작업엔진비고
프로브ffprobe포맷, 길이, 스트림
비디오FFmpegH.264 + AAC, yuv420p, faststart, CRF 28; 1초 시점 썸네일, 너비 1280
모델용 오디오FFmpeg16 kHz 모노 PCM, work/ 아래에 보관
음성 텍스트 변환faster-whisperCPU, MP_WHISPER_COMPUTE 기본값 int8, 모델 MP_WHISPER_MODEL 기본값 tiny
이미지 텍스트RapidOCRPP-OCRv4 (ONNX Runtime), ocr.txt에 기록
번역Pollinations, Gemini, 또는 LiteLLM요청 시에만 실행됨; 자세한 내용은 references/engines.md 참조

명령어

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는 입력 파일을 원래 위치에 그대로 둡니다. watch는 파일을 outbox/ 또는 failures/로 이동합니다. sha256 값이 이미 work/processed.json에 있는 파일은 inbox/에 남아 있습니다.

doctor는 중요한 검사에 실패하면 종료 코드 1을 반환합니다. 검사 중 하나는 $HOME/bin/prime-tg의 존재 여부입니다 (이 저장소에는 포함되지 않음).

MCP 도구

media_engines, media_probe, media_process, media_translate, media_batch.

media_process는 path, transcribe, ocr, translate, target_language를 인자로 받습니다. media_batch는 inbox/를 처리하며, 텍스트 변환과 OCR은 켜고 번역은 끕니다.

규칙

  • MP_LITELLM_KEY와 MP_GEMINI_KEY는 환경 변수에 그대로 두고 출력하지 마십시오.
  • tiny가 기본값입니다. 녹음 품질이 필요한 경우 MP_WHISPER_MODEL을 base 또는 small로 설정하십시오. medium과 large-v3는 다운로드 크기가 큽니다.
  • probe.duration_s가 0인 빈 텍스트 변환 결과는 오디오를 디코딩하지 못했음을 의미합니다.
  • 번역에서 오류가 발생하면 텍스트가 번역되지 않았음을 명시하십시오.
  • 저장소 내 텍스트는 영어로 유지합니다.

참고 자료

  • references/engines.md: 공급자 순서, OCR 제한, ARM 호스트 관련 참고 사항
  • references/triggers.md: inbox 경로 단위 및 mp watch 관련 정보
  • references/recipes.md: venv, ffmpeg, OCR 명령어 관련 레시피

관련 스킬