【问题标题】:Create a series of text clip and concatenate them into a video using moviepy创建一系列文本剪辑并使用moviepy将它们连接成视频
【发布时间】:2015-03-16 07:05:53
【问题描述】:
  1. 在 MoviePy 中,有一个 api 可以从文本创建剪辑以及连接剪辑列表。
  2. 我正在尝试在循环中创建剪辑列表,然后尝试将它们连接起来。
  3. 问题是每次创建 25 秒的视频文件时仅包含循环中的最后一个文本。

这里是代码

for text in a list:
    try:
        txt_clip = TextClip(text,fontsize=70,color='white')
        txt_clip = txt_clip.set_duration(2)
        clip_list.append(txt_clip)
    except UnicodeEncodeError:
        txt_clip = TextClip("Issue with text",fontsize=70,color='white')
        txt_clip = txt_clip.set_duration(2) 
        clip_list.append(txt_clip)
final_clip = concatenate_videoclips(clip_list)
final_clip.write_videofile("my_concatenation.mp4",fps=24, codec='mpeg4')

【问题讨论】:

    标签: python video-processing moviepy


    【解决方案1】:

    我无法重新创建您的问题(可能是因为我使用的列表没有引发异常?),但下面的代码块对我有用。与您上面最显着的区别是我为 MoviePy 设置了一个选项来调整不同的帧大小。

    from moviepy.editor import *
    
    text_list = ["Piggy", "Kermit", "Gonzo", "Fozzie"]
    clip_list = []
    
    for text in text_list:
        try:
            txt_clip = TextClip(text, fontsize = 70, color = 'white').set_duration(2)
            clip_list.append(txt_clip)
        except UnicodeEncodeError:
            txt_clip = TextClip("Issue with text", fontsize = 70, color = 'white').set_duration(2) 
            clip_list.append(txt_clip)
    
    final_clip = concatenate(clip_list, method = "compose")
    final_clip.write_videofile("my_concatenation.mp4", fps = 24, codec = 'mpeg4')
    

    如果您有一个引发 unicode 编码错误的示例,也许我可以重现您的问题。您可能会发现这个其他问题很有用:How to concatenate videos in moviepy?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    相关资源
    最近更新 更多