FFmpegコーデックエラーの解決法
Unknown encoder 'libx264' や Encoder not found など、コーデック関連のエラーはFFmpegで最も多く遭遇するエラーのひとつです。本記事では代表的なエラーパターンとその解決策をまとめます。
動作確認: ffmpeg 6.1 で確認済み
エラー1: Unknown encoder / Encoder not found
エラーメッセージ
Unknown encoder 'libx264'
Encoder libx265 not found.
原因
FFmpegのビルド時に対象のコーデックライブラリが含まれていない場合に発生します。多くのLinuxディストリビューションではライセンス問題から最小構成でパッケージングされることがあります。
解決方法
1. 利用可能なエンコーダを確認する:
ffmpeg -encoders | grep 264
ffmpeg -encoders | grep 265
ffmpeg -encoders | grep hevc
2. フルビルド版のFFmpegをインストールする:
# Ubuntu / Debian — universe リポジトリから
sudo apt update && sudo apt install ffmpeg
# macOS — Homebrew(gpl + nonfree オプション付き)
brew install ffmpeg
# Windows — 公式サイトのフルビルド版
# https://ffmpeg.org/download.html から "full_build" をダウンロード
3. 代替エンコーダを使う:
| 目的 | 推奨エンコーダ | コマンド例 |
|---|---|---|
| H.264 | libx264 | -c:v libx264 |
| H.264(代替) | libopenh264 | -c:v libopenh264 |
| H.265/HEVC | libx265 | -c:v libx265 |
| AV1 | libaom-av1 | -c:v libaom-av1 |
| AV1(高速) | libsvtav1 | -c:v libsvtav1 |
| VP9 | libvpx-vp9 | -c:v libvpx-vp9 |
エラー2: codec not currently supported in container
エラーメッセージ
Encoder mpeg4 not supported in MPEG-4 Part 2 container.
または
Codec vp9 is not supported by the mp4 muxer.
原因
指定したコーデックと出力コンテナの組み合わせが非対応です。
解決方法
コンテナを変更する:
# VP9 は WebM コンテナを使う
ffmpeg -i input.mp4 -c:v libvpx-vp9 output.webm
# AV1 は MKV または WebM
ffmpeg -i input.mp4 -c:v libaom-av1 output.mkv
コーデックを変更する:
# MP4 コンテナなら H.264 を使う
ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4
エラー3: Requested output format ‘xxx’ is not a suitable output format
エラーメッセージ
Unable to find a suitable output format for 'output.mts'
原因
FFmpegが出力拡張子からフォーマットを判定できない場合です。
解決方法
-f でフォーマットを明示します:
ffmpeg -i input.mp4 -f mpegts output.mts
利用可能なフォーマット一覧:
ffmpeg -formats
エラー4: width/height not divisible by 2
エラーメッセージ
height not divisible by 2 (1280x721)
原因
H.264などは解像度の縦横が2の倍数である必要があります。
解決方法
ffmpeg -i input.mp4 -vf scale=1280:-2 output.mp4
-2 は「アスペクト比を保ちつつ2の倍数に調整」を意味します。
コーデックの互換性を事前確認
# 利用可能なエンコーダ一覧
ffmpeg -encoders
# 利用可能なデコーダ一覧
ffmpeg -decoders
# 特定コーデックの詳細
ffmpeg -h encoder=libx264
ビルドフラグを確認する方法
ffmpeg -buildconf | grep enable
--enable-libx264 や --enable-libx265 が含まれていればそのコーデックが使えます。
関連リソース
よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。
関連記事
動作確認: ffmpeg 6.1.1 / Ubuntu 24.04
一次ソース: ffmpeg.org/ffmpeg-codecs.html