mcpField
M
media-utils

media-utils

github.com/michaelboedingクリエイティブ・メディア3040 回インストール2 週間前に更新
リポジトリ

media-utils について

Media Utilities は、メディア制作スキル向けのスクリプト集です。FFmpeg による音声・動画処理や Markdown レポートの PDF 変換に対応し、メディアの編集と文書出力に使えます。

主な機能

  1. 01クロスフェード対応の音声結合
  2. 02ナレーションと BGM のミックス
  3. 03トランジション付き動画結合
  4. 04動画音声の追加または除去
  5. 05FFmpeg のインストール確認
  6. 06Markdown レポートの PDF 変換

活用シーン

  1. 01ポッドキャストの音声結合と音量調整
  2. 02動画へのナレーションと BGM の追加
  3. 03動画の元音声を別トラックに置き換え
  4. 04分析資料や技術文書の PDF 出力

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/michaelboeding/skills --skill media-utils

インストール後、Claude Code で/media-utilsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
audio_concat.py
audio_mix.py
check_ffmpeg.py
report_to_pdf.py
video_audio_merge.py
video_concat.py
video_strip_audio.py

詳細

メディアユーティリティ

メディアの組み立てに使用する内部ユーティリティです。プロデューサースキルで使用されます。

これらのスクリプトは FFmpeg をラップし、信頼性の高いメディア操作を提供します。

前提条件

  • FFmpeg をインストールする必要があります:brew install ffmpeg(macOS)または apt install ffmpeg(Linux)
  • 次のコマンドで確認します:python3 check_ffmpeg.py

利用可能なユーティリティ

audio_concat.py

複数の音声ファイルを結合します。

# Simple concatenation
python3 audio_concat.py -i intro.wav segment1.wav outro.wav -o podcast.mp3

# With crossfade between clips
python3 audio_concat.py -i track1.wav track2.wav --crossfade 2.0

# With normalization
python3 audio_concat.py -i *.wav -o mixed.mp3 --normalize
audio_mix.py

音声/ナレーションと BGM をミックスします(オプションでダッキングに対応)。

# Voice + music with ducking (music lowers when voice plays)
python3 audio_mix.py --voice narration.wav --music background.mp3 -o final.mp3

# Adjust music volume (default: 0.3)
python3 audio_mix.py --voice voice.wav --music music.mp3 --music-volume 0.2

# No ducking
python3 audio_mix.py --voice voice.wav --music music.mp3 --no-duck

# With fade in/out on music
python3 audio_mix.py --voice voice.wav --music music.mp3 --fade-in 2 --fade-out 3
video_concat.py

複数の動画クリップを結合します。

# Simple concatenation
python3 video_concat.py -i clip1.mp4 clip2.mp4 clip3.mp4 -o final.mp4

# With fade transition
python3 video_concat.py -i *.mp4 -o final.mp4 --transition fade --duration 1.0

# Normalize to 1080p
python3 video_concat.py -i *.mp4 -o final.mp4 --resolution 1080p

# Available transitions: fade, dissolve, wipeleft, wiperight, slideup, slidedown
video_audio_merge.py

動画に音声トラックを追加します。

# Replace video audio
python3 video_audio_merge.py --video clip.mp4 --audio voiceover.mp3 -o final.mp4

# Add voice + music with ducking
python3 video_audio_merge.py --video clip.mp4 --voice narration.wav --music bg.mp3

# Mix with existing video audio
python3 video_audio_merge.py --video clip.mp4 --audio music.mp3 --mix

# Audio sync offset
python3 video_audio_merge.py --video clip.mp4 --audio audio.mp3 --offset 0.5
video_strip_audio.py

動画ファイルから音声を削除します(カスタム音声への置き換え用)。

# Strip audio from single file
python3 video_strip_audio.py -i video.mp4 -o silent_video.mp4

# Strip audio from multiple files (batch mode)
python3 video_strip_audio.py -i clip1.mp4 clip2.mp4 clip3.mp4

# Strip with custom output directory
python3 video_strip_audio.py -i *.mp4 --output-dir ./silent/

# Re-encode video instead of copying
python3 video_strip_audio.py -i video.mp4 --reencode
check_ffmpeg.py

FFmpeg のインストールを確認します。

python3 check_ffmpeg.py
# ✅ FFmpeg is available!
#    ffmpeg version 6.0 ...
report_to_pdf.py

Markdown レポートをプロフェッショナルな PDF ドキュメントに変換します。

# Basic conversion
python3 report_to_pdf.py -i analysis.md -o analysis.pdf

# With custom title and executive style
python3 report_to_pdf.py -i report.md -o report.pdf --title "Q4 Market Analysis" --style executive

# Technical documentation with table of contents
python3 report_to_pdf.py -i docs.md -o docs.pdf --style technical --toc

利用可能なスタイル:

スタイル説明
businessすっきりとしたプロフェッショナルなスタイル(デフォルト)
executive大きなフォントを使用したエグゼクティブサマリー
technical技術ドキュメント
minimal最小限のスタイルで、コンテンツを最大限に表示

必要なパッケージ: pip install markdown weasyprint

プロデューサースキルでの使用

これらのユーティリティは、最終成果物を組み立てるためにプロデューサースキルから呼び出されます。

from pathlib import Path
import subprocess
import sys

# Get path to media-utils
UTILS_PATH = Path(__file__).parent.parent.parent / "media-utils" / "scripts"

def concat_audio(files: list, output: str):
    cmd = [
        sys.executable,
        str(UTILS_PATH / "audio_concat.py"),
        "-i", *files,
        "-o", output
    ]
    subprocess.run(cmd, check=True)

出力形式

ユーティリティデフォルト出力オプション
audio_concatMP3入力から継承
audio_mixMP3MP3
video_concatMP4(H.264)MP4
video_audio_mergeMP4(H.264)MP4
video_strip_audioMP4(コピー)MP4

コメント