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

Moviepy write_videofile无法写入AWS Lambda /tmp/目录问题

问题原因与解决方案

核心原因

处理视频时,MoviePy的write_videofile方法会先生成临时音频文件用于后续封装,但默认会将这个临时文件存放在当前工作目录(AWS Lambda中该目录为只读状态,比如/var/task),而非你指定的/tmp目录。而音频处理的write_audiofile流程无需生成额外临时文件,直接写入目标路径,因此能正常执行。

解决方法

以下三种方法任选其一即可:

方法1:全局设置临时目录环境变量

在代码开头添加环境变量配置,强制所有临时文件写入/tmp:

import os
os.environ["TEMP"] = "/tmp"
os.environ["TMP"] = "/tmp"
os.environ["TMPDIR"] = "/tmp"

方法2:显式指定临时音频文件路径

调用write_videofile时,通过temp_audiofile参数指定临时音频文件的/tmp路径:

import uuid
# 生成唯一临时音频文件名
temp_audio_file = f'/tmp/{uuid.uuid4().hex}_temp_audio.mp3'
clip.write_videofile(self.clip_path, temp_audiofile=temp_audio_file)

方法3:初始化VideoFileClip时指定音频临时路径(部分MoviePy版本支持)

如果你的MoviePy版本支持,可以在初始化视频剪辑时直接指定音频临时文件的存储路径:

clip = VideoFileClip(self.local_file_name, audio_tempfile_path='/tmp').subclip(offset_start, offset_end)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:48:24