python-3.x - 无法使用moviepy迭代视频中的图像
问题描述
我需要通过在文件夹中选择一系列图像来创建视频,然后将音乐添加到视频中。使用以下方法,我能够生成视频,但无法在视频运行时迭代图像。
for filename in os.listdir("E://images"):
if filename.endswith(".png"):
clips.append(ImageClip("E://images//"+filename).set_duration(8))
finalVideo = CompositeVideoClip( clips ).set_duration(8)
slides=[finalVideo]
final = CompositeVideoClip(slides, size=(100,200)).set_duration(8)
audioclip = AudioFileClip("E://songs//new.mp3")
videoclip2 = final.set_audio(audioclip)
videoclip2.write_videofile("test.mp4",fps=24)
我也尝试使用此链接使用 Moviepy 而不是使用我尝试使用的CompositeVideoClip将图像序列转换为视频
concat_clip = concatenate_videoclips(clips, method="compose")
但这对我不起作用。
请建议
谢谢
解决方案
我终于明白了!
问题是我使用的图像,之前的图像是 3mb、1mb 等,但后来我明白所有图像都应该在 14KB 以上和 100KB 以下,可能还有 jpg 文件
clips = []
for file in os.listdir("E:\\images\\"):
if file.endswith(".jpg"):
clips.append(VideoFileClip("E:\\images\\"+ file).set_duration(10))
video = concatenate_videoclips( clips,method='compose')
audioclip = AudioFileClip("back.mp3",fps=44100)
videoclip = video.set_audio(audioclip)
videoclip.write_videofile('ab23.mp4',codec='mpeg4', fps=24,audio=True)
谢谢大家......
我的技术栈
蟒蛇:3.8.1
电影py:1.0.1
推荐阅读
- webpack - 创建 React App + Webpack 只显示空白页
- android - 这个命令是什么意思:EGLExt.eglPresentationTimeANDROID(mEGLDisplay, mEGLSurface, when)?
- xml - 使用 xpath 仅获取属性值
- c# - 生成在后台调用方法的属性
- angular - 如何在 Angular 中处理 HTTP 302
- android - 如何在 xml 布局文件中添加简单的导航栏?
- r - R嵌套foreach %dopar% - 内循环问题
- c# - 如何检索类属性的属性值?
- php - 在我的 Web 应用程序中实现 simplesamlphp 库的问题
- android - java.lang.StackOverflowError:堆栈大小 8192KB 蓝牙管理器