最近需要用FFmpeg从视频文件中提取出音频信息,但是因为文件太多,所以查各种资料写了个Python脚本,实现批量的从视频中提取音频。当然了,脚本框架是通用的,可以通过替换FFmpeg命令实现各种其它操作。
import os
for root,dirs,files in os.walk(r"E:\tmp"):
for file in files:
path = os.path.join(root, file)
str = file
str1 = file.split('.')[0]
str2 = file.split('.')[1]
path2 = os.path.join(root, str1)
if str2 == "mp4":
cmd = "ffmpeg -i " + path + " -vn -c:a mp3 " + path2 + ".mp3"
#print(cmd)
print(os.system(cmd))
1、视频文件保存在E:\tmp文件夹中;
2、通过脚本遍历文件夹下的文件,获取文件完整路径path、文件名str;
3、从文件名中提取出名字str1和后缀str2;
4、通过字符串连接的方式组合成待执行的FFmpeg命令cmd,本例中是从.mp4文件中提取音频并转换为mp3文件;
5、通过os.system的方式执行cmd命令,完成转换操作。
需要说明的是,将cmd替换为其它命令,可以快速的进行其它基于FFmpeg的音视频文件批处理操作。