如何将MP4或FLV视频文件中的音频转换为mp3?

有没有一款应用程序可以让我从MP4或FLV视频文件中提取音频,并将其以MP3格式存储,以便在便携式媒体播放器中使用?

1从技术上讲,你不能这样做,但你可以将视频中的声音提取出来,转换为MP3格式。 - TheXed
2mp4flv视频文件都包含aac音频。将该音频转换为mp3很容易,但在损失格式之间进行转换可能会遇到一些问题。必须考虑输入和输出的比特率。请参阅此问题下不同答案中的讨论。也许最好的解决方案是保持音频以aac格式,并放在m4a容器中 - 更多信息请参见这里 - user47206
2@cipricus mp4flv视频文件都可以包含多种格式的声音,包括aacmp3。例如,FLV容器规范中提到了不少于15种支持的声音编解码器/类型。 - octavn
@OctavianNaicu - 你是对的。我的评论旨在推广保留音频而不进行转换的想法。无论格式如何,这都是一个好主意,但当然事先应该使用像mediainfo这样的工具来了解具体的音频格式。(另一方面,由于flv和mp4是YouTube视频的常见格式,其中包含AAC音频,我想象中问题隐含地指的是YouTube。) - user47206
我同意你的观点,如果可能的话,音频不应该转换。我试图传达的是容器可以包含不同格式的音频数据,你需要查看格式/编解码器而不是容器。根据源音频格式的不同,可能需要对音频进行转码(例如从mp4中的aacmp3中的mp3),或者只需将其复制到新容器中(从mp4中的mp3mp3中的mp3)。 - octavn
11个回答

你可以在12.04版本中使用多个软件来完成同样的操作。
使用WinFF
  1. 首先安装winff和libavcodec-extra

    sudo apt-get install winff libavcodec-extra
    
  2. 从Dash中打开Winff

    enter image description here

  3. 然后在Winff窗口中进行以下操作

    1. 添加文件

    2. 选择要转换的类别(选择音频)

    3. 选择音频文件格式(mp3)

    4. 输入转换文件的输出文件夹

    enter image description here

    1. 然后点击转换按钮。您还可以点击选项按钮来调整音频格式和其他选项。

    enter image description here

    enter image description here

使用VLC播放器

  1. 首先安装VLC和"libavcodec-extra"软件包

    sudo apt-get install vlc libavcodec-extra
    
  2. 按下Super键并在dash中输入"VLC",打开VLC

    enter image description here

  3. 然后从顶部菜单选择媒体转换/保存

    enter image description here

  4. 在新窗口中添加要转换的文件,然后点击转换按钮

    enter image description here

  5. 在新窗口中,选择输出文件的目录,选择转换配置文件(音频mp3),然后点击开始按钮

    enter image description here

使用命令行
  1. 首先安装工具

    sudo apt-get install ffmpeg libavcodec-extra libav-tools
    

    如果您正在使用

  2. 使用以下简单命令提取音频文件

    avconv -i /带路径的输入文件名 输出文件名.mp3
    

    例如,要将 "How fast.ogg" 视频文件转换为 how-fast.mp3,请使用以下命令:

    avconv -i /usr/share/example-content/Ubuntu_Free_Culture_Showcase/How\ fast.ogg how-fast.mp3
    

    有关更多选项和信息,请参阅手册页面

只提取音频

查看这些答案


1我觉得在命令行中,libavcodec-extra-53软件包非常重要。在安装它之前,我无法成功转换为mp3格式。 - Arpad Horvath
1@ArpaD,那不就是我在回答中说的吗? - Anwar
1抱歉。我没有想到,从我的评论来看,似乎你的描述中一切都不好。我只是很高兴意识到,通过命令行使用那个软件包是如此简单。我会自我调节的。 - Arpad Horvath
@ArpaD 没问题。我对你的评论感到困惑。谢谢。现在我明白了,它是在验证我的答案。 - Anwar
太棒了!回答非常详细清晰,非常感谢!这真的帮我解决了一个大难题! - IcyFlame
2出色的回答。干得好。 - kevinarpe
在旧版本的Ubuntu中,你可以使用sudo apt-get install winff libavcodec-extra-52。我还想指出,winff可以从命令行运行,并且对于我来说,需要root权限来进行转换。 - j0h
现在这个方法不起作用了...sudo apt-get install winff libavcodec-extra53会得到以下输出:包libavcodec-extra-53不可用,但被另一个包所引用。这可能意味着该包已丢失、已过时或只能从其他来源获取。然而,以下包可以替代它:libav-tools:i386 libav-toolsE: 包'libavcodec-extra-53'没有可安装的候选项 - Vineet Kaushik
@VineetKaushik 你应该将 libavcodec-extra53 替换为 libavcodec-extra-54。感谢反馈。 - Anwar
4现在我认为是56。但为什么不直接安装libavcodec-extra元包呢? - Hitechcomputergeek
这个答案很棒,只是漏掉了声音转换器,我认为这是最简单的方法! - ttoine
3+1 for avconv. 我已经寻找了很长时间一个简单的命令行方式来做这个! - HighCommander4

你可以使用ffmpeg完成。使用以下命令安装ffmpeg:

sudo apt-get install ffmpeg libavcodec-unstripped-52

软件包libavcodec-unstripped-52在Multiverse仓库中可用,因此您需要启用它。
安装这些软件包后,您可以使用类似下面的命令将音频提取为mp3格式:
ffmpeg -i video.mp4 -f mp3 -ab 192000 -vn music.mp3

上述命令中的-i选项很简单:它是输入文件的路径。第二个选项-f mp3告诉ffmpeg输出为mp3格式。第三个选项即-ab 192000告诉ffmpeg我们希望以192Kbps进行编码,-vn告诉ffmpeg我们不需要视频。最后一个参数是输出文件的名称。

1我在ffmpeg上进行了更多的搜索,我找到了这个很棒的指南http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs - b-ak
3我更喜欢更新的音视频转换器avconv。语法与ffmpeg类似:'avconv -i input.mp4 -vn -qscale 1 output.mp3' ... -qscale 1确保最大质量(和可变比特率),编码器类型由输出文件扩展名推断。 - arielf
FFmpeg现在来自于libav-tools。 - Mittenchops
1运行该程序时,它会显示:*** 此程序已过时 *** 该程序仅用于兼容性,并将在未来版本中删除。请改用 avconv。 - melmi
好答案,因为可以在Mac OS上使用ffmpeg,我不需要切换到Ubuntu :) - kelin
@M.Elmi 如果这个答案是正确的,FFmpeg并没有被弃用。请参考链接:https://stackoverflow.com/a/9477756/813946 - Arpad Horvath
新的mp3文件比源视频还要大,真奇怪:a@a-Inspiron-660 ~/Video $ ll _-M8J8urC_8Jw.mkv music.mp3 -rw-rw-r-- 1 a a 26844523 gen 23 2019 _-M8J8urC_8Jw.mkv -rw-rw-r-- 1 a a 31069582 ott 26 12:02 music.mp3 a@a-Inspiron-660 ~/Video $ - Augusto

soundconverter是另一个可以将音频格式转换为纯音频的工具,同时也可以将视频转换为音频。

Install via the software center

或通过终端:

sudo apt-get install soundconverter


我不得不执行sudo apt-get install ubuntu-restricted-extras命令来启用将文件转换为mp3格式。 - wordsforthewise

使用WinFF(安装它)非常容易操作,它是ffmpeg的图形用户界面。
  1. 点击添加。
  2. 选择一个视频文件。
  3. 在转换为中,选择音频。
  4. 选择一个音频编解码器。
  5. 点击转换。(请注意,如果窗口太小,转换按钮有时会消失。如果看不到,请将窗口放大)

完成。截图:

enter image description here


Audacity还可以打开FLV文件并将其导出为MP3、FLAC和其他格式。

enter image description here

enter image description here


我最喜欢的方法是在Thunar自定义操作中使用“gnome-terminal -e"avconv -i %f %f.mp3"”。更好的是,为了获得192 kbps的恒定比特率:
“avconv -i %f -c:a libmp3lame -ac 2 -b:a 190k %f.mp3”
实际上,flv(和mp4)文件中的音频是以aac格式存储的。为了尽可能接近原始声音的质量,请考虑将aac放入m4a容器中。如果必须使用mp3格式,请在转换为mp3时考虑aac文件的初始比特率。更多信息请参考这里

soundconverter 安装soundconverter是另一个可以将音频格式转换为音频的工具,也可以将视频转换为仅音频的工具。
它可以在软件中心中安装(点击上面的链接)或者通过在终端中运行以下命令进行安装(按下Ctrl+Alt+T):
sudo apt-get update
sudo apt-get install soundconverter

你有试过在SoundConverter中将FLV转换为MP3吗?虽然将MP4视频转换为MP3可以正常工作,但在我的情况下,它无限地进行转换,却没有任何结果,而WinFF则可以在几秒钟内将FLV文件转换完成。 - user47206
还要安装ubuntu-restricted-extras以进行mp3转换。 - wordsforthewise

你可以使用 VLC 播放器转换你的媒体文件。 加载一个媒体文件 => 转换方法:菜单栏 -> 媒体 -> 转换/保存。

谢谢你的建议。我已经使用VLC一段时间了,但是我不知道这个功能。 - Mysterio

你可以用一个简单的命令来实现这个:
ffmpeg -i yourVideoInput.mp4 theAudioOutput.mp3

在最新的Ubuntu版本中找不到aconv,但是ffmpeg可以像上面一样工作。 - undefined

mkvtoolnix 是一个很好的软件包,它可以同时按照音轨、章节或特定时间提取内容。
mkvmerge -i <input_video>

跟踪ID 0:视频(MPEG-4p10/AVC/h.264) 跟踪ID 1:音频(AC-3/E-AC-3) 跟踪ID 2:音频(AC-3/E-AC-3)
您想从每个章节中提取TrackID 2(假设是长视频)
mkvmerge -o <output_audio> --audio-tracks 2 --no-video --split chapters:all <input_video>  

你会得到带有编号的文件,如output_audio001、output_audio002...
然后将每个音频文件转换为mp3格式。

Transmageddon

你还可以使用Transmagedon视频转换器将视频文件转换为音频文件。

Install via the software center

或者在终端中:

sudo apt-get install transmageddon

要转换为MP4,您必须在“选择视频编解码器”中选择“无视频”。
可以通过将“预设”设置为Ogg来转换为.ogg。

enter image description here