最近的工作遇到有些时候需要把.wav文件转换为.mp3文件或者.mp3文件转换为.wav文件,由于需要格式转化的文件太多,一个一个转比较需要时间,所以想批处理实现音频文件.wav与.mp3格式的相互转换
1.安装ffmpeg:https://blog.csdn.net/zkw_1998/article/details/103818284
2.wav文件转为.mp3文件:
# coding=UTF-8
import os
import subprocess
def ffmpeg_MP3ToWav(input_path, output_path):
# 提取input_path路径下所有文件名
filename = os.listdir(input_path)
for file in filename:
path1 = input_path + "\\" + file
path2 = output_path + "\\" + os.path.splitext(file)[0]
cmd = "ffmpeg -i " + path1 + " " + path2 + ".mp3" #将input_path路径下所有音频文件转为.mp3文件
subprocess.call(cmd, shell=True)
input_path = r"C:\Users\初见\Desktop\input"
output_path = r"C:\Users\初见\Desktop\out"
ffmpeg_MP3ToWav(input_path, output_path)
3.mp3文件转为.wav文件:
# coding=UTF-8
import os
import subprocess
def ffmpeg_MP3ToWav(input_path, output_path):
# 提取input_path路径下所有文件名
filename = os.listdir(input_path)
for file in filename:
path1 = input_path + "\\" + file
path2 = output_path + "\\" + os.path.splitext(file)[0]
cmd = "ffmpeg -i " + path1 + " " + path2 + ".wav" #将input_path路径下所有音频文件转为.wav文件
subprocess.call(cmd, shell=True)
input_path = r"C:\Users\初见\Desktop\input"
output_path = r"C:\Users\初见\Desktop\out"
ffmpeg_MP3ToWav(input_path, output_path)
4.windows下使用命令行单独对一个音频文件做格式转换处理
ffmpeg -i inputpath outpath
示例:ffmpeg -i C:\Users\初见\Desktop\input\1.wav C:\Users\初见\Desktop\output\1.mp3
已经在C:\Users\初见\Desktop\input路径下,且转换输出的需要和输入的在同一路径下。则直接输入:ffmpeg -i 1.wav 1.mp3
5.windows下使用命令行批量对音频文件做格式转换处理
for %i in (*.wav) do ffmpeg -i "%i" "E:\untitled1\audio_test\%~ni.mp3"
使用这个命令行可以注意先进入要做处理的路径下(E:\untitled1\audio_test\test),然后使用上面的命令行,就可以把E:\untitled1\audio_test\test下的所有wav文件转换成mp3格式。注意生成的文件在E:\untitled1\audio_test\路径下,你可以自己填写路径~
处理前(E:\untitled1\audio_test\test):wav格式
处理后(E:\untitled1\audio_test\):mp3格式