Note
MoviePy a récemment été mis à niveau vers la v2.0, introduisant des changements majeurs. Vous pouvez consulter les dernières docs v1 ici mais attention, la v1 n'est plus maintenue. Pour plus d'informations sur la façon de mettre à jour votre code de la v1 à la v2, consultez ce guide.
MoviePy (documentation en ligne ici) est une bibliothèque Python pour le montage vidéo : coupes, concaténations, insertions de titres, composition vidéo (c'est-à-dire montage non linéaire), traitement vidéo et création d'effets personnalisés.
MoviePy peut lire et écrire tous les formats audio et vidéo les plus courants, y compris GIF, et fonctionne sous Windows/Mac/Linux, avec Python 3.9+.
Dans cet exemple nous ouvrons un fichier vidéo, sélectionnons le sous-clip entre 10 et 20 secondes, ajoutons un titre au centre de l'écran, et écrivons le résultat dans un nouveau fichier :
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" )
Sous le capot, MoviePy importe des médias (images vidéo, images, sons) et les convertit en objets Python (tableaux numpy) afin que chaque pixel devienne accessible et que les effets vidéo ou audio puissent être définis en quelques lignes de code (voir le effets intégrés pour exemples).
La bibliothèque propose également des moyens de mélanger des clips entre eux (concaténations, lecture de clips côte à côte ou les uns sur les autres avec transparence, etc.). Le clip final est ensuite encodé en mp4/webm/gif/etc.
Cela rend MoviePy très flexible et accessible, bien que plus lent que l'utilisation directe de ffmpeg en raison d'opérations d'importation/exportation de données plus lourdes.
Installez moviepy avec pip install moviepy
. Pour des options d'installation supplémentaires, telles qu'un FFMPEG personnalisé ou pour un aperçu, consultez cette section. Pour le développement, clonez ce dépôt localement et installez-le avec pip install -e .
La documentation en ligne (ici) est automatiquement construite à chaque poussée vers la branche master. Pour créer la documentation localement, installez les dépendances supplémentaires via pip install moviepy[doc]
, puis accédez au dossier docs
et exécutez make html
.
MoviePy est un logiciel open source écrit à l'origine par Zulko et publié sous licence MIT. Le projet est hébergé sur GitHub, où tout le monde est invité à contribuer et à ouvrir des problèmes ou à donner son avis. Veuillez lire nos directives de contribution. Pour demander de l'aide ou simplement discuter d'utilisation et d'exemples, utilisez notre chaîne Reddit.
Mainteneurs recherchés ! cette bibliothèque n'a été maintenue à flot que grâce à l'implication de ses responsables, et il y a des moments où aucun d'entre nous n'a suffisamment de bande passante. Nous serions ravis d'entendre parler de développeurs intéressés à donner un coup de main et à résoudre certains problèmes (en particulier ceux qui vous concernent) ou à examiner les demandes d'extraction. Ouvrez un problème ou contactez-nous directement si vous êtes intéressé. Merci!