Command Palette

Search for a command to run...

您的 MP4 已包含已完成的音频文件

您的 MP4 已包含已完成的音频文件

T
Toolz Team
|Oct 21, 2026|23 最小读数
Google 上的首选 Toolz.dev

转换器集合的一部分

Audio Extractor

Pull the audio track out of a video in your browser, losslessly where the format allows

用Audio Extractor

有人让我从 40 分钟的讲座录音中获取声音,这样它就可以在电话上进行通勤。 我首先做了明显的事情,即将其转换为 MP3,并花了几分钟时间生成了一个比已经放入视频中的音频大一点的文件。 然后我做了我应该先做的事情,然后把曲目复制出来。 不到一秒钟,文件更小,音频与录音机捕获的内容相同。 第二种方法不是技巧或捷径。 这是文件格式的设计,几乎每个回答这个问题的转换器都忽略了它。

TL;博士: MP4 或 MOV 通常带有 AAC 音频,而 M4A 是同一系列的纯音频容器中的 AAC,因此可以直接复制轨道,无需解码且不会丢失。 在 60 秒的测试剪辑上测量:副本在 0.04 秒内完成,提取的音频流与视频中的流具有相同的 MD5。 以 192 kbps 的速度将相同的音频编码为 MP3 需要 0.36 秒,生成的文件增加了 48%,并经历了不需要的第二轮有损压缩。 除非下游有什么东西拒绝,否则选择 M4A,当编辑器或转录员想要 PCM 时选择 WAV,并仅在读取其他内容的设备上选择 MP3。 那个 音频提取器 三个在浏览器选项卡中,因此记录的会议永远不会离开机器。

MP4 的音轨里面有什么?

MP4 是一个容器,这意味着它是一个归档系统而不是一种格式。 它里面是独立的流:一台拿着压缩的图片,一张拿着压缩的声音,有时是字幕轨道和章节标记。 容器描述了每个开始的位置、运行的时间和使用的编解码器,这几乎就是它的全部功能。

MP4 中的声音流几乎总是 AAC。 这就是 iPhone 生产的产品、Mac 屏幕录制产生的内容、快速导出产生的效果、无人机生产的产品,以及每台写 MP4 或 MOV 的相机大约 15 年生产的产品。 有例外,大多数是 MP4 包装内的 MP3 音频的较旧文件,以及带有未压缩 PCM 的专业格式,但 AAC 是压倒性的默认设置。

这可以在您拥有的任何文件上进行检查。 ffprobe 将在一行中告诉您,大多数视频播放器中的文件检查器也将告诉您。 在我为本指南构建的测试剪辑中,音频流报告为 aac, 44100 Hz, stereo, 128158 bit/s,这是一个普通的相机级记录。

有用的结果是下一节中的一个。 一旦你知道流是 AAC,你就知道 M4A 可以在不触摸它的情况下握住它。

为什么音频可以在不转换的情况下出现?

因为 m4a 是同一个容器,视频部分被遗漏了。

MP4 和 M4A 都是 ISO 基础媒体文件格式的配置文件,其结构标准化为 ISO/IEC 14496-12,由 MP4、M4A、M4V、MOV 和其他一些人共享。 它源于 Apple 的 QuickTime 格式,其 盒子布局仍然完整记录 并作为 MP4 的描述,因为它几乎是其中之一。 框的布局方式相同,样本表的工作方式相同,写入一个的 AAC 轨道是字节,字节是字节,写入另一个。 扩展的不同,因此操作系统知道是否要打开播放器窗口,这就是扩展的大部分用途。

因此,从 MP4 中提取音频到 M4A 不是转换。 它是一个remux:音频样本从一个容器中读取并写入另一个,任何时候都不涉及解码器或编码器。 没有任何东西被解释,所以没有什么可以降级。

这与导致视频方面更大误解的区别相同,包括在 视频格式指南:更换包装器接近自由,改变内部的压缩不是。 音频提取是免费选项也是正确的一种情况,这比它应该的更为罕见。

在ffmpeg术语中,整个操作是四个参数:

ffmpeg -i recording.mp4 -vn -acodec copy recording.m4a

-vn 删除视频流。 把它放在外面,FFmpeg 试图将图片带入一个无处可放的容器中,这会产生一个你的音乐播放器拒绝打开的 M4A。 -acodec copy 是使它无损的部分:它告诉 ffmpeg 将样本传递而不是将它们交给编码器。

你怎么知道副本真的没有丢失任何东西?

因为你可以在之前和之后对流进行哈希,并且两个哈希匹配。

我构建了一个 60 秒的测试文件,1280x720 H.264 视频,带有 128 kbps 立体声 AAC 轨道,总共 19 MB。 然后我在视频中对音频流进行了散列,将音频复制出来,然后再次散列:

$ ffmpeg -i src.mp4 -vn -c:a copy -f md5 -
MD5=650032f86f01780991c64c30bd02f71b

$ ffmpeg -i src.mp4 -vn -acodec copy out.m4a
real 0.04

$ ffmpeg -i out.m4a -c:a copy -f md5 -
MD5=650032f86f01780991c64c30bd02f71b

同样的摘要,因此 M4A 中的压缩音频数据是来自视频的压缩音频数据,没有一位改变。 提取的文件为 950 kb,整个操作耗时 0.04 秒,这大约是从 SSD 中读取 19 MB 所需的时间。

该测试值得在您自己的文件上运行,而不是信任,因为这是从声称是一个的转换中分辨出真实副本的唯一方法。 如果这两个哈希值不同,则在告诉您没有的情况下重新编码了您的音频。

选择 MP3 代替您花费什么?

第二代有损压缩,加上更大的文件。

AAC 和 MP3 都通过丢弃心理声学模型预测您无法听到的内容来工作,他们不同意那是什么。 他们将信号分成不同数量的频段,它们对掩蔽的方式不同,并且它们处理突发的瞬态不同。 因此,当 MP3 编码器被交给 AAC 文件的解码输出时,它无法判断哪些部分来自麦克风,哪些部分来自麦克风,哪些部分留下了。 它花费一些东西来保存两者,并丢弃了第一次通过的一些东西。

这是通过每条路径的相同60秒剪辑:

输出 它是如何制作的 尺寸 工夫 进一步损失
多功能 复制了 AAC 流 972,706字节 0.04 秒 无,哈希相同
MP3 192 kbps 解码,用跛脚重新编码 1,441,479 字节 0.36 秒 是的,第二代
波 解码为 16 位 PCM 10,584,142 字节 0.05 秒 未添加,未撤消

MP3 比 M4A 大 48%,同时保存通过另一台有损编码器的音频。 没有设置可以避免这种情况,因为损失是在解码和重新编码的,而不是在比特率中。

没有一个使 MP3 出错。 2009年的汽车音响,廉价的录音机,带有USB端口的健身房跑步机和大量的广播软件将读取MP3,仅此而已。 当它是目的地时,生成损失是文件播放的价格,而且是语音的一个小价格。 关键是要故意支付,而不是因为一个工具为您挑选了 MP3。

更高的 MP3 比特率是否使提取更好?

它使 MP3 成为损坏音频的更忠实副本,这与更好的东西不同。

我用宽带源测试了这个,因为纯音对于编解码器来说很容易,没有任何告诉你。 测试剪辑是 30 秒的粉红色噪音和低正弦,编码为 128 kbps AAC,这大致是真实音乐在编码器上的难度。 然后我将AAC到PCM的参考解码,以两种比特率将其编码为MP3,并测量了每个与参考的信号失真比:

MP3比特率 30 s 的尺寸 针对 AAC 源的 SDR
192 kbps 705 kb 26.7 分贝
320 kbps 1.1 MB 42.3 分贝

320 kbps 文件是 AAC 音频的更近的复制,大约 15 dB 的再现,因为 AAC 已经丢弃了它,没有编码器可以将其放回去。 额外的 400 kb 购买了更忠实的第一个编码器输出的副本,包括人工制品。

所以从 音频转换器指南 坚持,背后有更尖锐的原因。 匹配或略微削减源比特率是合理的范围。 远远高于它的是花费存储空间来保留不在录音中的细节,而远低于它的地方会抛弃第二个帮助。

如果您关心原件的忠诚度,那么答案不是比特率。 它是 M4A 副本,没有比特率决定。

什么时候wav是正确的答案?

当下游的东西想要 PCM 时,这比人们预期的要多。

音频编辑器更喜欢它,因为它不需要解码,并且可以按样品进行编辑。 转录服务和语音模型经常要求它,而那些接受压缩音频的人通常会在内部将其解码到 PCM 中。 强制对齐工具、声学分析软件和任何进行信号处理的东西都从 PCM 开始。

WAV 不会增加任何损失,尽管它无法撤消源已经丢弃的内容。 由 128 kbps AAC 轨道制成的 WAV 仍然具有 AAC 缺少的所有缺失细节。 它是损坏音频的忠实容器,这正是您下一步是分析而不是收听时想要的。

测量结果在这一点上令人放心。 我提取的 wav 与源音频的直接解码相同的位数,相同的 md5,因此提取没有添加自己的任何内容。 成本是大小,下一节介绍的。

16 位 44.1 kHz 立体声是明智的默认值和提取器写的内容。 它是 CD 规范,它是普遍可读的,并且从一开始就有损的来源编写 24 位 PCM 不会获得任何好处。

文件会有多大?

可以预见的是,这是有用的部分。

音频大小是比特率时间持续时间,不依赖内容,因此与视频不同,它可以在工作开始之前告诉您,而不是在之后猜测。

格式 每分钟,立体声 一小时
从 128 kbps 源复制的 M4A 0.95 兆 57 兆
MP3 192 kbps 1.4 兆 84 兆
MP3 128 kbps 0.96 兆 58 兆
WAV 16 位 44.1 kHz 10.1 MB 606 兆

Wav 行是让人们感到惊讶的一排。 10.1 MB 每分钟是上述测试的测量值,直接从算术得出:每秒 44,100 个样本,两个字节一个样本,两个通道。 一个小时的讲座音频是一个 600 MB 的文件,它比它出来的许多视频都大,而且比一些服务可以接受的上传更大。

这也是抽取器在运行之前显示估计的原因。 提取到 WAV 的一小时录制是一件合理的事情,也是一件令人惊讶的不合理的事情。

为什么 WebM 拒绝将其音频复制到 M4A 中?

因为里面的编解码器是 MPEG-4 容器无法携带的一种,而且该工具是诚实的,而不是默默地重新编码。

WebM 包含 Opus 或 Vorbis 音频,而不是 AAC。 就标准复用器而言,两者都不属于 M4A,因此不可用复制路径。 ffmpeg 说得很清楚:

[ipod @ 0x75bd019180] Could not find tag for codec opus in stream #0,
codec not currently supported in container
[out#0/ipod] Could not write header (incorrect codec parameters ?)

有一个已发布的规范 在 ISO 基础介质容器中封装 Opus,所以这是一个工具和回放现实,而不是理论上的不可能。 实际上,您没有任何内容可以将文件交给播放充满作品的 M4A,因此有用的答案是重新编码。 在相同的测试内容上,耗时 0.32 秒的音频 20 秒并产生了一个 473 KB 的文件,这是一代丢失和唯一可用的选项。

相同的逻辑决定了其他所有来源。 MP4、MOV、M4V 和 M4A 可以将其 AAC 复制出来。 WebM、MKV 与 Opus 或 Vorbis 以及任何携带 MPEG-4 家族外部编解码器的东西都不能,提取器说明您在开始之前而不是之后所处的情况。

为什么持续时间不完全匹配?

因为 AAC 和 MP3 都填充了它们的输出,而两个容器处理的是不同的填充。 是打破无间隙播放的细节,在测试编号中清晰地显示出来。

源音频正好是 60 秒,2,646,000 个样本,频率为 44.1 kHz。 提取的 M4A 报告的持续时间正好为 60.000000 秒。 提取的 WAV 和 MP3 都报告 60.000363 秒,也就是 16 个样本。

这16个样本是编码器延迟。 AAC 适用于 1024 个样本帧,因此 60 秒的记录不会均匀地划分,并且编码器会填充末端。 M4A 使用编辑列表隐藏此内容,容器中的一个小表显示解码输出的哪一部分是真实的记录。 解码 M4A 后,您将获得填充的 2,646,016 个样本,这就是 WAV 额外的 0.36 毫秒的来源。

MP3 没有编辑列表,因为格式早于想法。 它所拥有的是跛脚信息标签,第一帧中的供应商块记录了每端要丢弃的样本数量。 那个 字段布局逐字节记录,编码器延迟和结束填充共享字节0xb1 到0xb3 作为两个12 位值。 解码后,MP3 以 2,646,016 个样本返回,与 WAV 完全匹配,因此该标签在这里完成了工作。 忽略它的播放器,或未能写入它的编码器,是连续专辑曲目之间的可听点击的来源。

这些都不适合讲座或播客。 对于现场专辑或 DJ 混音来说,这很重要,这就是复制路径值得首选的原因:没有编码器,因此没有新的填充。

m4a 到处都能播放 MP3 吗?

接近它,在提交之前有一个值得了解的例外列表。

这十年的所有东西都在播放 M4A 的所有功能都可以在本地操作系统上运行,每个桌面操作系统都可以执行,Spotify 和 VLC 和 Plex 以及 Stock Music 应用程序在您拥有的任何手机上都可以执行。 格式已有二十年的历史,是大多数人最流行的手机的默认输出。

异常聚集在两个地方。 第一个是较旧的汽车音响和独立硬件,尤其是大约 2012 年之前的主机,其中装满 M4A 文件的 USB 记忆棒读作空置。 第二个是接受音频上传和通过扩展而不是内容验证的软件,它拒绝了多年前编写的列表中的 M4A,并且从未重新访问过。 转录服务在这里是一个常见的罪犯,这就是记者的方式 音频转换器指南 最后,她的服务不会接受四个小时的文件。

一个合理的方法:先提取到M4A,因为它是即时无损的,并保持它作为主人。 如果目标拒绝,将该 M4A 转换为 MP3。 然后,您支付了一代人的损失,而不是让有损副本成为您唯一的副本。

提取需要多长时间,是什么决定的?

主要是读取文件,然后是否涉及编码器。

复制路径受磁盘和内存速度的限制,而不是处理。 19 MB 文件的 0.04 秒不是正在处理的音频,而是正在读取的文件和正在写入的新容器。 扩大规模,一两秒钟内会出现 40 分钟的 40 分钟讲座录制,几乎所有这些都是浏览器将文件读取到选项卡中。

编码路径由编码器限制。 拉姆在这台机器上需要 0.36 秒的 60 秒立体声音频,大约比实时速度快 165 倍,因此一小时的音频大约是 20 秒的工作。 类似地测量的 WebM 重新编码 AAC。 这些速度足够快,进度条主要是为了诚实而不是必要。

一件事确实主宰了其他一切,而不是音频。 将源视频加载到页面中是一个大文件的缓慢步骤,因为整个文件进入了标签内存。 这就是 500 MB 上限的原因:除此之外,选项卡开始以比规定的限制更难解释的方式开始失败。 如果您正在使用比这更大的文件,请先用 视频修剪器 通常比极限快,而且 修剪指南 涵盖了为什么这种切割也几乎是免费的。

当一部视频有不止一首音轨时会发生什么?

一首曲目出来,为你选择,其他曲目在没有评论的情况下被删除。 这是值得知道的,因为它是一种安静的失败,而不是一个响亮的失败。

我用一个带有两个音频流的文件进行了测试,一个 128 kbps 立体声轨道和一个 64 kbps 的单声道,这大致与相机麦克风和单独的翻领麦克风的录音形状大致类似。 提取产生了一个单一的流,128 kbps 立体声 1,950 kb,没有任何地方提到第二个轨道存在。

选取不是随机的。 记录的流选择规则 选择最能判断的流,这对于音频意味着最高的频道数量,因此您通常会得到您想要的。 但是,如果安静的单声道轨道是采访音频,而立体声是来自相机的房间噪音,那么您会得到错误的信息,没有任何内容告诉您。

多轨文件在专业工作流程之外并不常见,手机或屏幕录像机几乎没有任何音频流。 如果您正在处理来自真实拍摄的镜头,请在提取之前检查流列表,并期望直接使用 ffmpeg 与显式 -map 0:a:1 当您需要第二首曲目时。

您应该提取音频还是转换整个视频?

提取,如果你想要的是声音。 这两项行动不是替代方案,人们经常伸手去拿错误的一种。

将视频转换为 MP3 是一个短语,每月出现数百万次搜索,描述了一个没人想要的操作。 它意味着解码和丢弃图片,解码音频并重新编码,这是一个大量的工作,以获得已经存在的更糟糕的版本。 那个 视频转换器 存在于您想要在最后播放视频的格式,格式将播放。 当你想要音频时,提取是操作,复制路径意味着它也是便宜的。

决策表很短:

你想要什么 用 成本
音轨作为文件 提取到 M4A 没有,流复制
编辑器或抄写员的配乐 提取到 wav 大小仅限
旧硬件上的配乐 提取到 MP3 一代
包含较小的视频,包括图片 视频压缩器 取决于CRF,见 压缩指南
播放格式的相同视频 视频转换器 通常是 remux,所以没有

五行的模式是值得一试的:询问操作是否需要重新编码,更喜欢不需要的操作。

在浏览器中运行它会发生什么变化?

录音去哪里,对于音频来说,这通常是整个问题。

提取器运行编译到页面内的 WebAssembly 的 ffmpeg。 视频从您的磁盘读取到 Tab 内存中,音频流被拉出,结果将作为下载返回。 没有请求携带文件,服务器上没有任何队列,任何人都没有任何副本存在,任何人都可以忘记删除。

音频人提取的主要是使这件事的那种。 记录会议、讲座、采访、咨询、与律师或医生的电话、语音备忘录,其中包含您不会发布的内容。 传统的替代方法是将记录上传到您一无所知的站点,以换取在复制路径上是容器重写您自己的机器的操作在一秒钟内完成的操作。

交易是 500 MB 上限和一次一次文件工作流,因为浏览器选项卡的内存比服务器少,没有队列。 对于单次录音,这几乎就是为了这,这是您无法达到的限制,也是您无法获得任何其他方式的隐私保证。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!