Deepseek批量将多个文件夹中的mp4视频转换成mp3

大模型机器学习数据库

现在文件夹中有多个子文件夹,里面有mp4视频文件,都需要转换成mp3文件

picture.image

在Deepseek中输入提示词:

你是一个Python编程专家,写一个脚本,将下面这些文件夹中的mp4视频文件全部转换为mp3音频文件,转换完成后,删除mp4视频文件:

"E:\little fox 动画\AR4.8 Sherlock Holmes【501.56MB】"

"E:\little fox 动画\AR5.0 Great Expectations【376.54MB】"

"E:\little fox 动画\AR5.0 Les Misérables 悲惨世界"

"E:\little fox 动画\AR5.2 O. Henry"

"E:\little fox 动画\AR5.7海底两万里 20,000 Leagues Under the Sea ※※※"

"E:\little fox 动画\AR5.9 Arsène Lupin【283.96MB】 大盗"

"E:\little fox 动画\AR6.1 Dracula【128.89MB】"

"E:\little fox 动画\AR6.2 Oscar Wilde【117.69MB】"

"E:\little fox 动画\AR6.2 Our World Landmarks【549.65MB】"

"E:\little fox 动画\AR6.5 Greek Myths【158.26MB】"

"E:\little fox 动画\AR7.3 Famous Disasters【149.56MB】"

picture.image

程序运行后总是出现问题:

Traceback (most recent call last):

File "d:\Python\Untitled-166.py", line 4, in

from moviepy.editor import AudioFileClip

ModuleNotFoundError: No module named 'moviepy.editor'

moviepy库安装不成功,最后和Deepseek多次沟通下,终于找到问题:

问题根源

版本兼容性问题:

你安装的是 moviepy 2.1.2,但该版本可能已移除 editor.py 或重构了模块结构。

官方文档显示,AudioFileClip 应从 moviepy.editor 导入,但此文件在 2.1.2 版本中不存在。

文件缺失:

目录中缺少以下关键文件:

markdown

editor.py

终极解决方案

  1. 安装旧版本 moviepy(推荐)

bash

在虚拟环境中运行以下命令

pip uninstall moviepy -y

pip install moviepy==1.0.3

picture.image

安装1.0.3版本的moviepy后,运行成功,视频全部转换成音频

picture.image

Python源代码如下:

import sys

sys.path.append(r"D:\ProgramData\anaconda3\envs\my_env_39\Lib\site-packages")

import os

from moviepy.editor import AudioFileClip

import logging

from tqdm import tqdm # 用于显示进度条

配置日志记录

logging.basicConfig(

level=logging.INFO,

format="%(asctime)s - %(levelname)s - %(message)s",

filename="mp4_to_mp3_conversion.log",

)

logger = logging.getLogger(__name__)

def convert_mp4_to_mp3(mp4_path, mp3_path):

"""将MP4文件转换为MP3文件"""

try:

audio_clip = AudioFileClip(mp4_path)

audio_clip.write_audiofile(mp3_path)

audio_clip.close()

http://

logger.info

(f"成功转换: {mp4_path} -> {mp3_path}")

return True

except Exception as e:

logger.error(f"转换失败 {mp4_path}: {str(e)}")

return False

def delete_mp4_file(mp4_path):

"""删除MP4文件"""

try:

os.remove(mp4_path)

http://

logger.info

(f"成功删除: {mp4_path}")

return True

except Exception as e:

logger.error(f"删除失败 {mp4_path}: {str(e)}")

return False

def process_folder(folder_path):

"""处理单个文件夹中的所有MP4文件"""

if not os.path.exists(folder_path):

logger.error(f"文件夹不存在,跳过: {folder_path}")

return

http://

logger.info

(f"开始处理文件夹: {folder_path}")

mp4_files = [

os.path.join(root, file)

for root, _, files in os.walk(folder_path)

for file in files

if file.lower().endswith(".mp4")

]

if not mp4_files:

http://

logger.info

(f"未找到MP4文件,跳过: {folder_path}")

return

for mp4_path in tqdm(mp4_files, desc=f"处理 {os.path.basename(folder_path)}"):

mp3_path = os.path.splitext(mp4_path)[0] + ".mp3"

if convert_mp4_to_mp3(mp4_path, mp3_path):

delete_mp4_file(mp4_path)

def main():

目标文件夹列表

target_folders = [

r"E:\little fox 动画\AR4.8 Sherlock Holmes【501.56MB】",

r"E:\little fox 动画\AR5.0 Great Expectations【376.54MB】",

r"E:\little fox 动画\AR5.0 Les Misérables 悲惨世界",

r"E:\little fox 动画\AR5.2 O. Henry",

r"E:\little fox 动画\AR5.7海底两万里 20,000 Leagues Under the Sea ※※※",

r"E:\little fox 动画\AR5.9 Arsène Lupin【283.96MB】 大盗",

r"E:\little fox 动画\AR6.1 Dracula【128.89MB】",

r"E:\little fox 动画\AR6.2 Oscar Wilde【117.69MB】",

r"E:\little fox 动画\AR6.2 Our World Landmarks【549.65MB】",

r"E:\little fox 动画\AR6.5 Greek Myths【158.26MB】",

r"E:\little fox 动画\AR7.3 Famous Disasters【149.56MB】",

]

检查moviepy是否安装

try:

from moviepy.editor import AudioFileClip

except ImportError:

logger.error("需要先安装moviepy库,请运行: pip install moviepy")

return

处理所有文件夹

for folder in target_folders:

process_folder(folder)

http://

logger.info

("所有文件夹处理完成!")

if __name__ == "__main__":

main()

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
边缘计算在视频直播场景的应用与实践
视频直播作为当前视频行业的核心场景之一,对于高清化、实时性、交互性要求较高,需要强大算力保障用户流畅观看与互动体验。本次分享主要从视频直播场景需求切入,介绍基于边缘计算的视频直播场景方案及其架构、应用与实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论