MoviePy – montage vidéo avec Python

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

MoviePy pour Python : guide complet du montage vidéo

Introduction à la bibliothèque MoviePy

Travailler avec la vidéo est souvent associé à des outils lourds et des API complexes. Mais en Python, il existe une bibliothèque qui rend le montage vidéo simple et expressif : MoviePy. Elle permet de créer, éditer, combiner et exporter des vidéos avec un minimum de code.

MoviePy est construite sur FFmpeg et prend en charge de nombreux formats vidéo et audio. La bibliothèque est idéale pour créer des vidéos dynamiques, générer des mèmes, effectuer du montage programmatique, de l'animation et synchroniser avec l'audio. MoviePy est activement utilisée par les développeurs pour automatiser la production vidéo, créer du contenu pour les réseaux sociaux et traiter des fichiers multimédia à grande échelle.

Les principaux avantages de MoviePy incluent une syntaxe simple, des fonctionnalités riches, la prise en charge de nombreux formats, l'intégration avec NumPy et la possibilité de créer des compositions complexes sans connaissances approfondies des codecs vidéo.

Installation et configuration de MoviePy

Installation via pip

pip install moviepy

Dépendances supplémentaires

Pour un fonctionnement correct, MoviePy nécessite FFmpeg. Dans la plupart des cas, il s'installe automatiquement, mais en cas de problème :

Windows :

# Via chocolatey
choco install ffmpeg

# Ou télécharger depuis le site officiel

macOS :

brew install ffmpeg

Linux :

sudo apt install ffmpeg  # Ubuntu/Debian
sudo yum install ffmpeg  # CentOS/RHEL

Vérification de l'installation

from moviepy.editor import VideoFileClip
print("MoviePy installé avec succès !")

Bases du travail avec les fichiers vidéo

Chargement d'une vidéo

from moviepy.editor import VideoFileClip

# Chargement du fichier vidéo
clip = VideoFileClip("video.mp4")

# Obtention des informations sur la vidéo
print(f"Durée : {clip.duration} secondes")
print(f"Taille : {clip.size}")
print(f"FPS : {clip.fps}")

Travail avec différents formats

MoviePy prend en charge une large gamme de formats vidéo :

  • MP4, AVI, MOV, WMV
  • MKV, FLV, WebM
  • GIF (format d'entrée et de sortie)

Opérations de montage de base

Coupe et découpage vidéo

# Coupe temporelle
clip_cut = clip.subclip(10, 20)  # de la 10e à la 20e seconde

# Coupe depuis le début
clip_from_start = clip.subclip(0, 30)

# Coupe jusqu'à la fin
clip_to_end = clip.subclip(15)

# Suppression d'un fragment
clip_without_part = clip.cutout(5, 15)

Redimensionnement et qualité

# Redimensionnement par hauteur
resized = clip.resize(height=480)

# Redimensionnement par largeur
resized = clip.resize(width=640)

# Mise à l'échelle proportionnelle
resized = clip.resize(0.5)  # 50% de la taille d'origine

# Changement de FPS
fps_changed = clip.set_fps(30)

Rotation et miroir

# Rotation à 90 degrés
rotated = clip.rotate(90)

# Miroir horizontal
from moviepy.video.fx import mirror_x
mirrored = mirror_x(clip)

# Miroir vertical
from moviepy.video.fx import mirror_y
mirrored_y = mirror_y(clip)

Travail avec le texte et les titres

Création de clips textuels

from moviepy.editor import TextClip, CompositeVideoClip

# Texte simple
text = TextClip("Bonjour le monde !", fontsize=70, color='white', font='Arial-Bold')
text = text.set_position('center').set_duration(5)

# Texte avec fond
text_with_bg = TextClip("Titre", fontsize=50, color='white',                    

Recommendations