我需要使用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编解码器。我在这里走在正确的轨道上吗?
答案 0 :(得分:141)
您可以使用此命令:
ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3
此示例中使用的参数的说明:
-i
- 输入文件
-vn
- 禁用视频,以确保如果源是视频文件,则不包含视频(包括专辑封面图片)
-ar
- 设置音频采样频率。对于输出流,默认情况下将其设置为相应输入流的频率。对于输入流,此选项仅对音频抓取设备和原始分路器有意义,并映射到相应的分路器选项。
-ac
- 设置音频通道数。对于输出流,默认设置为输入音频通道的数量。对于输入流,此选项仅对音频抓取设备和原始分路器有意义,并映射到相应的分路器选项。这里用来确保它是立体声(2声道)
-b:a
- 将音频比特率转换为每秒192kbit
答案 1 :(得分:37)
1)wav to mp3
ffmpeg -i audio.wav -acodec libmp3lame audio.mp3
2)ogg to mp3
ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3
3)ac3 to mp3
ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3
4)aac to mp3
ffmpeg -i audio.aac -acodec libmp3lame audio.mp3
答案 2 :(得分:17)
答案 3 :(得分:10)
对于文件夹中文件的批处理,目标是190 VBR,文件扩展名= .mp3而不是.ac3.mp3,您可以使用以下代码
将.ac3更改为源音频格式。
for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done
答案 4 :(得分:9)
我不得不清除我的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
答案 5 :(得分:8)
对于文件夹中的批处理文件:
for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done
此脚本将文件夹中的所有“wav”文件转换为mp3文件并添加mp3扩展名
必须安装ffmpeg 。 (见其他答案)
答案 6 :(得分:3)
如here所述,ffmpeg
将检测到输入和输出扩展名,因此无需担心格式,只需运行以下命令:
ffmpeg -i inputFile.ogg outputFile.mp3
答案 7 :(得分:2)
https://trac.ffmpeg.org/wiki/Encode/MP3
VBR编码:
ffmpeg -vn -ar 44100 -ac 2 -q:a 1 -codec:a libmp3lame output.mp3
答案 8 :(得分:1)
尝试FFmpeg Static Build Link
文档:https://www.johnvansickle.com/ffmpeg/
在同一目录中托管服务器上的静态版本
$ffmpeg = dirname(__FILE__).'/ffmpeg';
$command = $ffmpeg.'ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3';
shell_exec($command);
答案 9 :(得分:1)
Mac OS的高品质完美表现!
ffmpeg -i input.wma -q:a 0 output.mp3
答案 10 :(得分:0)
如果您有一个要转换的wav文件夹和子文件夹,请将以下命令放在文件中,将其保存在要转换的文件夹根目录下的.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"
答案 11 :(得分:0)
我将解释如何将 webm 转换为 Macs 的 mp3,我想对于 linux 它也适用。
brew install ffmpeg
(mac) 或 sudo apt install ffmpeg
(linux)#!/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 的文件。
chmod 700 my-converter
,现在将在同一目录中创建 unix 可执行文件 (.sh)。./my-converter
并开始该过程,您将在终端窗口中看到进度。完成。