.


Moviepy module de composition vidéo 

.

Téléchargement et Installation

.

Méthode avec pip : Si vous avez pip installé, il suffit de taper dans un terminal (il installera ez_setup si vous ne l’avez déjà)

pip install moviepy

Si vous n’avez pas installé setuptools ni ez_setup la commande ci-dessus échoue, il faut installer :

pip install ez_setup

  pip install –user numpy scipy matplotlib ipython jupyter pandas sympy nose

Télécharger les sources : soit sur PyPI ou (si vous voulez la version de développement) sur Github, décompressez tout dans un seul dossier, ouvrez un terminal et tapez

python setup.py install

Module Moviepy

MoviePy dépend des modules Python Numpy, imageio, Decorator et tqdm, qui s’installera automatiquement lors de l’installation de MoviePy. Il devrait fonctionner sur Windows/Mac/Linux, avec Python 2.7 + et 3 . MoviePy dépend du logiciel FFMPEG pour la lecture vidéo et l’écriture. Vous n’avez pas besoin de s’inquiéter à ce sujet, comme FFMPEG devrait être automatiquement téléchargé/installé par ImageIO lors de votre première utilisation de MoviePy (cela prend quelques secondes). Si vous souhaitez utiliser une version spécifique de FFMPEG, vous pouvez définir la FFMPEG_BINARY environnement variable voir moviepy/config_defaults.py pour plus de détails.

Autres dépendances facultatives mais utiles :

ImageMagick

ImageMagick n’est pas strictement nécessaire, seulement si vous voulez écrire des textes. Il peut également être utilisé comme backend pour GIFs mais vous pouvez faire des GIFs avec MoviePy sans ImageMagick. Une fois que vous l’avez installé, ImageMagick sera automatiquement détecté par MoviePy, sauf sur Windows !. Utilisateur de Windows, avant d’installer le MoviePy à la main, aller dans le fichier moviepy/config_defaults.py et de fournir le chemin vers le binaire d’ImageMagick appelé convert . Il devrait ressembler à ceci

IMAGEMAGICK_BINARY = 'C:\Program Files\ImageMagick_VERSION\convert.exe'

Vous pouvez également définir la IMAGEMAGICK_BINARY environnement variable voir moviepy/config_defaults.py pour plus de détails.

PyGame est nécessaire pour les prévisualisations audio et vidéo (inutile si vous avez l’intention de travailler avec MoviePy sur un serveur mais vraiment indispensable pour le montage vidéo avancé ).

Installation de scipy sur windows:

Pour un traitement d’une image avancé vous aurez besoin une ou plusieurs de ces paquets. Par exemple à l’aide de la méthode clip.resize exige qu’au moins un des Scipy, PIL, Pillow ou OpenCV sont installés.

  • Le Python Imaging Library (PIL) ou Pillow.
  • Scipy (pour le suivi, segmentation, etc.) et peut être utilisé pour redimensionner des clips vidéo si PIL et OpenCV ne sont pas installés sur votre ordinateur.
  • Scikit_Image peuvent être nécessaires pour une manipulation d’image avancée.
  • OpenCV 2.4.6_ ou plus récent (fournit le package cv2) ou plus récentes peuvent être nécessaires pour une manipulation d’image avancée.

Si vous êtes sous linux, ces logiciels seront sûrement dans votre système.

.

Propriétés de MoviePy

.

Utilisation du module Moviepy

  • Vous pouvez éditer des vidéos en Python :
  • Vous pouvez traiter beaucoup de vidéos et les modifier de façon compliquée.
  • Vous pouvez automatiser la création de vidéos ou de GIFs sur un serveur web (Django, Flask, etc..).
  • Vous pouvez automatiser, l’insertions de titres de sous-titres, etc…
  • Vous pouvez coder vos propres effets vidéo de façon originale.
  • Vous voulez créer des animations à partir des images python générées par une autre bibliothèque(Matplotlib, Mayavi, Gizeh, scikit-images…)

Analyse image par image.

  • L’analyse vidéo image par image (avec détection de visage ou autres trucs de fantaisie). Cela peut se faire avec MoviePy en liaison avec d’autres bibliothèques, imageio, OpenCV_ ou SimpleCV.
  • Vous voulez convertir un fichier vidéo, ou transformateur une série de fichiers image dans un film. Dans ce cas, il est préférable appeler directement ffmpeg (ou avconv ou mencoder).

.

Avantages et limites :

.

MoviePy a été développé avec les objectifs suivants à l’esprit :

  • Un simple intuitif : Opérations de base peuvent être faites en une seule ligne. Le code est facile à apprendre et facile à comprendre versez les nouveaux arrivants.
  • Flexible : Vous avez un contrôle total sur les trames de la vidéo et audio, et créer vos propres effets est facile.
  • Portable : Le code utilise un logiciel très commun (Numpy et FFMPEG) et peut fonctionner sur (presque) n’importe quelle machine avec (presque) n’importe quelle version de Python.

.

Les commandes:

.

Commande Effet.
from moviepy.editor import *
Importation pour éditer des clips vidéo.
clip = VideoFileClip("video.mp4")
Chargeur de la video.mp4.
clip = VideoFileClip("video.mp4").subclip(50,60)
Puis de la vidéo de 50 minutes à 60 minutes.
clip = clip.volumex(0.5)
Réduire le volume sonore (volume multiplié par 0,5).
txt_clip = TextClip ("Ma vidéo") )
Générer un élément de texte.
fontsize = 8, color = "red" , font="verdana-Bold"
Personaliser le texte. fontsize : taille de la police.
txt_clip = txt_clip.set_pos('center').set_duration(15)
Apparition du texte pendant 15 secondes au centre de l’écran.
video = CompositeVideoClip([clip, txt_clip])
Intégrer l’élément de texte sur le premier clip vidéo.
video.write_videofile("Mavideo.mpeg)
Sauvegarder dans un fichier.

.

Fonctionnement de MoviePy

.

MoviePy utilise le logiciel ffmpeg pour lire et exporter des fichiers audio et vidéo. Il est possible utiliser ImageMagick pour générer des textes et écrire des fichiers GIF. Le traitement des différents médias est assuré par la bibliothèque numérique rapide de Numpy Python. Des améliorations et des effets avancés utilisent une partie de Python nombreuses bibliothèques de traitement image (PIL , Scikit-image , scipy , etc…).

Objets principaux

  • Les objets principaux de MoviePy sont clips, qui peut être AudioClip ou Videoclips. Ils peuvent être modifiés (coupé, ralenti, assombrie…) ou mélangés et suvegardés dans un fichier (comme un MP4, un GIF, un MP3, etc..).
  • VideoClips peut être crée à partir d’un fichier vidéo, d’une image, d’un texte ou d’une animation personnalisée. Ils peuvent avoir une piste audio (qui est un AudioClip) et masque des Nations Unies (ONU spécial clip indiquant quelles parties du clip se cacher lorsque le clip est mélangé avec d’autres clips).
  • Un élément peut être modifié en utilisant l’un des effets comme dans clip.resize(width="360"), clip.subclip(t1,t2) ou clip.fx(vfx.black_white) . MoviePy utilise plusieurs fonctions (telles que “” clip.fl”“, “” clip.fx”“, etc.).

.

Lettres en mouvement :

.

  • Dispersion : la phrase ou le mot se disperse sur l’écran.
  • Réunion : la phrase ou le mot se reconstitue sur l’écran, avec les lettres qui proviennent de tous les côtés.
  • Cascade : la phrase ou le mot se reconstitue sur l’écran en tombant du haut de l’écran.
  • Translation : la phrase ou le mot se reconstitue sur l’écran en venat d’un côté ( c’est une translation en mathématiques ).

La dispersion

AFFICHAGE DE LETTRES se disperse.

eh5v.files/dispersion.gif

Le code

_images/m4disperse.PNG

La réunion

AFFICHAGE DE LETTRES se réuni.

html5 video by EasyHtml5Video.com v3.9.1

Le code

_images/m4reuni.PNG

La cascade

AFFICHAGE DE LETTRES tombe du haut.

html5 video by EasyHtml5Video.com v3.9.1

Le code

_images/cascade.PNG

La translation

AFFICHAGE DE LETTRES se réuni en partant d’un côté.

html5 video by EasyHtml5Video.com v3.9.1

Le code

_images/m4translation.PNG

educationdunumerique.fr. Tous  droits réservés. D Pérarnaud Limoges.