如何使用 FFmpeg 将 FLAC 转换为 MP3?
我尝试过的:
ffmpeg -i "file.flac" "file.mp3"
Stream mapping:
Stream #0:0 -> #0:0 (flac -> ?)
Encoder (codec none) not found for output stream #0:0
file.mp3 is empty
ffmpeg -codecs | grep flac
ffmpeg version N-46093-g14f69a0 Copyright (c) 2000-2012 the FFmpeg developers
built on Oct 28 2012 15:24:03 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
configuration: --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-pic --enable-thumb --enable-libfaac --enable-gpl --enable-nonfree
libavutil 52. 1.100 / 52. 1.100
libavcodec 54. 69.100 / 54. 69.100
libavformat 54. 35.100 / 54. 35.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 20.106 / 3. 20.106
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100
DEA..S flac FLAC (Free Lossless Audio Codec)
ffmpeg -codecs | grep mp3
ffmpeg version N-46093-g14f69a0 Copyright (c) 2000-2012 the FFmpeg developers
built on Oct 28 2012 15:24:03 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
configuration: --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-pic --enable-thumb --enable-libfaac --enable-gpl --enable-nonfree
libavutil 52. 1.100 / 52. 1.100
libavcodec 54. 69.100 / 54. 69.100
libavformat 54. 35.100 / 54. 35.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 20.106 / 3. 20.106
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100
D.A.L. mp3 MP3 (MPEG audio layer 3) (decoders: mp3 mp3float )
D.A.L. mp3adu ADU (Application Data Unit) MP3 (MPEG audio layer 3) (decoders: mp3adu mp3adufloat )
D.A.L. mp3on4 MP3onMP4 (decoders: mp3on4 mp3on4float )
答案1
您的 FFmpeg 版本没有 MP3 编码器。它只能解码,如命令行输出中的“D”所示。
如果你自己构建了它,请先安装 LAME — 这取决于你的发行版 — 然后重新配置它--with-libmp3lame
。
或者选择静态构建来自 FFmpeg 下载页面。
这应该可以让您访问事实上的标准 MP3 编码器。