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

使用MoviePy无法加速视频?MultiplySpeed报AttributeError错误

MoviePy视频加速失败问题解决

问题描述

为何我无法使用MoviePy加速视频?该工具提供MultiplySpeed和speedx两种视频加速方式,但我尝试后均无法正常工作。当使用如下MultiplySpeed代码时,出现错误:
Exception has occurred:
AttributeError 'MultiplySpeed' object has no attribute 'write_videofile'.

错误代码示例:

from moviepy import *
import moviepy.video.fx as vfx
from moviepy.video.fx import MultiplySpeed

# Load the video
clip = VideoFileClip(r"xxx.mp4")
clip = MultiplySpeed(2)
clip.write_videofile("output_fast.mp4", codec="libx264")

核心问题分析

你错误地直接实例化了MultiplySpeed类,既没有传入视频剪辑对象,也没遵循MoviePy特效的调用规则——视频特效类必须依附于剪辑对象使用,不能单独作为剪辑对象调用write_videofile方法。

正确用法示例

1. MultiplySpeed的正确调用方式

MoviePy的视频特效需要通过剪辑对象的fx()方法调用,或者直接使用对应的特效函数:

from moviepy.editor import VideoFileClip
import moviepy.video.fx as vfx

# 加载视频
clip = VideoFileClip(r"xxx.mp4")
# 方式一:用fx方法调用multiply_speed
clip = clip.fx(vfx.multiply_speed, factor=2)
# 方式二:直接调用特效函数
# clip = vfx.multiply_speed(clip, factor=2)

# 导出视频
clip.write_videofile("output_fast.mp4", codec="libx264")

2. speedx的正确调用方式

speedx是更简便的加速方法,直接调用剪辑对象的内置方法即可:

from moviepy.editor import VideoFileClip

clip = VideoFileClip(r"xxx.mp4")
# factor为加速倍数,如需静音可添加audio=False参数
clip = clip.speedx(factor=2)

clip.write_videofile("output_fast.mp4", codec="libx264")

额外注意事项

  • 避免使用from moviepy import *的导入方式,明确导入所需类/函数可减少命名冲突风险。
  • 若仍有问题,检查MoviePy版本,建议升级到最新稳定版:pip install --upgrade moviepy

内容的提问来源于stack exchange,提问作者Sharks Charlatans

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 14:12:39