基本形
FFmpegの基本的な変換のコマンドは以下のようにします。
ffmpeg -i town.flac town.mp3
-i
の直後が入力(input)ファイルで、最後の項目が出力ファイルです。
このままだと、毎回コピーライトやビルドオプション等も表示されるので、
ffmpeg -hide_banner -i town.flac town.mp3
とし、必要な情報だけを表示させます。
出力ファイルを上書きする場合は、-y
と指定します。
ffmpeg -hide_banner -y -i town.flac town.mp3
以下は、簡略化の為、これらのオプションは省略します。
コーデック
出力ファイルの拡張子(この場合はmp3)で、コーデックが自動で適用されますが、指定する場合は、
ffmpeg -i town.flac -c:a libmp3lame town.mp3
これは、上記のコマンドと同じ結果になります。
c
はcodec,a
はaudioで、-c:a
の代わりに-acodec
とも指定します。
コーデックの詳細は、
ffmpeg -h encoder=libmp3lame
-h
はヘルプオプションで、その次にencoder=コーデック
と指定します。
コーデックの一覧は公式のドキュメントで確認しました。
ビットレート
mp3・ogg・m4aなどの不可逆圧縮形式ではビットレートを指定します。
CBR(固定ビットレート)の場合は、
ffmpeg -i town.flac -b:a 320k town.mp3
-b:a
の直後に数値を指定します。
この数値の基本単位がbpsなので、k
(=1000)を付けてkbpsとします。
仕様では、例えばmp3だと、8k、16kといった指定も出来るのですが、自分が聞いた限りで、libmp3lameだと80k、libvorbisだと64k、libfdk_aacは48kが、曲としてギリギリ聞ける範囲でしたので、サイトの方ではそれらをビットレートの下限にしています。
VBR(可変ビットレート)の場合は、
ffmpeg -i town.flac -q:a 1 town.mp3
-q:a
の後に、品質(quality)の数値を指定します。
使用するコーデックによっては、-q:a
の代わりに-vbr
と指定します。
ffmpeg -i town.flac -c:a libfdk_aac -vbr 1 town.m4a
この数値の範囲は、上記のヘルプオプションや、wiki等を参考にしました。
URL: sac.ringil-music.com
環境: さくらのVPS・Centos7・Nginx・PHP-FPM