ffmpegを使用してオーディオファイルをmp3に変換する


159

ffmpegを使用してオーディオファイルをmp3に変換する必要があります。

コマンドをと書くとffmpeg -i audio.ogg -acodec mp3 newfile.mp3、エラーが発生します。

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
Input #0, mp3, from 'ZHRE.mp3':
  Duration: 00:04:12.52, start: 0.000000, bitrate: 208 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
Output #0, mp3, to 'audio.mp3':
    Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0

私はこのコマンドも実行しました:

 ffmpeg -formats | grep mp3

これに応えて:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
 DE mp3             MPEG audio layer 3
 D A    mp3             MP3 (MPEG audio layer 3)
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3on4          MP3onMP4
 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra

mp3コーデックがインストールされていないようです。私はここで正しい軌道に乗っていますか?

回答:


230

次のコマンドを使用できます。

ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3

この例で使用されている引数の説明:

  • -i - 入力ファイル

  • -vn -ビデオを無効にし、ソースがビデオファイルの場合にビデオ(アルバムカバー画像を含む)が含まれないようにします。

  • -ar-オーディオのサンプリング周波数を設定します。出力ストリームの場合、対応する入力ストリームの周波数にデフォルトで設定されます。入力ストリームの場合、このオプションは、オーディオグラブデバイスとrawデマルチプレクサにのみ意味があり、対応するデマルチプレクサオプションにマップされます。

  • -ac-オーディオチャンネルの数を設定します。出力ストリームの場合、デフォルトで入力オーディオチャネルの数に設定されます。入力ストリームの場合、このオプションは、オーディオグラブデバイスとrawデマルチプレクサにのみ意味があり、対応するデマルチプレクサオプションにマップされます。したがって、ここではステレオ(2チャネル)であることを確認するために使用されます。

  • -b:a -オーディオのビットレートを正確に毎秒192kbitに変換します


5
これは、ffmpegビットレート引数の違いを示しています-qscale:aVBR -b:a用とCBR用です。ABRエンコードは可能ですが、別の場所で詳しく説明しています。
1934286

2
私は-b置き換えます:-qで:VBR〜192の代わりに、CBR与えるだろう2、
apanloco

@apanlocoの場合、-bを-qに変更すると、サウンドが完全に破壊されます。オプションをまったく使用しないか、回答で提示されたオプションを使用すると、ソースの.wavと実質的に同じように聞こえます。
Michael Teter

76

1)wavからmp3

ffmpeg -i audio.wav -acodec libmp3lame audio.mp3

2)mp3へのogg

ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3

3)ac3からmp3

ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3

4)aacからmp3

ffmpeg -i audio.aac -acodec libmp3lame audio.mp3

どのようにmp3ビットレートを指定しますか?
Suragch 16

4
-b:a 128k128 kbps を追加します。
Gyan

5
またacodecはなしでさらに短く:ffmpeg -i audio.aac audio.mp3
Timo

.mp3から.oggに変換する方法
Cristea Victor

18

気にしないで、

次のコマンドを使用して、オーディオファイルをmp2に変換しています。

ffmpeg -i input.wav -f mp2 output.mp3

このコマンドは完全に機能します。

これは実際にファイルをmp2形式に変換しますが、結果のファイルサイズは同じです。


2
Waveファイルを生成します
LtWorf 2014年

8
これはmp3ファイルにならない
m13r 2014年

2
サイズは同じですがこれらのmp2ファイルは mp3ではないため、Webブラウザー再生できません。フラッシュプレーヤーを使用する場合でも同様です。彼らが持っている唯一の利点は、エンコードに必要なCPUが少ないことですが、欠点はそれだけの価値はありません。
ダニエルF

3
これは、質問に正しく回答しないため、受け入れられた回答であってはなりません。
reinierpost

18

190 VBRおよび.ac3.mp3の代わりにファイル拡張子= .mp3を目的とするフォルダー内のファイルを使用したバッチ処理の場合、次のコードを使用できます。

.ac3をソースのオーディオ形式に変更します。

ffmpeg mp3設定

for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done

13

フォルダー内のファイルをバッチ処理する場合:

for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done

このスクリプトは、フォルダー内のすべての「wav」ファイルをmp3ファイルに変換し、mp3拡張子を追加します

ffmpegをインストールする必要があります。(他の回答を参照)


1
-f mp2MP2、MP3はないが生成されます。次のように変更します-f mp3
Gyan

3
上記のコマンドは、という名前のファイルを作成しますwav.mp3。正しいファイル拡張子を持つファイルを取得するには、コマンドを次のように変更します。for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%.*}.mp3"; doneつまり、の.*後に追加しi%ます。
スザナ2018

11

私はffmpegを削除してから、PPAから別のものをインストールする必要がありました。

sudo apt-get purge ffmpeg
sudo apt-add-repository -y ppa:jon-severinsson/ffmpeg 
sudo apt-get update 
sudo apt-get install ffmpeg

次に変換します:

 ffmpeg -i audio.ogg -f mp3 newfile.mp3

4
これは短い方法ですが、秒あたりの品質kbを指定する場合は、-ab 192k
wrivasを

7

ここで説明したよう入力と出力の拡張機能によって検出されますffmpegフォーマットを心配する必要はありませんので、単純に次のコマンドを実行します。

ffmpeg -i inputFile.ogg outputFile.mp3





0

変換したいwavでいっぱいのフォルダーとサブフォルダーがある場合は、以下のコマンドをファイルに入れ、変換したいフォルダーのルートにある.batファイルに保存してから、batファイルを実行します。

for /R %%g in (*.wav) do start /b /wait "" "C:\ffmpeg-4.0.1-win64-static\bin\ffmpeg" -threads 16 -i "%%g" -acodec libmp3lame "%%~dpng.mp3" && del "%%g"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.