media-utils について
Media Utilities は、メディア制作スキル向けのスクリプト集です。FFmpeg による音声・動画処理や Markdown レポートの PDF 変換に対応し、メディアの編集と文書出力に使えます。
主な機能
- 01クロスフェード対応の音声結合
- 02ナレーションと BGM のミックス
- 03トランジション付き動画結合
- 04動画音声の追加または除去
- 05FFmpeg のインストール確認
- 06Markdown レポートの PDF 変換
活用シーン
- 01ポッドキャストの音声結合と音量調整
- 02動画へのナレーションと BGM の追加
- 03動画の元音声を別トラックに置き換え
- 04分析資料や技術文書の PDF 出力
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ michaelboeding/ skills --skill media-utilsインストール後、Claude Code で/media-utilsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/audio_concat.pyaudio_mix.pycheck_ffmpeg.pyreport_to_pdf.pyvideo_audio_merge.pyvideo_concat.pyvideo_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_concat | MP3 | 入力から継承 |
| audio_mix | MP3 | MP3 |
| video_concat | MP4(H.264) | MP4 |
| video_audio_merge | MP4(H.264) | MP4 |
| video_strip_audio | MP4(コピー) | MP4 |
コメント
Markdown 対応