本文目录导读:

使用 FFmpeg(最推荐)
Windows (PowerShell)
# 批量转换 wav 到 mp3
Get-ChildItem -Path "C:\input" -Filter *.wav | ForEach-Object {
$outputPath = "C:\output\" + $_.BaseName + ".mp3"
ffmpeg -i $_.FullName -codec:a libmp3lame -qscale:a 2 $outputPath
}
# 批量转换所有音频到 mp3(自动支持多种格式)
Get-ChildItem -Path "C:\input" -Include *.wav,*.flac,*.m4a | ForEach-Object {
$outputPath = "C:\output\" + $_.BaseName + ".mp3"
ffmpeg -i $_.FullName -codec:a libmp3lame -qscale:a 2 $outputPath
}
Linux/macOS (Bash)
# 批量转换 flac 到 mp3
for file in /input/*.flac; do
filename=$(basename "$file" .flac)
ffmpeg -i "$file" -codec:a libmp3lame -qscale:a 2 "/output/${filename}.mp3"
done
# 递归处理子目录
find /input -name "*.flac" -exec sh -c '
for file; do
filename=$(basename "$file" .flac)
ffmpeg -i "$file" -codec:a libmp3lame -qscale:a 2 "/output/${filename}.mp3"
done
' sh {} +
使用 Python + pydub
import os
from pydub import AudioSegment
def batch_convert(input_dir, output_dir, input_format="wav", output_format="mp3"):
# 创建输出目录
os.makedirs(output_dir, exist_ok=True)
# 遍历输入目录
for filename in os.listdir(input_dir):
if filename.endswith(f".{input_format}"):
# 设置输入输出路径
input_path = os.path.join(input_dir, filename)
output_filename = filename.replace(f".{input_format}", f".{output_format}")
output_path = os.path.join(output_dir, output_filename)
# 转换格式
audio = AudioSegment.from_file(input_path, format=input_format)
audio.export(output_path, format=output_format)
print(f"转换完成: {filename} -> {output_filename}")
# 使用示例
batch_convert("input_folder", "output_folder", "wav", "mp3")
简单 Python 脚本(多线程加速)
import os
import subprocess
from concurrent.futures import ThreadPoolExecutor, as_completed
def convert_audio(input_path, output_path, output_format="mp3", bitrate="192k"):
"""使用 ffmpeg 转换单个音频文件"""
try:
cmd = [
'ffmpeg', '-i', input_path,
'-codec:a', 'libmp3lame', '-b:a', bitrate,
'-y', output_path
]
subprocess.run(cmd, capture_output=True, check=True)
return True, f"成功: {os.path.basename(input_path)}"
except subprocess.CalledProcessError as e:
return False, f"失败: {os.path.basename(input_path)} - {e}"
def batch_convert_parallel(input_dir, output_dir, input_ext=".wav", output_format="mp3", max_workers=4):
"""并行批量转换"""
os.makedirs(output_dir, exist_ok=True)
tasks = []
for filename in os.listdir(input_dir):
if filename.lower().endswith(input_ext):
input_path = os.path.join(input_dir, filename)
output_name = filename.replace(input_ext, f".{output_format}")
output_path = os.path.join(output_dir, output_name)
tasks.append((input_path, output_path))
# 多线程执行
with ThreadPoolExecutor(max_workers=max_workers) as executor:
futures = {executor.submit(convert_audio, inp, out): inp
for inp, out in tasks}
for future in as_completed(futures):
success, msg = future.result()
print(msg)
# 使用
batch_convert_parallel("input", "output", ".wav", "mp3", max_workers=4)
常见格式转换对应表
| 输入格式 | 输出格式 | FFmpeg 命令示例 |
|---|---|---|
| WAV → MP3 | MP3 | ffmpeg -i input.wav -codec:a libmp3lame output.mp3 |
| FLAC → MP3 | MP3 | ffmpeg -i input.flac -codec:a libmp3lame output.mp3 |
| M4A → WAV | WAV | ffmpeg -i input.m4a output.wav |
| AAC → MP3 | MP3 | ffmpeg -i input.aac -codec:a libmp3lame output.mp3 |
| WMA → MP3 | MP3 | ffmpeg -i input.wma -codec:a libmp3lame output.mp3 |
安装所需工具
FFmpeg 安装
- Windows: 下载 FFmpeg 并添加到 PATH
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Ubuntu/Debian)
Python 依赖
pip install pydub ffmpeg-python
使用建议
- 先测试:先用小批量文件测试脚本
- 备份原文件:转换过程中建议保留原始文件
- 调整质量参数:
- MP3:
-qscale:a 0(最高质量) 到-qscale:a 9(最低质量) - 比特率:
-b:a 192k或-b:a 320k
- MP3:
- 错误处理:实际使用时要添加适当的错误处理逻辑
选择哪种方法取决于你的操作系统和技术偏好,FFmpeg 最通用,Python 脚本更灵活可配置。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播