本文目录导读:

使用 FFmpeg(最通用)
Python 脚本
import subprocess
import os
def convert_audio(input_file, output_format):
"""音频格式转换函数"""
# 获取文件名(不含扩展名)
base_name = os.path.splitext(input_file)[0]
output_file = f"{base_name}.{output_format}"
# FFmpeg命令
cmd = [
'ffmpeg',
'-i', input_file, # 输入文件
'-acodec', 'libmp3lame', # 音频编码器(根据需要修改)
'-q:a', '2', # 质量参数
output_file
]
try:
subprocess.run(cmd, check=True)
print(f"转换成功:{output_file}")
return output_file
except subprocess.CalledProcessError as e:
print(f"转换失败:{e}")
return None
# 使用示例
convert_audio('input.wav', 'mp3')
convert_audio('input.mp3', 'ogg')
Batch 脚本 (Windows)
@echo off set INPUT_FILE=audio.wav set OUTPUT_FORMAT=mp3 ffmpeg -i %INPUT_FILE% -acodec libmp3lame -q:a 2 %INPUT_FILE:.wav=%_converted.%OUTPUT_FORMAT% echo 转换完成! pause
Shell 脚本 (Linux/Mac)
#!/bin/bash
convert_audio() {
input_file="$1"
output_format="$2"
output_file="${input_file%.*}.${output_format}"
ffmpeg -i "$input_file" -acodec libmp3lame -q:a 2 "$output_file"
echo "转换完成:$output_file"
}
# 使用
convert_audio "audio.wav" "mp3"
convert_audio "audio.flac" "ogg"
Python 专用库
使用 pydub
from pydub import AudioSegment
import os
def convert_with_pydub(input_file, output_format):
"""使用pydub进行格式转换"""
# 读取音频文件
audio = AudioSegment.from_file(input_file)
# 生成输出文件名
output_file = f"{os.path.splitext(input_file)[0]}.{output_format}"
# 导出
audio.export(output_file, format=output_format)
print(f"转换成功:{output_file}")
return output_file
# 使用示例
convert_with_pydub('input.wav', 'mp3')
convert_with_pydub('input.mp3', 'ogg')
使用 librosa + soundfile
import librosa
import soundfile as sf
import numpy as np
def convert_with_librosa(input_file, output_format):
"""使用librosa进行格式转换"""
# 读取音频
audio, sr = librosa.load(input_file, sr=None)
# 生成输出文件名
output_file = f"{input_file.rsplit('.', 1)[0]}.{output_format}"
# 保存
sf.write(output_file, audio, sr)
print(f"转换成功:{output_file}")
return output_file
# 使用示例
convert_with_librosa('input.wav', 'flac')
批量转换脚本
Python 批量转换
import os
import subprocess
from pathlib import Path
def batch_convert(input_dir, output_dir, target_format, source_format='*'):
"""批量转换音频格式"""
# 确保输出目录存在
os.makedirs(output_dir, exist_ok=True)
# 获取所有源文件
pattern = f"*.{source_format}" if source_format != '*' else '*'
files = list(Path(input_dir).glob(pattern))
for input_file in files:
# 生成输出文件名
output_file = Path(output_dir) / f"{input_file.stem}.{target_format}"
# 转换命令
cmd = [
'ffmpeg',
'-i', str(input_file),
'-y', # 覆盖已存在的文件
str(output_file)
]
try:
subprocess.run(cmd, check=True, capture_output=True)
print(f"✓ 转换成功:{input_file.name} → {output_file.name}")
except subprocess.CalledProcessError as e:
print(f"✗ 转换失败:{input_file.name},错误:{e}")
# 使用示例
batch_convert('./wav_files', './mp3_files', 'mp3', 'wav')
常见格式支持
| 格式 | 优势 | 适用场景 |
|---|---|---|
| MP3 | 压缩率高,兼容性好 | 音乐播放,网络传输 |
| WAV | 无损,高质量 | 音频编辑,专业应用 |
| FLAC | 无损压缩 | 音乐收藏,高质量存档 |
| OGG | 开源,质量好 | 开源项目,游戏开发 |
| AAC | 效率高,iOS支持好 | 移动设备,流媒体 |
安装依赖
# FFmpeg # Windows: 下载并添加到PATH # Mac: brew install ffmpeg # Linux: sudo apt-get install ffmpeg # Python包 pip install pydub pip install librosa soundfile pip install numpy
注意事项
- 音频质量:转换有损格式(如MP3)会降低质量
- 采样率:建议保持原始采样率
- 声道:注意立体声/单声道转换
- 编码器:不同编码器影响输出质量
选择一个最适合你需求的方法,FFmpeg通常是最通用和稳定的选择。
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播