Twitterに投稿 はてなブックマークに追加 Google Bookmarksに追加

目次 >> ffmpeg >> ffmpegのオーディオコーデックの指定

ffmpegのオーディオコーデックの指定

オーディオコーデックは-codec:aもしくはそのエイリアスである-acodecで指定する。

音声が不要な場合は-anをつける。元々入っていない場合は作成されないので、不要。2パスエンコードの1パス目でつけると音声変換の時間分だけ短縮できる。
逆に音声だけ取り出す場合は、拡張子をmp3などにする。

AACでエンコードする

-codec:alibfdk_aac

mp3でエンコードする

-codec:a libmp3lame

opusでエンコードする

-codec:a libopus

orbisでエンコードする

-codec:a libvorbis

再エンコードを行わない

-acodec copyを指定すると、単純に抜き出される再エンコードが行われないので無劣化である。

-codec:a copy

オーディオコーデックの選び方

すでに圧縮された動画、音声とも再圧縮は極力避けるべきである。特に音声の場合、動画と比較してしめる容量も大きくないので、もしコンテナが元の音声形式をサポートしているなら、そのまま-acodec copyでコピーするのが良い。

ffmpegの公式ホームページのドキュメントによると、音質的には

libopus >= libvorbis >= libfdk_aac > libmp3lame > libfaac >= eac3/ac3 > aac > libtwolame > vorbis > mp2 > wmav2/wmav1 > libvo_aacenc

の順であるとのことである。このうち実際に使うのは、
コンテナがmp4、flvである場合は、mp3かaac、
webmである場合は、opusかvorbisであるので、

libopus >= libvorbis >= libfdk_aac > libmp3lame

であるので、まとめると

mp4もしくはflvなら

-codec:a libfdk_aac
-codec:a libmp3lame (AACが何らかの理由で使えない場合)

webmもしくはmkvなら

-codec:a libopus
-codec:a libvorbis (opusが利用できない理由がある場合)

ffmpegドキュメントによる許容範囲内といえる最小ビットレートは、opusが80kbps、vorbisが96kpbs、mp3が128kbpsである。
推奨ビットレートは、opus、vorbis、aacが128kbps以上、mp3が192kbps以上である。
ffmpegのデフォルトビットレートはこれより低いので注意が必要である。

最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて20.04、21.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2021 Chikuma Engineering Co., Ltd. All Rights Reserved.