条件
- 入力ファイル
- CD形式の音声 44.1kHz Stereo 16bit
- ffmpeg
- ffmpeg version 2.4.git (Linuxでソースコードからコンパイルしたもの)
- 必要に応じてコーデックのライブラリもインストールしていること
WAVからFLACへ変換
ffmpeg -i "input.wav" -vn -ar 44100 -ac 2 -acodec flac -f flac "output.flac"
FLAC形式にすれば、音を劣化させずに容量を節約できます。
曲にも依りますがおよそ7割程のサイズになります (wav:50MB→flac:35MB程度)
WAVからMP3へ変換
ffmpeg -i "input.wav" -vn -ac 2 -ar 44100 -ab 256k -acodec libmp3lame -f mp3 "output.mp3"
ビットレートはabオプションで指定します。個人的な感覚ですが、音の違いが判ったは160kと192kまででしたので、それより少し上でキリが良い数値の256kを使ってます
WAVからWindows Media形式へ変換
ffmpeg -i "input.wav" -vn -ac 2 -ar 44100 -ab 128k -acodec wmav2 -f asf "output.wma"
Windows Mediaの拡張子は wma または asf となりますが、どちらも同じファイルです
WAVからOgg Vorbis形式へ変換
ffmpeg -i "input.wav" -vn -ac 2 -ar 44100 -ab 128k -acodec libvorbis -f ogg "output.ogg"
WAVからAAC形式へ変換
ffmpeg -i "input.wav" -vn -ac 2 -ar 44100 -ab 128k -acodec libfaac -f mp4 "output.m4a"
コーデックにlibfdk_aacが使用できる場合、こちらの方が音質が良くなりますが、一部のプレイヤでは再生できなくなるようですのでご注意ください。質を上げるためにオプションに"-profile:a aac_he -afterburner 1"を追加します。このオプションを指定しないと、話し声向けのプロファイルでエンコードされてしまい、音が悪くなってしまいます
ffmpeg -i "input.wav" -vn -ac 2 -ar 44100 -ab 128k -acodec libfdk_aac -profile:a aac_he -afterburner 1 -f mp4 "output.m4a"
MP3からWAVへ変換
ffmpeg -i "input.mp3" -vn -ac 2 -ar 44100 -acodec pcm_s16le -f wav "output.wav"
補足
- ar のオプションは省略すると入力ファイルと同じサンプリングレートでエンコードされます
- 最近のffmpegでは、オプションが変わっているようです。"ab"は"b:a"のような形になります。オプションの警告が出た場合は、それに従ってください