LoginSignup
166

More than 3 years have passed since last update.

[ffmpeg] 音声形式の変換方法まとめ

Last updated at Posted at 2015-03-05

条件

  • 入力ファイル
    • 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"のような形になります。オプションの警告が出た場合は、それに従ってください

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
166