2
  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')
4

1 に答える 1

4

問題を再現することはできませんでしたが (おそらく、使用したリストでは例外が発生しなかったためでしょうか?)、以下のコード チャンクは機能します。上記のものとの最も大きな違いは、さまざまなフレーム サイズを調整するためのオプションを 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 エンコード エラーが発生する例があれば、問題を再現できるかもしれません。この他の質問が役に立つかもしれません: moviepy でビデオを連結する方法は?

于 2015-03-15T23:05:53.143 に答える