CodeGym /Cours Java /Python SELF FR /Création vidéo complexe avec MoviePy : titres, musique et...

Création vidéo complexe avec MoviePy : titres, musique et effets animés

Python SELF FR
Niveau 48 , Leçon 3
Disponible

1. Composition vidéo : combiner toutes les techniques apprises

Aujourd'hui, on va créer quelque chose de spécial — une vidéo complexe avec des titres, un fond musical et des effets animés, en utilisant la bibliothèque MoviePy. Mais avant de se plonger dans le processus créatif, devine quoi : as-tu déjà essayé d'ajouter du texte sur une vidéo et de le synchroniser avec une piste audio ? Si ce n'est pas encore le cas, il est temps d'apprendre ces compétences et de ressentir toute la puissance de l'automatisation dans le monde de la production vidéo !

Avant de commencer, rappelons-nous ce que nous avons déjà appris dans les cours précédents. On a appris à extraire et traiter des clips vidéo et audio, à ajouter du texte et des graphismes, et à travailler avec l'animation et les effets. Maintenant, le moment est venu de tout réunir et de créer notre chef-d'œuvre.

Les étapes principales pour créer une composition vidéo complexe

  1. Ajouter des titres : Les titres de début et de fin marquent le début et la fin du projet vidéo.
  2. Musique de fond : Une musique de fond ajoute une ambiance émotionnelle à la vidéo.
  3. Effets animés : Les textes et images animés rendent le contenu plus vivant et intéressant.

2. Création d'une vidéo complexe

Commençons par la tâche principale — créer un projet vidéo qui inclut tous les éléments appris auparavant. Voici à quoi ça ressemble :


from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip, concatenate_videoclips
from moviepy.audio.AudioClip import CompositeAudioClip, AudioFileClip

# Charger le clip vidéo principal
main_clip = VideoFileClip("clips/scene1.mp4")

# Charger le fichier audio
background_music = AudioFileClip("audio/background.mp3")

# Créer des titres (par exemple, pour le début de la vidéo)
title_text = "Bienvenue dans notre chef-d'œuvre cinématographique !"
title_clip = TextClip(title_text, fontsize=70, color='white', bg_color='black', size=main_clip.size)
title_clip = title_clip.set_duration(5)

# Créer une vidéo composite en ajoutant les titres au-dessus de la vidéo principale
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0)])
    

On a commencé par créer une vidéo composite simple, en ajoutant des titres. Dans notre cas, les titres occupent les 5 premières secondes de la vidéo. Le secret réside dans l'utilisation de CompositeVideoClip, qui permet de combiner plusieurs clips vidéo et de les superposer.

Superposition des calques et animation des éléments

Pour rendre la vidéo plus vivante et dynamique, ajoutons quelques animations et graphismes. Supposons que l'on veuille ajouter un texte animé qui apparaît doucement dans le cadre.


from moviepy.editor import TextClip

# Créer un texte animé
animated_text = TextClip("Regardez et soyez inspirés !", fontsize=50, color='yellow', bg_color='black')
animated_text = animated_text.set_duration(3).set_position(lambda t: ('center', 200*(1 - t/3)))

# Ajouter le texte sur la vidéo, à partir de la 5ème seconde
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0), animated_text.set_start(5)])
    

La fonction set_position nous permet d'animer le texte en modifiant sa position en fonction du temps t. Dans ce cas, le texte descend doucement de haut en bas en 3 secondes.

Ajout d'un logo avec un effet de zoom

Si tu veux, tu peux ajouter ton propre logo (mais ce n'est pas obligatoire).


from moviepy.editor import ImageClip

logo = ImageClip("logo.png").set_duration(5)
logo = logo.resize(lambda t: 1 + 0.2 * t).set_position(('right', 'bottom'))
    

Voici ce qui se produit :

  • resize(lambda t: 1 + 0.2 * t) agrandit le logo de 20% chaque seconde, créant un effet de zoom.

3. Travail avec la musique de fond

Ajoutons maintenant une musique de fond pour rendre la vidéo plus captivante. Dans le monde de la vidéo, la musique représente les émotions. Elle fixe le ton de toute l'œuvre.

Charger la vidéo et ajouter une piste audio


from moviepy.editor import VideoFileClip, AudioFileClip

# Charger la vidéo principale et le fichier audio
video = VideoFileClip("main_video.mp4")
audio = AudioFileClip("background_music.mp3").subclip(0, video.duration)

# Ajouter la piste audio à la vidéo
video_with_audio = video.set_audio(audio)
    

Voici ce qui se passe :

  • AudioFileClip("background_music.mp3").subclip(0, video.duration) ajuste la piste audio à la durée de la vidéo.
  • set_audio(audio) ajoute la musique de fond à la vidéo.

Ou ajouter la musique comme seconde piste


# Ajouter l'audio au clip vidéo final
final_audio = CompositeAudioClip([main_clip.audio, background_music.set_duration(main_clip.duration).volumex(0.5)])
final_clip = final_clip.set_audio(final_audio)
    

On utilise CompositeAudioClip pour combiner la piste audio principale du clip vidéo avec la piste de musique de fond. Ici, la fonction volumex permet d'ajuster le volume de la musique, pour qu'elle ne couvre pas les commentaires vocaux (s'il y en a).

Synchronisation de l'audio avec la vidéo

Un point important avec l'audio : assure-toi que la piste musicale correspond à la durée de la vidéo. Tu peux le faire avec la méthode set_duration, comme montré plus haut.

4. Exportation et optimisation de la vidéo

Maintenant que notre projet vidéo est terminé, il est temps de retrousser les manches et de l'exporter dans un format pratique.

Exporter la vidéo


# Exporter la vidéo dans un fichier final
final_clip.write_videofile("final_video.mp4", codec='libx264', bitrate='800k')
    

Ici, on utilise la méthode write_videofile pour sauvegarder notre projet vidéo au format MP4. Il est important de choisir un codec approprié, comme libx264, qui garantit une bonne qualité et une compatibilité avec la plupart des appareils.

Tu en apprendras davantage sur l'exportation vidéo dans les cours suivants.

Optimisation pour le web et les réseaux sociaux

Lorsqu'on crée une vidéo pour le web ou les réseaux sociaux, il est important de réduire sa taille sans perdre en qualité. Cela peut être fait en ajustant un paramètre tel que bitrate. Choisis-le en fonction de la plateforme où tu comptes télécharger la vidéo.

Et voilà, ta vidéo est prête ! Félicitations, tu as créé ton premier chef-d'œuvre cinématographique avec MoviePy. N'oublie pas de partager tes résultats sur les réseaux sociaux et de voir l'impression qu'ils font sur tes amis et collègues. Bonne chance dans tes futures aventures dans le monde de la vidéo !

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