このページについて
ffmpegでコーデックを変更する方法を解説。
ffmpegのインストール
ffmpegのインストール・基本的な使い方についてを御覧ください。
-codecの機能
-codecはコーデックを指定するオプションです。ffmpegで使用出来るコーデックはかなり多く、エンコード専用、デコード専用、映像専用、音声専用、字幕専用など用途が別れています。以下でまとめていますが、全てを見る必要はありません。このページでよく使うものだけ紹介します。

-codecは:で区切って変更するものを指定することが出来ます。例えば映像コーデックを変更するには以下の記述。
ffmpeg -i movie.mp4 -codec:v h264 出力.mp4
-codec:vで映像を、-coec:aで音声を指定します。そして省略して-c:vや-c:aなどの表記も出来ますが、今回は-codecで紹介します。
なお、-codecそのものを未指定の場合は元の動画からコピーしたり、変換先の拡張子に応じて自動でコーデックの選定が行われます。コーデックをコピーしたい場合は以下のようにcopyを記入します。
ffmpeg -i movie.mp4 -codec:v copy 出力.mov
ffmpegのコーデック選択について
ffmpegでは動画の拡張子などに応じて、ffmpegが自動で最適なコーデックを選定してくれます。つまりmp4にて出力する場合、映像コーデックはだいたいH.264とかになり、音声コーデックはAACあたりが選定されます。-codecオプションはこれらを任意のコーデックに指定するときに使います。
mp4に使用可能なコーデック
映像 | ||||
---|---|---|---|---|
mpeg-1 | mpeg-2 | mpeg-4 | H.264 | H.265 |
音声 | ||||
AAC | MP3 | MP2 | MP1 | TwinVQ |
CELP | Opus | |||
静止画 | ||||
Png | Jpeg |
WebMに使用可能なコーデック
映像 | ||
---|---|---|
VP8 | VP9 | AV1 |
音声 | ||
Vorbis | Opus |
movに使用可能なコーデック
映像 | |||
---|---|---|---|
H.261 | H.263 | MPEG-4 | H.264 |
音声 | |||
MP3 | AAC | ALAC |
ffmpegでコーデックを変更する
元動画のmovie.mp4は映像H.264で、音声はAACです。これを映像は変更せずに音声をAppleロスレス形式であるalacにする記述は以下。
ffmpeg -i movie.mp4 -codec:a alac 出力.mp4
これで完成した動画のコーデックを確認すると、音声がApple Losslessになっていると思います。
ffmpegで拡張子・コーデックともに変更する
元動画のmovie.mp4を映像H.264で、音声をalacに変更して拡張子をmov形式に変更するには以下の記述。
ffmpeg -i movie.mp4 -codec:a alac 出力.mov
拡張子をmovに変更しただけですが、movで使用可能なコーデックを指定する必要があるのでalacを指定しました。この際、コーデックを一切指定しない場合のデフォルトは映像H.264の音声AACになります。
ffmpegの関連記事
その他のオプションや使い方などは以下をどうぞ。