CodeGym /Java Kurs /Python SELF DE /Einführung in die Videobearbeitung mit MoviePy

Einführung in die Videobearbeitung mit MoviePy

Python SELF DE
Level 47 , Lektion 0
Verfügbar

1. Was ist MoviePy und warum ist es so cool?

Hallo, liebe Studierende! Heute tauchen wir in die aufregende Welt der Videobearbeitung mit MoviePy ein – ein Tool, das euch erlaubt, aus alltäglichen Clips Videomagie zu kreieren. Falls ihr je gedacht habt, dass Videocutting nur etwas für Profis mit teuren Tools ist, werde ich euch heute vom Gegenteil überzeugen. Los geht’s!

MoviePy ist eine Python-Bibliothek zur Videobearbeitung. Sie ermöglicht euch, Videodateien zu lesen, zu schreiben, zu ändern und sogar mit Audio zu arbeiten! Und das alles, ohne einen Kurs in Videocutting belegen zu müssen. Ein bisschen Magie, und euer Python beginnt Videos in jeder Sprache zu "sprechen", die ihr ihm vorgibt.

Warum MoviePy?

  • Einfache Handhabung: MoviePy hat eine intuitive Oberfläche, mit der man Videos bearbeiten kann, ohne im Code-Dschungel zu stranden.
  • Vielseitigkeit: Von Videoschnitt bis zum Hinzufügen von Texten und Effekten – MoviePy hilft bei den meisten Aufgaben.
  • Kompatibilität: Funktioniert auf verschiedenen Plattformen und kann mit anderen Bibliotheken wie NumPy und PIL (Pillow) verwendet werden.

2. Installation von MoviePy

Lass uns MoviePy installieren! Dazu brauchst du Python und die Möglichkeit, Pakete aus dem Internet zu installieren. Verbinde dich mit dem WLAN (oder nutze GitHub als kostenloses WLAN – Profis machen das angeblich so), öffne das Terminal und gib ein:


pip install moviepy

Falls etwas schief geht, mach dir keine Sorgen! Wir sind in der Welt der Programmierung, wo „alles geht schief“ nicht mal ein Bug ist, sondern eher ein verbessertes Feature.

Probleme bei der Installation lösen

Wenn bei der Installation Fehler auftreten, wirf deinen Computer nicht auf den Müll. Versuche Folgendes:

  • Prüfe deine Python-Version: MoviePy benötigt Python Version 3.5 oder höher.
  • Stelle sicher, dass alle Abhängigkeiten installiert sind: Für einige Funktionen benötigt MoviePy FFMPEG. Installiere es gemäß den Anweisungen auf der offiziellen FFMPEG-Seite.
  • Nutze eine virtuelle Umgebung: In manchen Fällen können Abhängigkeitskonflikte durch das Erstellen einer neuen virtuellen Umgebung gelöst werden. Probier python -m venv myenv.

3. Video öffnen und lesen

Jetzt, wo MoviePy installiert ist, können wir loslegen. Stell dir vor, du nimmst einen alten Kinoprojektor und beginnst, den Filmstreifen in kleine Stücke aufzuteilen, um ein neues Meisterwerk zu schaffen. Schauen wir uns an, wie das im Code funktioniert.

Um mit Videos in MoviePy zu arbeiten, wird die Klasse VideoFileClip verwendet, die euch das Laden und Bearbeiten von Videodateien ermöglicht. Das Öffnen einer Videodatei ist der erste Schritt, um Zugriff auf deren Eigenschaften und Bearbeitungsmöglichkeiten zu erhalten.

Videodatei öffnen


from moviepy.editor import VideoFileClip

# Videodatei öffnen
video = VideoFileClip("sample_video.mp4")

# Grundlegende Informationen über das Video abrufen
print("Dauer:", video.duration, "Sekunden")
print("Auflösung:", video.size)
print("Framerate:", video.fps, "Frames pro Sekunde")

Code-Erklärung

  • VideoFileClip("sample_video.mp4"): Lädt die Videodatei sample_video.mp4 und erstellt ein Objekt video, mit dem gearbeitet werden kann.
  • video.duration: Zeigt die Dauer des Videos in Sekunden an.
  • video.size: Gibt die Videoauflösung (Breite und Höhe) zurück.
  • video.fps: Gibt die Framerate des Videos (Frames per Second) zurück.

4. Videogröße ändern

Manchmal muss die Größe eines Videos für Veröffentlichungen oder Optimierung geändert werden. Mit MoviePy kann dies mit der Methode resize() erfolgen, die das Video auf die gewünschte Größe oder einen Prozentsatz der Originalgröße skalieren lässt.

Beispiel


# Video auf 50% der Originalgröße verkleinern
video_resized = video.resize(0.5)
video_resized.write_videofile("resized_video.mp4")

Code-Erklärung

  • video.resize(0.5): Verkleinert das Video auf 50% der Originalgröße.
  • write_videofile(): Speichert das Ergebnis als neue Videodatei resized_video.mp4.

Neben der Skalierung in Prozent kann auch eine genaue Größe angegeben werden, z. B. die Breite des Videos auf 640 Pixel ändern:


# Breite des Videos auf 640 Pixel setzen
video_resized = video.resize(width=640)
video_resized.write_videofile("resized_video_640.mp4")

Wenn nur eine Seite angegeben wird (z. B. width=640), wird die andere Seite automatisch berechnet, um das Seitenverhältnis beizubehalten.

5. Video zuschneiden (crop)

Zuschneiden (crop) ist eine nützliche Operation, wenn unnötige Teile des Videos entfernt werden sollen und nur ein bestimmter Bereich übrig bleibt. Mit der Methode crop() können die Zuschneidekoordinaten angegeben werden: obere und untere Grenzen sowie linke und rechte Seiten.

Beispiel


# Video zuschneiden: Bereiche an den Rändern entfernen
video_cropped = video.crop(x1=50, y1=50, x2=500, y2=400)
video_cropped.write_videofile("cropped_video.mp4")

Code-Erklärung

  • video.crop(x1=50, y1=50, x2=500, y2=400): Schneidet das Video und behält den Bereich von Koordinate (50, 50) bis (500, 400).
  • write_videofile(): Speichert das zugeschnittene Video unter cropped_video.mp4.

6. Video drehen

MoviePy unterstützt auch das Drehen von Videos um 90, 180 oder 270 Grad, was nützlich ist, wenn mit Videos gearbeitet wird, die in verschiedenen Ausrichtungen aufgenommen wurden.

Video um 90 Grad drehen


# Video um 90 Grad drehen
video_rotated = video.rotate(90)
video_rotated.write_videofile("rotated_video.mp4")

Code-Erklärung

  • video.rotate(90): Dreht das Video um 90 Grad im Uhrzeigersinn.
  • write_videofile(): Speichert das gedrehte Video unter rotated_video.mp4.

7. Wiedergabegeschwindigkeit ändern

In manchen Fällen ist es nützlich, ein Video zu beschleunigen oder zu verlangsamen. Mit der Methode fx von MoviePy kann die Wiedergabegeschwindigkeit geändert werden.

Video 2x schneller abspielen


from moviepy.video.fx.all import speedx

# Video 2x schneller abspielen
video_fast = video.fx(speedx, 2)
video_fast.write_videofile("fast_video.mp4")

Code-Erklärung

  • video.fx(speedx, 2): Beschleunigt das Video um das Zweifache. Um das Video zu verlangsamen, kann ein Wert kleiner als 1 verwendet werden (z. B. 0.5).
  • write_videofile(): Speichert das beschleunigte Video unter fast_video.mp4.

8. Video nach Zeit zuschneiden (Clip erstellen)

MoviePy ermöglicht es auch, Videos nach Zeit zu schneiden, was nützlich ist, um einen bestimmten Abschnitt eines Videos hervorzuheben.

Beispiel: Video von Sekunde 10 bis 30 zuschneiden


# Video auf Zeitabschnitt von 10 bis 30 Sekunden beschneiden
video_subclip = video.subclip(10, 30)
video_subclip.write_videofile("subclip_video.mp4")

Code-Erklärung

  • video.subclip(10, 30): Erstellt einen neuen Videoclip, der bei Sekunde 10 beginnt und bei Sekunde 30 des Originalvideos endet.
  • write_videofile(): Speichert den zugeschnittenen Abschnitt unter subclip_video.mp4.

9. Änderungen speichern und Video exportieren

Nach der Bearbeitung eines Videos ist es wichtig, die Änderungen zu speichern. MoviePy verwendet die Methode write_videofile(), um Videos in verschiedenen Formaten zu exportieren.

Beispiel: Export mit angepassten Parametern


# Video mit angepassten Qualitätsparametern speichern
video_resized.write_videofile(
    "output_video.mp4", 
    codec="libx264",     # Codec für das Video (z. B. libx264 für MP4)
    audio_codec="aac",   # Codec für das Audio (z. B. aac)
    bitrate="5000k"      # Bitrate zur Qualitätsanpassung
)

Code-Erklärung

  • codec: Legt den Codec für die Videokomprimierung fest. Zum Beispiel libx264 für das MP4-Format.
  • audio_codec: Legt den Codec für die Audiospur fest (z. B. aac).
  • bitrate: Passt die Qualität und Größe des Videos an (5000 kbps für hohe Qualität).

Beispiel eines vollständigen Funktionscodes

Lass uns die besprochenen Methoden in einem Beispiel kombinieren, das ein Video öffnet, seine Größe ändert, es dreht, beschleunigt, schneidet und das Ergebnis speichert.


from moviepy.editor import VideoFileClip
from moviepy.video.fx.all import speedx

# Videodatei öffnen
video = VideoFileClip("sample_video.mp4")

# Auf 50% der Originalgröße skalieren
video_resized = video.resize(0.5)

# Um 90 Grad drehen
video_rotated = video_resized.rotate(90)

# Video um das 1.5-fache beschleunigen
video_fast = video_rotated.fx(speedx, 1.5)

# Auf Zeitabschnitt von 5 bis 20 Sekunden zuschneiden
video_subclip = video_fast.subclip(5, 20)

# Bearbeitetes Video speichern
video_subclip.write_videofile("final_output.mp4", codec="libx264", audio_codec="aac", bitrate="3000k")

10. Typische Fehler

Falls Probleme mit MoviePy auftreten, reiß dir nicht gleich die Haare aus. Hier einige häufige Probleme und deren Lösungen:

  • Probleme mit Codecs: Falls deine Datei nicht gespeichert werden kann, liegt das möglicherweise an den Codecs. Füge codec="libx264" in die write_videofile-Methode ein.
  • FFMPEG-Fehler: Stelle sicher, dass FFMPEG installiert ist und im PATH deines Systems angegeben ist. Dies kannst du überprüfen, indem du ffmpeg in der Kommandozeile ausführst.

Praktische Anwendungen

Wie bereits erwähnt, kann MoviePy euer treuer Begleiter beim Erstellen von Content für YouTube-Kanäle, Schulungen, Präsentationen und mehr sein. Diese Fähigkeiten sind auch nützlich für die Erstellung von Videoberichten, die Bearbeitung von Werbematerialien und sogar bei Bewerbungsgesprächen, wenn ihr eure Vielseitigkeit beeindrucken möchtet.

Also, Freunde, jetzt, wo ihr die Grundlagen von MoviePy kennt, habt ihr alles, was ihr braucht, um echte Videomagie zu schaffen. Vor uns liegen noch weitere Abenteuer mit Video und Audio – also holt euch Popcorn und bleibt mit uns auf der Coding-Welle!

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION