MoviePy dans Python

MoviePy dans Python
Dans Python, il y a un module pour tout, et il y en a un pour l'édition vidéo également. MoviePy est une bibliothèque Python qui est utilisée pour la coupe vidéo, les concaténations, les insertions de titre, la composition vidéo, le traitement vidéo et l'ajout de quelques effets. MoviePy peut être utilisé conjointement avec les formats audio et vidéo les plus courants. Cependant, MoviePy ne peut pas être utilisé avec des webcams ou avec des vidéos en direct. De plus, il est pris en charge par Windows, MacOS et Linux. Dans ce tutoriel, nous apprendrons le module MoviePy dans Python.

Film

Pour installer MoviePy:

pip install moviepy

Coupure de vidéo

Dans le premier cas, apprenons à couper une vidéo. Premièrement, prenez la vidéo à l'aide de vidéofileClip () (comme argument, donnez-lui le nom de la vidéo). Puis utilisez subclip () pour spécifier le délai que vous souhaitez découvrir. Ensuite, nous voulons enregistrer le fichier que nous venons de découper; Pour cela, nous utilisons write_videofile () et lui donnons le nom que nous voulons qu'il soit enregistré comme.

Par exemple:

principal.py de filmpy.Éditeur Import VideoFileClip
# Utilisez subclip () pour spécifier le délai que vous souhaitez
cut_video_1 = videofileclip ("vidéo.MP4 ").Subclip (20,30)
cut_video_2 = videofileclip ("vidéo.MP4 ").Subclip (40,50)
cut_video_3 = videofileclip ("vidéo.MP4 ").Subclip (60,70)
# Utilisez write_videofile () pour enregistrer le fichier
Cut_video_1.write_videofile ("cut_video_1.MP4 ")
Cut_video_2.write_videofile ("cut_video_2.MP4 ")
Cut_video_3.write_videofile ("cut_video_3.MP4 ")

Ce dernier créera trois vidéos à partir du fichier vidéo principal appelé "vidéo.MP4 ”. Il faudra "Video.mp4 ”et coupez-le puis enregistrez-le sous Cut_video_1.M4, Cut_video_2.mp4 et cut_video_3.MP4.

Fusion vidéo

Maintenant, fusionnons les trois morceaux que nous avons créés dans la section précédente. Ici, encore une fois, choisissez trois segments que vous aimeriez fusionner avec subclip (). Utilisez ensuite concatenate_videoClips () pour fusionner les fichiers ensemble; Ici, notez que les fichiers doivent être placés dans une liste! Afin de sauvegarder le fichier fusionné, nous utiliserons encore une fois Write_videoFile (); Cependant, ici, vous devez faire attention. Si vous ne souhaitez pas obtenir d'erreur de valeur, vous devez spécifier les codecs.

Les codecs sont les suivants:

Extension Codec
MP4 libx264
OGV libtheora
webm libvpx
ogg libvorbis
mp3 pcm_s16le
wav libvorbis
M4A libfdk_aac

Veuillez noter que lors de la dénomination du fichier fusionné, vous devez également saisir une extension (par exemple, dans mon cas, il a été fusionné_video.MP4).

principal.py de filmpy.Éditeur Import VideoFileClip, concatenate_videoclips
cut_video_1 = videofileclip ("vidéo.MP4 ").Subclip (20,30)
cut_video_2 = videofileclip ("vidéo.MP4 ").Subclip (40,50)
cut_video_3 = videofileclip ("vidéo.MP4 ").Subclip (70,80)
fusion = concatenate_videoclips ([cut_video_1, cut_video_2, cut_video_3])
fusionné.write_videofile ("fusion_video.mp4 ", fps = 30, threads = 1, codec =" libx264 ")

Si vous souhaitez utiliser les fichiers existants et ne pas utiliser les subclips (), alors:

principal.py de filmpy.Éditeur Import VideoFileClip, concatenate_videoclips
# Lisez les fichiers vidéo
cut_video_1 = videofileClip ("cut_video_1.MP4 ")
cut_video_2 = videofileClip ("cut_video_2.MP4 ")
cut_video_3 = videofileClip ("cut_video_3.MP4 ")
# concaténer les fichiers
fusion = concatenate_videoclips ([cut_video_1, cut_video_2, cut_video_3])
# Enregistrer le fichier fusionné
fusionné.write_videofile ("Merged_video_2.mp4 ", fps = 30, threads = 1, codec =" libx264 ")

Insertions de titre

Ensuite, choisissons un clip et ajoutons-y un titre. Ici, pour y parvenir, vous devrez installer ImageMagick:

sudo apt-get install ImageMagick

Pour que cela fonctionne, vous devez apporter quelques modifications:

Sudo Nano / etc / ImageMagick-6 / Policy.xml

Commentez la ligne qui se lit comme suit:

En changeant ce dernier en ce qui suit:

Ici, vous lisez le fichier vidéo à l'aide de vidéofileClip (). Ensuite, vous insérez le texte que vous souhaitez en utilisant TextClip (). Ici, j'ai inséré le mot «Linuxhint» avec une taille de police de 75 et une couleur de blanc. Ensuite, vous pouvez choisir l'endroit où le texte est inséré; Dans mon cas, je l'ai inséré au centre. Enfin, vous pouvez définir la durée en utilisant set_duration (). Fuffez ensuite la vidéo et le texte à l'aide de CompositevideOclip () et enregistrez-le à l'aide de Write_videoFile ().

principal.py de filmpy.Éditeur Import *
video = videofileClip ("cut_video_1.MP4 ”)
text = textClip («Linuxhint», FonTSize = 75, Color = 'White')
text2 = texte.set_pos ('Centre').set_duration (3)
VIDEO2 = CompositevideOclip ([vidéo, text2])
vidéo2.write_videofile («textait.MP4 ”)

Modification du volume

Vous pouvez également modifier le volume de la vidéo. Tout d'abord, lisez le fichier vidéo à l'aide de videoFileClip (), puis modifiez le volume à l'aide de volumex (). Un seul argument - le montant à augmenter ou à réduire - est transmis à Volumex (). Dans mon cas, j'ai décidé d'augmenter le volume d'un facteur 1.8.

principal.py de filmpy.Éditeur Import VideoFileClip
# Lire un fichier vidéo
video_1 = videofileClip ("vidéo.MP4 ")
# Modifier le volume
vidéo_2 = vidéo_1.Volumex (1.8)
# sauvegarder
vidéo_2.write_videofile ("volume_boost.MP4 ")

Redimensionner la vidéo

Pour redimensionner la vidéo, vous devez d'abord le lire à l'aide de VideoFileClip (), puis d'utiliser fx (). Fx () prend deux arguments; Le deuxième argument est la largeur de la vidéo (que vous pouvez définir).

principal.py de filmpy.Éditeur Import *
# Lire un fichier vidéo
video_1 = videofileClip ("vidéo.MP4 ")
# redimensionner
vidéo_2 = vidéo_1.fx (vfx.redimensionner, largeur = 880)
# sauvegarder
vidéo_2.write_videofile ("largement élargi.MP4 ")

Cependant, vous pouvez faire beaucoup, beaucoup plus!

Par exemple, si vous vouliez transformer la vidéo en noir et blanc (attention, ici, les choses sont sensibles à la casse):

principal.py de filmpy.Éditeur Import *
Importer MoviePy
# Lire un fichier vidéo
video_1 = videofileClip ("vidéo.MP4 ")
# modifier
vidéo_2 = filmpy.vidéo.fx.tous.Blackwhite (vidéo_1, rgb = aucun, préserve_luminosity = true)
# sauvegarder
vidéo_2.write_videofile ("noir.MP4 ")

De nombreuses autres options peuvent être trouvées à https: // zulko.github.io / filmpy / ref / videofx.html.

À gif

Vous pouvez également créer des GIF. Dans ce cas, vous faites ce que vous voulez faire à la vidéo (ex: coupe, noir et blanc, redimensionner, etc…), puis utiliser write_gif () pour créer un gif.

principal.py de filmpy.Éditeur Import *
Importer MoviePy
# Lire un fichier vidéo
video_1 = videofileClip ("cut_video_1.MP4 ")
# modifier
vidéo_2 = filmpy.vidéo.fx.tous.Blackwhite (vidéo_1, rgb = aucun, préserve_luminosity = true)
# sauvegarder
vidéo_2.write_gif ("gif.gif ")

Sans audio

Une autre fonctionnalité intéressante consiste à supprimer l'audio de la vidéo. Pour supprimer l'audio, passez la vidéo à sans_audio ().

principal.py de filmpy.Éditeur Import *
Importer MoviePy
# Lire un fichier vidéo
video_1 = videofileClip ("cut_video_1.MP4 ")
# modifier
vidéo_2 = vidéo_1.sans_audio ()
# sauvegarder
vidéo_2.write_videofile ("woaudio.MP4 ")

l'audio

Audio Wise, MoviePy propose audio_fadein (), audio_fadeout (), audio_loop (), audio_ormalize () et volumex (). En savoir plus à ce sujet peut être trouvé sur https: // zulko.github.io / filmpy / ref / Audiofx.html.

Plus d'informations sur la façon d'utiliser ce module peuvent être trouvées à https: // zulko.github.io / filmpy / ref / refot.html.

MoviePy est une bibliothèque Python conçue pour modifier les vidéos. MoviePy est basé sur FFMPEG et IMAMEMAGICK. Et de plus, il utilise ffmpeg et imagemagick et c'est donc très, très puissant! Cela signifie également que les deux doivent être installés et fonctionner. MoviePy fait un travail fantastique de modification des vidéos! Il y avait tellement de choses que l'on pouvait faire à la vidéo que j'étais juste en admiration! MoviePy peut couper des vidéos, fusionner des vidéos, ajouter des titres, etc… c'est tout un petit package!

Codage heureux!