1. Einführung in die Textwelt von MoviePy
Also, los geht's in die magische Welt der Videobearbeitung mit Text. Stell dir vor, du bist ein Regisseur und deine Aufgabe ist es nicht nur, Charaktere sprechen zu lassen, sondern auch die Wörter zu steuern, die auf dem Bildschirm erscheinen. Ja, genau, das ist die Magie von Untertiteln und Titeln!
Bevor wir loslegen, ist es wichtig, eine einfache Sache zu verstehen: MoviePy ist nicht einfach irgendeine weitere Library für die Videobearbeitung. Es ist dein persönlicher Video-Designer, der dir helfen kann, deinem Projekt ein bisschen Glamour und Information zu verleihen. Du hast bereits die Grundlagen der Videobearbeitung gelernt: Schneiden, Zusammenfügen, ein paar Spezialeffekte — Zeit für das nächste Level.
Warum Text hinzufügen?
Text in Videos spielt eine Schlüsselrolle — sei es als Informationsnachrichten, stilisierte Titel oder die rettenden Untertitel für die, die spät nachts zuschauen, während die Nachbarn schlafen. Mit MoviePy kannst du das einfach und stilvoll umsetzen.
2. Arbeiten mit Text
Fangen wir mit einfachen Textelementen an. Dafür bietet MoviePy eine großartige Funktion namens TextClip
, die es ermöglicht, Text zu deinen Clips hinzuzufügen.
Erstellen eines Textclips
Die Grundkonfiguration eines Textclips sieht so aus:
from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
# Videodatei öffnen
video = VideoFileClip("sample_video.mp4")
# Textclip erstellen
txt_clip = TextClip("Hallo, Welt!", fontsize=70, color='white')
# Dauer des Textclips festlegen
txt_clip = txt_clip.set_duration(video.duration)
# Position des Textes angeben
txt_clip = txt_clip.set_position('bottom')
# Video mit Text zusammensetzen
video_with_text = CompositeVideoClip([video, txt_clip])
# Ergebnis speichern
video_with_text.write_videofile("output_video_with_text.mp4", fps=24)
Anpassen von Schriftarten und Farben
Du kannst die Farbe, Schriftart und Größe des Textes ganz einfach anpassen. Im obigen Beispiel ist die Textfarbe weiß, aber du kannst eine andere wählen, z.B.:
txt_clip = TextClip("Hallo, Welt!", fontsize=70, font='Amiri-bold', color='yellow')
Auf ähnliche Weise kannst du die Schriftart ändern, vorausgesetzt, die gewünschte Schriftart ist auf deinem System installiert.
3. Positionierung des Textes auf dem Bildschirm
Die Positionierung des Textes kann mit dem Parameter set_position()
angepasst werden, der sowohl Textwerte (z. B. 'center'
, 'bottom'
) als auch Koordinaten akzeptiert.
Platzierung des Textes an verschiedenen Positionen
# Text oben zentriert
text_top = TextClip("Oben Text", fontsize=30, color='blue').set_position(('center', 'top')).set_duration(5)
# Text unten zentriert
text_bottom = TextClip("Text unten", fontsize=30, color='green').set_position(('center', 'bottom')).set_duration(5)
# Text an bestimmten Koordinaten (x=100, y=100)
text_coords = TextClip("Text bei Koordinaten", fontsize=30, color='red').set_position((100, 100)).set_duration(5)
# Alle Texte zum Video hinzufügen
final_video = CompositeVideoClip([video, text_top, text_bottom, text_coords])
final_video.write_videofile("video_with_positioned_text.mp4")
Hier:
('center', 'top')
: Platziert den Text oben zentriert.('center', 'bottom')
: Platziert den Text unten zentriert.(100, 100)
: Legt die Position des Textes anhand spezifischer Koordinaten fest.
Dynamisches Aktualisieren des Textes
Nicht nur Text hinzufügen, sondern ihn auch zum Leben erwecken — das macht ein Video wirklich fesselnd. Lass uns versuchen, Text zu animieren.
def move_text(t):
return 10, 100 * t # Text nach unten verschieben mit der Zeit
txt_clip = txt_clip.set_pos(move_text).set_duration(3)
GO TO FULL VERSION