ffmpeg-fundamentals-2025 について
ffmpeg-fundamentals-2025は、FFmpeg入門者向けの基本操作スキルです。一般的な変換、フィルター、メディア分析のコマンドを示し、詳しいレシピは参照ファイルにまとめています。
主な機能
- 01一般的な形式変換のガイド
- 02コーデックと品質設定
- 03拡大縮小、クロップ、回転フィルター
- 04ffprobeによるメディア分析
- 05音声抽出とトリミング
- 06バージョンとコマンド機能の確認
活用シーン
- 01一般的な動画形式間の変換
- 02エンコード品質やメディア寸法の調整
- 03動画のトリミングと音声抽出
- 04ファイルのコーデックと再生時間の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill ffmpeg-fundamentals-2025インストール後、Claude Code で/ffmpeg-fundamentals-2025を入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/common-operations.mdfilter-essentials.mdframe-manipulation.mdversion-history.mdvulkan-compute-codecs.mdvvc-h266-encoding.mdwhisper-transcription.md詳細
FFmpeg の基礎(2025)
7.1 LTS および 8.0.1 向けの FFmpeg 基礎知識です。この SKILL は簡潔なオーケストレーターであり、詳細なレシピや表は references/ にあります。
このスキルを使用するタイミング
FFmpeg の基本的な操作に使用します。
- FFmpeg を初めて使う方が構文を確認するとき
- 形式間(MP4、WebM、MKV、MOV)の基本的なトランスコード
- コーデックのオプションや品質設定の理解
- 簡単なフィルター操作(拡大縮小、クロップ、回転)
- ffprobe によるファイル分析
専門的なトピックについては、関連するスキルを参照してください。ハードウェアエンコード -> ffmpeg-hardware-acceleration、ストリーミング -> ffmpeg-streaming、Docker -> ffmpeg-docker-containers、高度なフィルターグラフ -> ffmpeg-filter-complex-patterns。
クイックリファレンス
| タスク | コマンドパターン |
|---|---|
| 形式を変換 | ffmpeg -i input.ext output.ext |
| 品質を設定(CRF) | -c:v libx264 -crf 23 |
| 動画を拡大縮小 | -vf "scale=1920:1080" |
| 動画をトリミング | -ss 00:00:10 -t 00:00:30 |
| 音声を抽出 | -vn -c:a aac output.m4a |
| ファイルを調査 | ffprobe -v error -show_format -show_streams file |
基本的なワークフロー
ffmpeg -versionで FFmpeg のバージョンを確認します。最新の安定版(8.0.1)または 7.1 LTS を推奨します。ffprobeで入力を調査し、コーデック、コンテナ、解像度、再生時間を確認します。- リマックス(
-c copy)するか、トランスコード(エンコーダーと品質を指定)するかを決めます。 - エンコーダーと品質設定を選択します(以下のコーデックリファレンスを参照)。
- 必要に応じてフィルターを追加します(
references/filter-essentials.mdおよびreferences/frame-manipulation.mdを参照)。 - 出力を確認します。再度調査し、再生時間、A/V 同期、ピクセル形式をチェックします。
基本的なコマンド構文
ffmpeg [global_options] {[input_options] -i input} ... {[output_options] output} ...
一般的な例:
# Basic transcode
ffmpeg -i input.mp4 output.mkv
# Specify codecs
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
# Copy streams without re-encoding (remux)
ffmpeg -i input.mkv -c copy output.mp4
# CRF quality mode
ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4
# Bitrate mode
ffmpeg -i input.mp4 -c:v libx264 -b:v 5M output.mp4
# Overwrite without prompting
ffmpeg -y -i input.mp4 output.mp4
# Show progress as parseable stats
ffmpeg -progress - -i input.mp4 output.mp4
オプションの順序、ストリーム指定子、形式ごとのオプション表について詳しくは、ffmpeg-command-syntax スキルを参照してください。
コーデックリファレンス(2025)
動画コーデック(ソフトウェア)
| コーデック | エンコーダー | 用途 | 品質 | 速度 |
|---|---|---|---|---|
| H.264/AVC | libx264 | 幅広い互換性 | 優秀 | 中速 |
| H.265/HEVC | libx265 | 4K、HDR、ストレージ効率 | 優秀 | 低速 |
| H.266/VVC | libvvenc | 次世代、8K | 最高 | 非常に低速 |
| AV1 | libsvtav1, libaom-av1 | Web ストリーミング、ロイヤリティフリー | 優秀 | 低速〜中速 |
| VP9 | libvpx-vp9 | WebM、YouTube | とても良い | 低速 |
| ProRes | prores_ks | プロ向け編集 | ロスレス | 高速 |
ハードウェアエンコーダー
| プラットフォーム | H.264 | H.265 | AV1 | VVC | FFv1 |
|---|---|---|---|---|---|
| NVIDIA | h264_nvenc | hevc_nvenc | av1_nvenc | - | - |
| Intel | h264_qsv | hevc_qsv | av1_qsv | - | - |
| AMD | h264_amf | hevc_amf | av1_amf | - | - |
| Apple | h264_videotoolbox | hevc_videotoolbox | - | - | - |
| Vulkan | h264_vulkan | hevc_vulkan | av1_vulkan (8.0+) | - | ffv1_vulkan (8.0+) |
ハードウェアデコーダー(FFmpeg 8.0+)
| プラットフォーム | VVC/H.266 | VP9 | ProRes RAW |
|---|---|---|---|
| VAAPI | vvc (8.0+) | 対応 | - |
| QSV | vvc_qsv (7.1+) | 対応 | - |
| Vulkan | - | vp9 (8.0+) | 対応 (8.0+) |
音声コーデック
| コーデック | エンコーダー | 用途 | ビットレート範囲 |
|---|---|---|---|
| AAC | aac, libfdk_aac | 汎用、ストリーミング | 96-320 kbps |
| MP3 | libmp3lame | 旧式環境との互換性 | 128-320 kbps |
| Opus | libopus | VoIP、ストリーミング、WebM | 32-256 kbps |
| FLAC | flac | ロスレスアーカイブ | 約900 kbps |
| AC3 | ac3 | DVD、Blu-ray | 384-640 kbps |
| EAC3 | eac3 | ストリーミング、Dolby Digital+ | 192-768 kbps |
調査と分析
# Get media info as JSON
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
# Get duration
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
# Get resolution
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 input.mp4
# Get codec
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 input.mp4
# Validate file
ffprobe -v error input.mp4 && echo "Valid" || echo "Invalid"
ベストプラクティス
パフォーマンス
- 最適なスレッド数を自動検出するには、
-threads 0を使用します。 - 高速シーク(精度が低くなる場合があります)には
-ssを-iの前に置きます。フレーム精度のシークには-iの後に置きます。 - 再エンコードを避けるため、可能な場合は
-c copyを使用します。 - 利用可能な場合はハードウェアアクセラレーションを使用します。
品質
- 1 パスエンコードでは、ビットレートより CRF を優先します。
- 圧縮率を高めるには、
-preset slowまたはそれより遅いプリセットを使用します。 - 適切な場合は、
-tuneオプション(film、animation、grain)を使用します。 - 幅広い互換性を確保するため、
-pix_fmt yuv420pを使用します。
互換性
- Web 用の MP4 ファイルには、
-movflags +faststartを使用します。 - Apple デバイスで HEVC を使用する場合は、
-vtag hvc1を指定します。 - 一括変換の前に、対象デバイスでテストします。
- 古いブラウザー向けに、代替形式を用意します。
エラーの防止
- まずサンプルファイルでコマンドをテストします。
- 詳細なログを記録するには、
-reportを使用します。 - 出力ファイルのサイズと再生時間を確認します。
- 変換後に映像と音声の同期を確認します。
機能の確認
ffmpeg -encoders # List encoders
ffmpeg -decoders # List decoders
ffmpeg -formats # List formats
ffmpeg -filters # List filters
ffmpeg -hwaccels # List hardware acceleration methods
ffmpeg -h encoder=libx264 # Encoder-specific options
終了コード:
- 0:成功
- 1:エラー(stderr を確認してください)
- 255:中断(Ctrl+C)
リファレンスマップ
詳細なレシピ、オプション一覧、FFmpeg 8.0 固有のガイド:
references/version-history.md- FFmpeg 8.0 / 7.1 LTS の機能一覧、更新戦略、公式リソースreferences/common-operations.md- 形式変換、スケーリング、トリミング、連結、音声、字幕、Whisper のレシピ、画像処理、出力の最適化(Web/iOS/Android)references/filter-essentials.md- 映像フィルター(-vf)、音声フィルター(-af)、複雑なフィルターグラフ、filter_complex の構文リファレンスreferences/frame-manipulation.md- フレームレート、setpts、select、サムネイル、タイル、フリーズ、ループ、逆再生references/whisper-transcription.md- 音声認識と字幕生成のための Whisper AI フィルターreferences/vvc-h266-encoding.md- libvvenc による VVC/H.266 エンコードとハードウェアデコードreferences/vulkan-compute-codecs.md- Vulkan コンピュートベースのコーデック(FFv1、AV1、VP9、ProRes RAW)
さらに詳しくは、ffmpeg-filter-complex-patterns、ffmpeg-hardware-acceleration、ffmpeg-streaming、ffmpeg-captions-subtitles、ffmpeg-audio-processing を参照してください。