用10多行Python代码快速批量把视频文件(300MB)转换为音频文件(5MB)

视频文件一般都有200-300MB,而有时我只想要这个视频的背景音乐,把视频文件转换为音频文件,这样文件大小就会在10MB以内

用python可以快速批量的把视频文件转换为音频文件

具体方法

  • 安装ffmpy3库

  • 用os模块把视频的文件名读取出来,放在列表中

  • 然后把所有视频文件后缀替换为音频的格式

  • 当然只改后缀是不行的,因为文件属性并没有更改,我们再用FFmpeg方法对转换后的音频文件赋予它音频的属性

Python完整代码

运行下面代码即可实现视频文件转换为音频文件(注意修改文件路径)

import os
from ffmpy3 import FFmpeg

# filepath:待处理视频的文件路径
filepath = "/Users/macos/Documents/Wilson79/GitHub/video-to-mp3/video"
filename = os.listdir(filepath)

print("待处理的视频文件:")
print(filename)
print("\n")

# output_dir:输出音频文件的路径
output_dir = "/Users/macos/Documents/Wilson79/GitHub/video-to-mp3/music"

# 读取上次已导出的音频文件名(防止多次运行,出现overwrited的错误)
exit_filename = os.listdir(output_dir)
print("已导出的音频文件: ")
print(exit_filename)

for i in range(len(filename)):
    # 改文件的后缀名
    changefile = filepath + "/" + filename[i]
    change_postfix_name =filename[i].replace('mp4', 'mp3').replace('flv', 'mp3') # 另外的视频格式请自行添加

    outputfile = output_dir + "/" + change_postfix_name
    if change_postfix_name in exit_filename:
        continue
    print(changefile)
    # 利用FFmpeg进行转换
    fpg = FFmpeg(inputs={changefile: None},
                 outputs={outputfile: '-vn -ar 44100 -ac 2 -ab 192 -f mp3'})  # mp3也可以换成wav等格式
    print(fpg.cmd)
    fpg.run()

print("\n任务完成!!!")

运行后的效果

在这里插入图片描述

备注:如果出现错误,你可能需要安装FFmpeg才能成功运行

发布了239 篇原创文章 · 获赞 80 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_43827595/article/details/104279618