You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用MoviePy拼接列表中存储路径的多个视频文件?

问题修复方案

你的代码存在两个关键问题,导致无法完成视频拼接:

核心错误点

  • concatenate_videoclips参数错误:这个函数需要接收VideoFileClip对象的列表,而非字符串路径列表,你还额外把路径列表套了一层方括号,传入了嵌套列表,完全不符合函数要求。
  • 路径转义问题:Windows路径里的反斜杠\在Python字符串中是转义字符,直接编写会导致路径解析出错,需改成原始字符串(加r前缀)或使用双反斜杠\\。

修正后的完整代码

from moviepy.editor import VideoFileClip, concatenate_videoclips

list_of_clips = []
no_vid = int(input('输入要拼接的视频数量:  '))
for i in range(no_vid):
    vid_path = input('输入视频文件路径:  ')
    # 将每个路径转为MoviePy的VideoFileClip对象
    clip = VideoFileClip(vid_path)
    list_of_clips.append(clip)

# 直接传入VideoFileClip对象的列表
final_clip = concatenate_videoclips(list_of_clips)
# 使用原始字符串处理输出路径,避免转义错误
final_clip.write_videofile(r"E:\python_work\downloaded\my_concatenation.mp4")

# 手动关闭所有视频剪辑,释放系统资源
for clip in list_of_clips:
    clip.close()

额外提示

  • 如果视频的编码、分辨率、帧率不一致,拼接时可能报错,建议提前统一视频参数,或在创建VideoFileClip时指定格式参数。
  • 处理大视频时,若出现内存不足问题,可给concatenate_videoclips添加method="compose"参数,它会直接在文件层面拼接,大幅降低内存占用。

内容的提问来源于stack exchange,提问作者ali abid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:05:18