将 MP4 视频中的音频提取为 MP3

将 MP4 视频中的音频提取为 MP3

我下载了一些 MP4 编码的视频,我想将其中的音频流提取成 MP3 文件,以便在我的数字播放器上轻松收听。

最有可能的是,VLC 可以做到这一点,但是按照论坛上的说明进行操作发出了“冒泡”的声音文件。

以下是文件规格:

  • 音频 mp4a 44100 Hz
  • 视频 AVC1

答案1

使用ffmpeg

ffmpeg -i 输入文件.mp4 -vn -b:a 128k -c:a libmp3lame 输出文件.mp3

(不要忘记调整音频比特率,-b:a否则即使是低质量的源,您也可能会得到一个巨大的文件。)

许多数字播放器实际上也支持 AAC 音频,因此您可以尝试提取原始 AAC 音频流,而不必进一步降低质量:

ffmpeg -i 输入文件.mp4 -vn -c:a 复制 输出文件.m4a

对于旧版本的 ffmpeg,您需要使用-ab&-acodec选项而不是-b:a& -c:a

答案2

大多数 MP4 视频使用 AAC 音频,大多数播放器设备都可以播放 AAC 音频,通常是 M4A(不同名称的 MP4)容器。重新编码为 MP3,尤其是低比特率输入(大多数互联网视频),可能会导致明显的损失,即使在低端耳机上也是如此。我建议在命令行上使用avconv/ffmpeg

avconv -i input.mp4 -vn -c:a copy output.m4a

或者

ffmpeg -i input.mp4 -vn -c:a copy output.m4a

要转换目录中的每个 MP4:

for f in *.mp4; do avconv -i "$f" -vn -c:a copy "${f/mp4/m4a}"; done

有些播放器(比如我的廉价手机)可以播放 AAC 音频,但不能播放 M4A 格式的音频,因此你必须使用

avconv -i input.mp4 -vn -c:a copy output.aac

现在,一些老款设备确实不能播放 MP3 以外的任何格式,对于这些设备,你可以使用 Grawity 的解决方案,或者

avconv -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3

这将创建一个可变比特率 (VBR) MP3,除了流媒体等特殊需求外,它应该是首选。-q:a 2将获得平均(多个文件)比特率约为 190 kbit/s;有关编码 VBR MP3 的更多信息,请参阅这里

答案3

如果你更喜欢 GUI,超级©(简化的通用播放器编码器和渲染器)。它可以完成这项工作(甚至更多)。

SUPER © 是 FFmpeg、MEncoder、MPlayer、x264、musepack、monkey's audio、true audio、wavpack、ffmpeg2theora 和 theora/vorbis RealProducer 插件的 GUI。

拖放任何音频文件甚至任何视频/音频文件并提炼通过检查音频部分禁用视频框,从而将其转换为:

  • 音频
  • AC3 的
  • amr_nb
  • amr_wb
  • 猿猴音频 (无损)
  • flac FLAC(无损)
  • 微信号
  • mp2
  • mp3
  • 进程控制
  • ogg FLAC(无损)或 Vorbis 高品质
  • tta 真实音频(无损)
  • wv WavPack(无损)
  • 音频
  • 音频

您可以通过检查流复制盒子,它可以提取内部音频而无需转换成其他格式。

SUPER © 是免费软件。

请注意,SUPER 与 OpenCandy 广告软件捆绑在一起。缓解措施:

  • 在虚拟机中安装
  • 安装第一步后禁用网络。安装程序会验证是否存在 Internet 连接。之后,您可以禁用它并忽略所有警告。我不完全确定这是否能防止全部但是,不要安装广告软件。
  • 您可以在安装后删除 OpenCandy:http://www.malwaredictionary.com/2011/06/opencandy/

答案4

gravity 的回答太棒了!补充一下,如果你想从 MP4 中提取音频并将其放入 MP3 中并保留元数据(MP3 ID3 标签),那么你可以这样做:

ffmpeg -i input_file.mp4 -map_metadata 0 -id3v2_version 3 -vn -b:a 128k -c:a libmp3lame output_file.mp3

相关内容