我需要使用ffmpeg将音频文件转换为mp3。

当我把命令写成ffmpeg -i audio时。ogg -acodec 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编解码器没有安装。我的思路对吗?


当前回答

没关系,

我正在使用命令将我的音频文件转换为mp2:

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

这个命令非常有效。

我知道这实际上将文件转换为mp2格式,但结果文件大小是相同的..

其他回答

使用之前的答案,这里是一个别名,通过将以下添加到.bashrc/.zshrc:

alias convert-aac="cd ~/Downloads && aac-to-mp3"

# Convert all .aac files into .mp3 files in the current folder, don't convert if a mp3 file already exists
aac-to-mp3(){
    find . -type f -iname "*.aac" -exec \
        bash -c 'file="$1"; ffmpeg -n -i "$file" -acodec libmp3lame "${file%.aac}.mp3";' _ '{}' \;
}

用法: Convert-aac (shell)

感谢https://stackoverflow.com/a/70339561/2391795, https://stackoverflow.com/a/12952172/2391795和https://unix.stackexchange.com/a/683488/60329

我必须清除我的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

我将解释如何转换webm到mp3的mac,我猜linux它也工作。

安装ffmpeg (mac)或sudo apt安装ffmpeg (linux) 创建shell脚本-打开文本编辑器,把以下代码放在里面:

#!/bin/bash

echo webm to mp3 converter! Work begins! 
for FILE in *.webm; do     
    echo -e "Processing file '$FILE'";
    ffmpeg -i "${FILE}" -vn -ab 128k -ar 44100 -y "${FILE%.webm}.mp3";
done;

这段代码将查看当前目录中所有扩展名为.webm的文件。

保存没有扩展名的文件(例如“my-converter”) 通过终端导航到创建的文件 通过输入命令:chmod 700 my-converter使文件成为executabe,现在将在同一目录下创建unix可执行文件(.sh)。 通过输入:./my-converter从终端执行文件,进程开始,你会在终端窗口中看到进程。

完成了。

你可以使用这个命令:

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

本例中使用的参数说明:

-i - input file -vn - Disable video, to make sure no video (including album cover image) is included if the source would be a video file -ar - Set the audio sampling frequency. For output streams it is set by default to the frequency of the corresponding input stream. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options. -ac - Set the number of audio channels. For output streams it is set by default to the number of input audio channels. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options. So used here to make sure it is stereo (2 channels) -b:a - Converts the audio bitrate to be exact 192kbit per second

如果你有一个文件夹和子文件夹里都是你想转换的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"