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.264libx264-c:v libx264
H.264(代替)libopenh264-c:v libopenh264
H.265/HEVClibx265-c:v libx265
AV1libaom-av1-c:v libaom-av1
AV1(高速)libsvtav1-c:v libsvtav1
VP9libvpx-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 チートシート

関連記事


動作確認: ffmpeg 6.1.1 / Ubuntu 24.04
一次ソース: ffmpeg.org/ffmpeg-codecs.html