Mein Beispiel ist dieses, das mit etwa 4 it/s läuft, wobei beide Videos eine Auflösung von 1920 x 1080 haben und beide 10 Sekunden lang sind:
Code: Select all
from moviepy.editor import *
from moviepy.config import change_settings
change_settings({"IMAGEMAGICK_BINARY": "D:\\ImageMagick-7.1.1-Q16-HDRI\\magick.exe"})
def create(vid_path: str) -> CompositeVideoClip:
vid: VideoFileClip = VideoFileClip(vid_path)
vid = vid.crossfadein(0.8)
vid = vid.crossfadeout(0.8)
name_square: ImageClip = ImageClip(".\\square.png")
name_square = name_square.set_position(('center', 856))
name_square = name_square.set_duration(vid.duration)
name_square = name_square.crossfadein(1)
name_square = name_square.crossfadeout(1)
name_text: TextClip = TextClip(txt="Hello", fontsize=90, color="gray", font="MomCake")
name_text = name_text.set_position(("center", 870))
name_text = name_text.set_duration(vid.duration)
name_text = name_text.crossfadein(1)
name_text = name_text.crossfadeout(1)
comp_clip: CompositeVideoClip = CompositeVideoClip([vid, name_text])
return comp_clip
final: VideoFileClip = concatenate_videoclips([create("vid1.mp4"), create("vid2.mp4")])
final.write_videofile(f"final_vid.mp4", threads=12, preset="ultrafast", ffmpeg_params=['-b:v','10000k'])
Code: Select all
Intel i7-9700KCode: Select all
32GB of memoryCode: Select all
NVIDIA GeForce RTX 2060Ich verwende so viele ffmpeg-Funktionen von MoviePy wie möglich, um die Dinge zu beschleunigen, außer der Funktion write_videofile ist immer noch sehr langsam. Ich habe alle Optimierungen ausprobiert, die ich finden konnte, aber keine hat einen Unterschied gemacht. Mit einigen von ihnen kann ich die Iteration pro Sekunde um einen erheblichen Betrag steigern, aber nach ein paar Sekunden der Verarbeitung fällt diese Zahl steil ab und geht zurück auf 3-5it/s. Einige der Optimierungen, die ich ausprobiert habe, sind:
Code: Select all
threads=12Code: Select all
preset="ultrafast"Code: Select all
audio=FalseCode: Select all
logger=FalseCode: Select all
ffmpeg_params=['-b:v','10000k']
Mobile version