背景
python代码中有段处理音频格式的代码,需要系统环境的ffmpeg工具,代码如下:
python
# 方式 1: 使用 ffmpeg 转换
try:
ffmpeg_cmd = [
'ffmpeg', '-i', mp3_file_path,
'-ar', '16000', '-ac', '1', '-f', 'wav', '-y',
wav_file_path
]
result = subprocess.run(ffmpeg_cmd, capture_output=True, text=True)
time.sleep(0.5)
if result.returncode == 0 and os.path.exists(wav_file_path):
return wav_file_path
else:
raise Exception(f"ffmpeg 转换失败:{result.stderr}")
except FileNotFoundError:
# 方式 2: 使用 pydub 库转换
from pydub import AudioSegment
audio = AudioSegment.from_mp3(mp3_file_path)
audio = audio.set_frame_rate(16000).set_channels(1)
audio.export(wav_file_path, format="wav")
return wav_file_path
这段代码调用了 ffmpeg 命令行工具来处理音频文件。在 macOS 系统上,你需要安装 ffmpeg 才能执行这段代码。
安装方法
在 macOS 上安装 ffmpeg 最简单的方法是使用 Homebrew(macOS 的包管理器):
1. 如果你还没有安装 Homebrew
先安装 Homebrew(如果已安装可跳过):
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. 使用 Homebrew 安装 ffmpeg
bash
brew install ffmpeg
3. 验证安装
安装完成后,可以通过以下命令验证:
bash
ffmpeg -version
代码说明
这段代码的作用是:
- 使用
ffmpeg将 MP3 格式的音频文件转换为 WAV 格式 - 设置采样率为 16000Hz (
-ar 16000) - 设置为单声道 (
-ac 1) - 指定输出格式为 WAV (
-f wav) -y参数表示如果输出文件已存在则覆盖
注意事项
安装完成后,确保 ffmpeg 在系统的 PATH 环境变量中(Homebrew 安装的软件会自动配置好),这样代码中的 subprocess.run(['ffmpeg', ...]) 才能正确找到并执行它。
如果你的 macOS 系统没有 Homebrew,强烈建议先安装,它是管理 macOS 开发工具和环境依赖的必备工具。