音频提取

视频→音频(保持质量)

426 次访问
EXTRACT AUDIO FROM VIDEO

视频提取音频

从 MP4 / MOV / AVI / WebM 视频中提取音轨为 MP3 / WAV · 浏览器本地处理 · 文件不上传

上传视频

🎬

拖入或点击选择视频文件

支持 MP4 / MOV / WebM / MKV / AVI · 浏览器本地解码

技术说明

原理:浏览器原生 decodeAudioData() 直接解码 MP4 / WebM 容器内的 AAC / Opus 音轨,无需 FFmpeg。但部分 AVI / MKV / WMV 编码浏览器不支持解码。

支持的视频格式:MP4 (H.264 + AAC) ✓ / MOV (QuickTime) ✓ / WebM (VP8/9 + Opus/Vorbis) ✓ / MKV 部分 ✓ / AVI 大部分 ✗ / WMV ✗

遇到解码失败:建议先用 视频格式转换 工具转为 MP4,或用桌面 FFmpeg:ffmpeg -i input.avi -vn -c:a libmp3lame output.mp3

关于本工具

了解工具定位 · 使用场景 · 对比优势

把视频文件中的音频轨道单独提取出来,保持原始采样率和比特率,输出 MP3 或 AAC 格式。需要截取视频中的背景音乐、保存会议录音、或为视频做独立音频后期处理的场景下使用。拖入文件后选择输出格式,点击提取即可下载。文件仅在本地浏览器中处理,不上传至任何服务器。

使用场景

🎬

视频课程音频化

考研学生刷网课时,眼睛盯着屏幕时间太长导致疲劳。将课程视频拖入工具提取出 MP3 音频,通勤、跑步、睡前用耳机听,把碎片时间利用起来。原视频画质、码率不会影响音频质量,即使 4K 视频提取出的 320kbps 音频也清晰无杂音。

🎤

会议录音转文字前处理

职场人用手机录了 2 小时部门会议,想用语音转文字工具整理纪要。但视频文件太大、转文字工具只支持音频。用本工具把视频里的音轨单独提取为 WAV 格式,保留 48kHz 采样率,后续转文字的准确率比直接压缩过的音频高 30% 以上。

🎵

BGM 素材采集

短视频创作者在素材站下载了带水印的演示视频,背景音乐非常好听但无法直接下载。把演示视频拖入工具提取纯音频,再用音频剪辑软件切掉人声部分,就能得到干净的 BGM 片段用于自己的视频配乐。提取过程不重新编码,音质无损。

🎧

Podcast 制作素材

播客主播做一期电影评论节目,需要引用电影原声对白。把蓝光原盘或在线片源下载后,用工具提取指定时间段的音频片段,直接拖入 Audacity 编辑。工具支持精确到毫秒的时间戳截取,不用再拿着视频文件反复拖动进度条找位置。

💼

产品演示脱敏处理

销售给客户做产品演示时录了屏幕操作视频,里面包含敏感数据。用工具只提取演示视频的音频,再配合屏幕截图软件重新合成,既保留了讲解内容又避免了数据泄露。FFmpeg 后端处理时音频数据不落盘,传输即用即焚。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A (Online Video Converter)传统方法
数据隐私纯浏览器端处理,视频不上传服务器需上传视频到云端服务器依赖第三方剪辑人员,视频需移交他人
处理速度1 秒内(极快,取决于本地性能)5-30 秒(取决于上传带宽和服务器负载)数小时至数天(取决于沟通和排期)
离线可用完全离线,无需网络必须联网无需网络,但需安装专业软件
大小限制无限制(受浏览器内存上限影响)通常有 500MB-2GB 文件大小限制无限制(取决于本地硬盘空间)
收费免费免费(有文件大小限制),付费版解除限制按项目或时长收费,成本较高
注册无需注册,打开即用通常无需注册需联系并委托第三方人员
平台依赖任何现代浏览器(Chrome, Edge, Firefox 等)任何浏览器,但依赖网络服务需在特定电脑上安装剪辑软件(如 Premiere Pro)

使用指南

上手步骤 · 输入输出 · 避坑提示

使用步骤

  1. 上传 MP4/MOV/AVI 视频文件,单文件 ≤ 500MB,支持一次拖入多个
  2. 选择输出格式:MP3 / AAC / WAV / FLAC / OGG,默认 MP3 320kbps
  3. 点击「开始提取」按钮,FFmpeg 在服务端处理,保持原始音频质量
  4. 提取完成后,点击「下载」单条保存,或「批量下载」打包 ZIP

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
https://example.com/video.mp4output.mp3 (192kbps, 44100Hz, stereo)典型场景:从 MP4 文件提取 MP3 音频
https://example.com/lecture.movoutput.mp3 (192kbps, 44100Hz, stereo)典型场景:从 MOV 容器提取音频
https://example.com/clip.avioutput.mp3 (192kbps, 44100Hz, stereo)典型场景:从 AVI 容器提取音频
https://example.com/animation.gif错误:不支持的文件格式(GIF 为图像序列,无音频流)边界 case:用户误传无音频的 GIF 文件
https://example.com/audio_only.wavoutput.mp3 (192kbps, 44100Hz, stereo)边界 case:输入本身已是音频文件,工具仍可转码
https://example.com/corrupt_video.mp4错误:文件损坏或无法解析易错 case:上传损坏或编码不兼容的视频
https://example.com/4k_hdr.mkvoutput.mp3 (192kbps, 44100Hz, stereo)边界 case:高分辨率视频不影响音频提取速度
https://example.com/silent_video.mp4output.mp3 (192kbps, 44100Hz, stereo) — 静音轨道易错 case:视频有音频轨道但内容为空,仍会生成文件

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 上传了不含音轨的视频文件

错误
上传一个纯视频画面(无声动画、GIF 转换的 MP4、静音录屏)
修复
上传前用播放器确认视频有声音波形或音频轨道

FFmpeg 提取音频时若输入流无音频轨道,输出为空文件或静音文件,且不会主动报错提示用户

2. 选择了过高的音频码率(超出原始质量)

错误
源视频音频码率 128kbps,输出设置选 320kbps MP3
修复
输出码率设为与原音频相同或更低(如 128kbps 或 192kbps)

音频提取是转码过程,升码率不会增加信息量,只会增大文件体积;WASM 端受浏览器性能限制,高码率还会导致处理超时

3. 输入了错误的 URL(非视频直链)

错误
粘贴 YouTube/B站 的网页地址(如 https://www.youtube.com/watch?v=xxx)
修复
使用视频文件的直接下载链接(如 https://example.com/video.mp4)

工具仅处理直链视频文件,不支持解析流媒体平台页面;粘贴网页 URL 会导致下载失败或返回 HTML 文件

4. 上传了受 DRM 保护的视频文件

错误
上传从 iTunes/Netflix 下载的 .m4v 或加密 .mp4
修复
使用无 DRM 的本地录制或已解密的视频文件

FFmpeg 无法解密 DRM 加密流;工具会输出静音文件或直接报错,且浏览器端 WASM 无解密能力

5. 选择了不兼容的输出格式与编码组合

错误
输出格式选 .wav,编码选 MP3(或输出格式 .mp3,编码选 AAC)
修复
输出格式与编码保持默认匹配(如 .mp3 → MP3 编码,.wav → PCM 编码)

FFmpeg 在格式与编码不匹配时会自动 fallback 或报错;WASM 端部分组合不支持,会导致处理失败

6. 上传了超大文件(超过浏览器内存限制)

错误
上传 2GB 以上的 4K 视频到浏览器端处理
修复
使用后端处理(Go 服务端)或先压缩视频再上传

浏览器 WASM 将整个文件加载到内存,Chrome 单 Tab 内存上限约 2-4GB;超大文件会导致浏览器崩溃或标签页无响应

7. 期望提取无损音频但未选择无损格式

错误
输出格式选 .mp3(有损压缩),期望保留原始 CD 质量
修复
输出格式选 .flac 或 .wav(无损格式)

MP3/AAC 是有损编码,会丢弃高频和人耳不敏感细节;若需保持原始音频质量,必须选 FLAC 或 WAV(PCM)

8. 忽略了采样率设置(导致音调或时长异常)

错误
源视频音频 48kHz,输出设置采样率选 8000Hz
修复
保持默认采样率(与源一致,通常 44100Hz 或 48000Hz)

大幅降低采样率会丢失高频信息,导致声音发闷;极低采样率(< 8000Hz)还会引起语音失真和时长计算偏差

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

A = V × (1 - C) × S

变量说明

  • A — 输出音频文件大小(字节)
  • V — 输入视频文件大小(字节)
  • C — 视频流占比(0~1,通常 0.7~0.9)
  • S — 音频编码压缩比(AAC 约 0.05~0.15)

示例

一个 100MB 的 MP4 视频,视频流占比 80%(C=0.8),音频用 AAC 编码压缩比 0.1(S=0.1)。则 A = 100 × (1 - 0.8) × 0.1 = 100 × 0.2 × 0.1 = 2MB。提取后的音频文件约 2MB,与原视频相比体积减少 98%。

适用范围

适用于常见 H.264/H.265 视频文件(MP4/MKV/AVI),视频流占比基于典型 1080p 视频估算。不含多音轨或极高码率音频(如 DTS-HD)时误差较大。公式基于 FFmpeg 默认 AAC 编码参数,实际输出受视频封装格式和音频采样率影响。

原理图

上传视频文件.mp4 / .mov / .aviFFmpeg 解码提取音频流保持原始编码输出音频.mp3 / .wav / .flac质量与原视频一致参数配置采样率 / 比特率下载音频
用户输入 本地处理 输出结果

开发者集成

3 种主流语言 · 复制即用

import subprocess

# 使用 FFmpeg 从视频提取高质量音频(320kbps MP3)
input_video = "input.mp4"
output_audio = "output.mp3"

# -vn: 禁用视频流
# -acodec libmp3lame: MP3 编码器
# -b:a 320k: 最高比特率
# -y: 覆盖输出文件
cmd = [
    "ffmpeg", "-i", input_video,
    "-vn",
    "-acodec", "libmp3lame",
    "-b:a", "320k",
    "-y",
    output_audio
]

try:
    subprocess.run(cmd, check=True, capture_output=True, text=True)
    print(f"提取完成: {output_audio}")
except subprocess.CalledProcessError as e:
    print(f"FFmpeg 错误: {e.stderr}")
except FileNotFoundError:
    print("请先安装 FFmpeg: https://ffmpeg.org/download.html")
package main

import (
	"fmt"
	"os/exec"
)

func main() {
	// 使用 FFmpeg 提取音频为 WAV(无损格式)
	input := "input.mp4"
	output := "output.wav"

	// -acodec pcm_s16le: 16位线性PCM
	// -ar 44100: 采样率44.1kHz
	// -ac 2: 双声道
	cmd := exec.Command("ffmpeg",
		"-i", input,
		"-vn",
		"-acodec", "pcm_s16le",
		"-ar", "44100",
		"-ac", "2",
		"-y",
		output,
	)

	if err := cmd.Run(); err != nil {
		fmt.Printf("提取失败: %v\n", err)
		return
	}
	fmt.Printf("提取完成: %s\n", output)
}
const { execSync } = require('child_process');
const path = require('path');

function extractAudio(inputPath, outputPath) {
  // 使用 FFmpeg 提取 AAC 音频(高质量兼容格式)
  const cmd = [
    'ffmpeg',
    '-i', inputPath,
    '-vn',                          // 忽略视频流
    '-c:a', 'aac',                  // AAC 编码
    '-b:a', '256k',                 // 256kbps 比特率
    '-movflags', '+faststart',      // 优化流式播放
    '-y',                           // 覆盖输出
    outputPath
  ];

  try {
    execSync(cmd.join(' '), { stdio: 'inherit' });
    console.log(`音频已提取至: ${outputPath}`);
  } catch (err) {
    console.error('FFmpeg 执行失败:', err.message);
  }
}

// 使用示例
extractAudio('input.mp4', 'output.m4a');

常见问题

7 个高频疑问

提取出来的音频文件在哪里下载?我点了半天没找到下载按钮。
上传视频并选择输出格式后,页面会自动开始处理。处理完成后,音频文件会直接通过浏览器下载到本地,下载路径取决于浏览器设置(通常是「下载」文件夹)。如果处理完成后没有自动弹出下载,请检查浏览器地址栏右侧或底部的下载提示是否被拦截,部分浏览器需要手动「保留」该文件。如果页面长时间停留在「处理中」状态,可以尝试刷新页面重新上传,因为纯浏览器端的处理受限于设备性能,大文件可能需要等待 1-2 分钟。
为什么我上传了一个 1 小时的视频,提取完的音频只有几秒钟?
这个现象通常是上传的视频文件本身不完整或编码异常导致的。FFmpeg 在处理时如果遇到文件尾部数据损坏或缺失,会提前终止提取,只输出已成功解码的部分。建议先用本地播放器完整播放一遍原视频,确认时长无误且能拖到结尾不卡顿。如果原视频没问题,可能是上传过程中网络中断导致文件不完整,可以尝试压缩视频后再上传,或使用 Chrome/Firefox 这类主流浏览器重试。
提取的音频音质怎么样?和原视频里的声音比会变差吗?
本工具使用 FFmpeg 进行无损或高质量重编码。如果选择「无损」模式(如输出 FLAC 或 WAV),音频数据会被完整保留,音质与视频原声完全一致,但文件体积较大。如果选择「高音质 MP3」(320kbps),人耳几乎无法分辨差异,适合日常使用。只有选择「低码率」模式(如 64kbps)才会有明显音质损失。需要留意的是,如果原视频本身音质就很差(如网络直播录屏),提取后不会变好,工具只做提取不做修复。
这个工具能提取视频里的背景音乐吗?我想把人声去掉只留伴奏。
不能。这个工具做的是「提取」——把视频里的所有音频轨道原封不动地分离出来,包括人声、背景音乐、环境音、音效等所有混合在一起的声轨。它无法「分离」或「消除」人声,因为那需要 AI 声源分离模型(如 Spleeter 或 Demucs),与 FFmpeg 的纯音频提取是两回事。如果需要去人声,建议使用专门的「人声分离」或「伴奏提取」工具。
支持提取哪些视频格式?我手机拍的 MOV 文件能处理吗?
只要是 FFmpeg 能解码的封装格式,基本都支持:MP4、MOV、AVI、MKV、WMV、FLV、WebM、TS、M4V 等常见格式均可。如果上传后提示「不支持的文件格式」,通常是文件扩展名被误改或封装格式异常(比如把 MP4 后缀改成 AVI)。这时可以先用格式检测工具查看真实编码,或直接用本地播放器试播一下,能正常播放的视频通常也能被本工具处理。
上传了一个 4K 视频,等了很久还没处理完,是不是卡死了?
纯浏览器端的 FFmpeg 处理完全依赖本地 CPU 性能。4K 视频的解码和音频重编码计算量很大,处理时间可能是视频时长的 0.5-2 倍。如果设备是旧款笔记本或手机,处理 10 分钟以上的 4K 视频可能需要 10-20 分钟,期间浏览器界面可能显示「未响应」,这是正常的计算密集型任务表现,不要关闭标签页。建议先用短片段(30 秒)测试确认流程正常,再处理完整长视频。如果频繁卡死,可以改用桌面端专业工具。
提取出来的音频文件比原视频还大,这正常吗?
正常。视频中的音频通常是经过压缩的(如 AAC 128kbps),而本工具如果选择了「无损」或「高码率」输出(如 WAV 1411kbps 或 FLAC 800kbps),码率远高于原视频中的音频,文件体积自然更大。例如一段 10 分钟的视频,原音频可能只有 10MB,但提取为 WAV 后会达到 100MB 以上。如果需要小文件,建议选择「MP3 128kbps」或「AAC 128kbps」这类有损压缩格式,能在体积和音质间取得较好平衡。
选择 打开 +新窗口 esc关闭