ffmpeg-cli について
ffmpeg-cli は、FFmpeg によるメディア処理のリファレンススキルです。コマンドラインで音声や動画を扱う人向けに、変換、編集、確認の例と詳細資料をまとめています。
主な機能
- 01フォーマットの再多重化と変換
- 02動画の拡大縮小と余白追加
- 03時間指定のトリミング
- 04フィルターグラフとストリーム選択
- 05メディアメタデータの確認
活用シーン
- 01MP4 を MKV または MOV に再多重化
- 02横長版と縦長版の動画を作成
- 03指定した時間範囲でクリップをトリミング
- 04ffprobe でストリーム情報を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ henkisdabro/ wookstar-claude-plugins --skill ffmpeg-cliインストール後、Claude Code で/ffmpeg-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-editing.mdasset-generation.mdaudio-processing.mdcore-concepts.mdencoding-and-settings.md詳細
FFmpeg CLI リファレンス
目次
依存関係
ffmpeg がインストールされていることを確認します。
ffmpeg -version
インストールされていない場合はインストールします。
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows (scoop)
scoop install ffmpeg
フラグとフィルターの用語集
| フラグ/フィルター | 用途 |
|---|---|
-vf(-filter:v と同じ) | ビデオフィルター |
-af(-filter:a と同じ) | オーディオフィルター |
-filter_complex | 複数ストリームをフィルタリングする複雑なフィルターグラフ |
[0] | 1 番目の入力のすべてのストリーム(0 始まり) |
[0:v] | 1 番目の入力のビデオストリーム |
[1:a] | 2 番目の入力のオーディオストリーム |
0:v:0 | 1 番目の入力の 1 番目のビデオストリーム |
0:a:1 | 1 番目の入力の 2 番目のオーディオストリーム |
[name] | 名前付きストリーム。-filter_complex と併用します |
-map [name] | 出力するストリームを選択します |
-y | 確認なしで出力ファイルを自動的に上書きします |
式の評価:if、lte、gte など。
フォーマットの変換
MP4 を MKV にリマックスします(再エンコードなし)。
ffmpeg -i input.mp4 -c copy output.mkv
MKV と MP4 はどちらも、H264/H265 ビデオと AAC/MP3 オーディオのコンテナーです。ビデオ品質はコンテナーではなくコーデックによって決まります。MKV は複数のビデオストリームに対応し、MP4 はより幅広いデバイスでサポートされています。
MP4 を MOV にリマックスします。
ffmpeg -i input.mp4 -c copy output.mov
MP4 を AVI にエンコードします(再エンコードあり)。
ffmpeg -i input.mp4 output.avi
サイズ変更とパディング
アスペクト比を維持し、黒い余白を追加して 1080x1920 に拡大します。
ffmpeg -i input.mp4 -vf "scale=w=1080:h=1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=black,setsar=1:1" output.mp4
scale オプション:
force_original_aspect_ratio=decrease- アスペクト比に合うよう、出力サイズを自動的に縮小しますforce_original_aspect_ratio=increase- サイズを自動的に拡大しますscale=w=1080:h=-1- アスペクト比に合う高さを ffmpeg に選択させますscale=w=1080:h=-2- サイズが 2 で割り切れるようにします
pad オプション:
pad=width:height:x:y:color- x:y は左上の位置です(ow-iw)/2:(oh-ih)/2はビデオを中央揃えにします。負の値でも中央揃えになります- pad のリファレンス
setsar=1:1 は、ピクセルのアスペクト比を 1:1 にします。ffmpeg が比率の変化を補正するのを防ぎます。setsar のリファレンス
1 つの入力からサイズを変更した 2 つの出力(横向き+ロゴを重ねた縦向き):
ffmpeg -i input.mp4 -i logo.png \
-filter_complex "[0:v]split=2[s0][s1]; \
[s0]scale=w=1920:h=1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=black,setsar=1:1[out1]; \
[s1]scale=w=720:h=1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2:color=black,setsar=1:1[s2]; \
[s2][1]overlay=(main_w-overlay_w)/2:(main_w-overlay_w)/5[out2]" \
-map [out1] -map 0:a output_youtube.mp4 \
-map [out2] -map 0:a output_shorts.mp4
時間によるトリミング
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:25 output.mp4
より高速ですが精度の低いトリミングについては、references/encoding-and-settings.md の 入力/出力シーク セクションを参照してください。トリミング時の -c copy のトレードオフについては、references/core-concepts.md を参照してください。
検証と確認
サポートされているフォーマットを一覧表示します。
ffmpeg -formats
サポートされているコーデックを一覧表示します。
ffmpeg -codecs
ffprobe
ffprobe は、メディアファイルに関する構造化されたメタデータを提供します。
ストリームの詳細情報を表示します。
ffprobe -show_streams -i input.mp4
moov アトムの位置(faststart)を確認します。
ffprobe -v trace -i input.mp4
出力の冒頭付近にある type:'moov' を探し、faststart が適用されていることを確認します。
参考ファイル
より詳しい内容が必要な場合は、Read ツールを使用して、必要に応じてこれらのファイルを読み込んでください。
| ファイル | トピック |
|---|---|
references/core-concepts.md | -c copy(リマックスとトランスコードの違い)、入力/出力のシーク、エンコードのクイックリファレンス(H264/H265/VP9 の CRF 範囲)、GPU アクセラレーションの概要、format=yuv420p、-movflags +faststart |
references/audio-processing.md | 音声の置き換え、音声の抽出、音声のミックス、MP3 トラックの結合、クロスフェード、音声形式の変更、結合とノーマライズ |
references/advanced-editing.md | 再生速度、FPS の変更、ジャンプカット、ソーシャルメディア向けの動画クロップ、drawtext オーバーレイ、字幕(焼き込み/埋め込み/抽出)、メディアの結合(オーバーレイ、ロゴ、背景、イントロ/本編/アウトロの結合、vstack) |
references/asset-generation.md | 画像から動画を作成、フェード付きスライドショー、ケン・バーンズ効果(zoompan)、GIF、フェード付き動画コンピレーション、サムネイル(単一/複数/シーン)、画像サムネイル、ストーリーボード(シーンのタイル表示/キーフレーム/N 番目のフレーム) |
references/encoding-and-settings.md | 日常使いに最適化されたコマンド、H264(libx264)の詳細解説、H265(libx265)の Apple 互換性、VP9(libvpx-vp9)の固定品質、1 パスと 2 パス、-c copy の詳細、シークの詳細、GPU の詳細(Nvidia/Intel/AMD) |