在python中使用movie.py将音频和一个图像文件组合在一起创建视频,我得到的是视频文件,但没有音频

2024-06-08 21:03:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试通过在python中使用movie.py将音频和一个图像文件组合在一起来创建视频,我得到的是视频文件,但没有音频。请帮帮我

代码:

import moviepy.editor as mpy
import os

directory_root = os.path.join("R:/", "Rajat", "voices", "same images")
files = os.listdir(directory_root)
files = [os.path.join(directory_root, f) for f in files]

clip = mpy.ImageSequenceClip(files, fps=10)
# clip = mpy.ImageSequenceClip("R:\\Rajat\\voices\\same images\\*.jpg", fps=10)
audio = (mpy.AudioFileClip("play.mp3") 
            .set_duration(clip.duration))
# clip.audio = audio
clip.set_audio = audio
clip.write_videofile("my_video1.mp4") 

错误:

I am getting my video file but without audio

请帮帮我


Tags: pathimportcliposrootfiles音频audio
1条回答
网友
1楼 · 发布于 2024-06-08 21:03:22

ImageSequenceClip需要一个文件列表。您可以通过以下方式查找目录中的所有文件:

import os

directory_root = os.path.join("R:/", "Rajat", "voices", "same images")
files = os.listdir(directory_root)
files = [os.path.join(directory_root, f) for f in files]

那么,试试看

clip = mpy.ImageSequenceClip(files, fps=10)

编辑1

从您先前删除的评论中,您似乎也缺少编解码器。考虑在系统上安装ImageMagick

接下来,您需要找到magick.exe(应该在C:\Program Files\ImageMagick...\magick.exe的某个地方)的位置。找到该路径后,您需要使其在程序中可见:

import sys
sys.path.append("C:\Program Files\ImageMagick...\magick.exe")

请再次尝试导出您的视频,如果avi不起作用,请尝试将其导出为mp4

编辑2

很好,现在编解码器工作了,您似乎需要以不同的方式设置音频。您当前使用的clip.set_audio = audio实际上覆盖了set_audio函数。请尝试

clip.set_audio(audio)

相关问题 更多 >