本帖最后由 PJ11210049 于 2020-8-21 11:16 编辑
从视频里提取音频,最近工作需要大批量处理,所以搜了下,发现有个非常简洁的库可用,分享下。
QQ截图20200819182911.png (90.54 KB, 下载次数: 2)
2020-8-19 18:29 上传
安装:
[Asm] 纯文本查看 复制代码pip install moviepy
源码:
[Python] 纯文本查看 复制代码# -*- coding:utf-8 -*-
from moviepy.editor import *
# 提取音频
video = VideoFileClip("D:/douyin/11.mp4")
audio = video.audio
audio.write_audiofile("D:/douyin/11.mp3")
下面是批量处理:
[Python] 纯文本查看 复制代码# -*- coding:utf-8 -*-
import os
from moviepy.video.io.VideoFileClip import VideoFileClip
print("路径示例(注意用反斜杠) D:/douyin/")
path_In = input('请输入提取路径:')
path_Out = input('请输入存储路径:')
os.chdir(path_In) # 转到该目录下
get_dir = os.getcwd() # os.getcwd()函数可以获取当前文件所在目录
lst = os.listdir(get_dir) # os.listdir获取目录下所有文件 列表形式
for file in lst:
if not os.path.isdir(file): # 判断路径是否为目录
if file.endswith('.mp4'):
file_name = file.split('.mp4')[0],
file_name = file_name[0]
# print(file_name)
pathIn = f"{path_In}{file}"
pathOut = f"{path_Out}{file_name}.mp3"
# 提取音频
video = VideoFileClip(pathIn)
audio = video.audio
if audio:
audio.write_audiofile(pathOut)
else:
print('audio为空...')
下面为打包执行截图:
QQ截图20200820130301.png (65.91 KB, 下载次数: 2)
2020-8-20 13:13 上传
输入输出路径 尽量不要用中文,有可能会报错(注意路径用反斜杠):D:/demo/
QQ截图20200820132505.png (20.57 KB, 下载次数: 2)
2020-8-20 13:25 上传
QQ截图20200820130541.png (29.61 KB, 下载次数: 2)
2020-8-20 13:13 上传
批量处理成果:
QQ截图20200820130634.png (171.31 KB, 下载次数: 2)
2020-8-20 13:13 上传
附件链接:链接: https://pan.baidu.com/s/1-HwIINN_Auepa-GKd2-Q5w 提取码: 7quy