Notiz
MoviePy wurde kürzlich auf Version 2.0 aktualisiert und führt wichtige Änderungen ein. Sie können die letzten v1-Dokumente hier einsehen, aber beachten Sie, dass v1 nicht mehr gepflegt wird. Weitere Informationen zum Aktualisieren Ihres Codes von Version 1 auf Version 2 finden Sie in dieser Anleitung.
MoviePy (Online-Dokumentation hier) ist eine Python-Bibliothek für die Videobearbeitung: Schnitte, Verkettungen, Titeleinfügungen, Video-Compositing (auch nichtlineare Bearbeitung genannt), Videoverarbeitung und Erstellung benutzerdefinierter Effekte.
MoviePy kann alle gängigen Audio- und Videoformate, einschließlich GIF, lesen und schreiben und läuft unter Windows/Mac/Linux mit Python 3.9+.
In diesem Beispiel öffnen wir eine Videodatei, wählen den Subclip zwischen 10 und 20 Sekunden aus, fügen einen Titel in der Mitte des Bildschirms hinzu und schreiben das Ergebnis in eine neue Datei:
from moviepy import VideoFileClip , TextClip , CompositeVideoClip
# Load file example.mp4 and keep only the subclip from 00:00:10 to 00:00:20
# Reduce the audio volume to 80% of its original volume
clip = (
VideoFileClip ( "long_examples/example2.mp4" )
. subclipped ( 10 , 20 )
. with_volume_scaled ( 0.8 )
)
# Generate a text clip. You can customize the font, color, etc.
txt_clip = TextClip (
font = "Arial.ttf" ,
text = "Hello there!" ,
font_size = 70 ,
color = 'white'
). with_duration ( 10 ). with_position ( 'center' )
# Overlay the text clip on the first video clip
final_video = CompositeVideoClip ([ clip , txt_clip ])
final_video . write_videofile ( "result.mp4" )
Unter der Haube importiert MoviePy Medien (Videobilder, Bilder, Sounds) und konvertiert sie in Python-Objekte (Numpy-Arrays), sodass auf jedes Pixel zugegriffen werden kann und Video- oder Audioeffekte in nur wenigen Codezeilen definiert werden können (siehe integrierte Effekte als Beispiele).
Die Bibliothek bietet auch Möglichkeiten, Clips miteinander zu mischen (Verkettungen, Abspielen von Clips nebeneinander oder übereinander mit Transparenz usw.). Der endgültige Clip wird dann wieder in mp4/webm/gif/etc kodiert.
Dies macht MoviePy sehr flexibel und zugänglich, wenn auch langsamer als die direkte Verwendung von ffmpeg aufgrund der aufwändigeren Datenimport-/-exportvorgänge.
Moviepy mit pip install moviepy
. Weitere Installationsoptionen, z. B. ein benutzerdefiniertes FFMPEG oder eine Vorschau, finden Sie in diesem Abschnitt. Klonen Sie für die Entwicklung dieses Repo lokal und installieren Sie es mit pip install -e .
Die Online-Dokumentation (hier) wird bei jedem Push an den Master-Zweig automatisch erstellt. Um die Dokumentation lokal zu erstellen, installieren Sie die zusätzlichen Abhängigkeiten über pip install moviepy[doc]
, gehen Sie dann zum Ordner docs
und führen Sie make html
aus.
MoviePy ist eine Open-Source-Software, die ursprünglich von Zulko geschrieben und unter der MIT-Lizenz veröffentlicht wurde. Das Projekt wird auf GitHub gehostet, wo jeder willkommen ist, Beiträge zu leisten und Probleme zu eröffnen oder Feedback zu geben. Bitte lesen Sie unsere Richtlinien für Beiträge. Um um Hilfe zu bitten oder einfach nur die Verwendung und Beispiele zu besprechen, nutzen Sie unseren Reddit-Kanal.
Betreuer gesucht! Diese Bibliothek wurde nur durch die Beteiligung ihrer Betreuer am Leben gehalten, und es gibt Zeiten, in denen keiner von uns über genügend Bandbreite verfügt. Wir würden gerne von Entwicklern hören, die daran interessiert sind, mitzuhelfen und einige der Probleme (insbesondere die, die Sie betreffen) zu lösen oder Pull-Anfragen zu prüfen. Eröffnen Sie ein Problem oder kontaktieren Sie uns direkt, wenn Sie interessiert sind. Danke!