Moviepy in Python

Moviepy in Python
In Python, c'è un modulo per tutto, e ce n'è anche uno per l'editing video. Moviepy è una libreria Python che viene utilizzata per il taglio video, concatenazioni, inserimenti per il titolo, composizione video, elaborazione video e aggiunta alcuni effetti. Moviepy può essere usato insieme ai formati audio e video più comuni. Tuttavia, Moviepy non può essere utilizzato con webcam o con video in diretta. Inoltre, è supportato da Windows, MacOS e Linux. In questo tutorial, impareremo il modulo Moviepy in Python.

Moviepy

Per installare Moviepy:

PIP Installa moviepy

Tagliamento video

In primo luogo, impariamo a tagliare un video. Innanzitutto, prendi il video usando videofileClip () (come argomento, digli il nome del video). Quindi usa subclip () per specificare il lasso di tempo che si desidera essere tagliato. Quindi vogliamo salvare il file che abbiamo appena tagliato; Per questo, usiamo write_videofile () e diamo il nome che vogliamo salvare come.

Per esempio:

principale.Py di ​​Moviepy.Editor Import VideoFileClip
# Usa subclip () per specificare il periodo di tempo desiderato
Cut_Video_1 = VideoFileClip ("Video.mp4 ").subclip (20,30)
cut_video_2 = videOfileClip ("Video.Mp4 ").subclip (40,50)
Cut_Video_3 = VideoFileClip ("Video.Mp4 ").subclip (60,70)
# usa write_videofile () per salvare il file
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 ")

Quest'ultimo creerà tre video dal file video principale chiamato "Video.MP4 ". Ci vorrà "video.mp4 ”e taglialo e poi salvalo come cut_video_1.M4, CUT_VIDEO_2.mp4 e cut_video_3.MP4.

Video fusione

Ora unire i tre blocchi che abbiamo creato nella sezione precedente. Qui, ancora una volta, scegli tre segmenti che desideri unire con subclip (). Quindi utilizzare concatenate_videoclips () per unire i file insieme; Qui, si noti che i file devono essere inseriti in un elenco! Per salvare il file unita, ancora una volta, useremo write_videofile (); Tuttavia, qui, devi stare attento. Se non si desidera ottenere un errore del valore, devi specificare i codec.

I codec sono i seguenti:

Estensione Codec
MP4 libx264
Ogv libtheora
WebM libvpx
Ogg libvorbis
mp3 PCM_S16LE
Wav libvorbis
M4A libfdk_aac

Si prega di notare che quando si nomina il file unita, è necessario inserire anche un'estensione (ad esempio, nel mio caso, è stato fuso_video.MP4).

principale.Py di ​​Moviepy.Editor Import VideoFileClip, ConcateNate_Videoclips
Cut_Video_1 = VideoFileClip ("Video.Mp4 ").subclip (20,30)
cut_video_2 = videOfileClip ("Video.Mp4 ").subclip (40,50)
Cut_Video_3 = VideoFileClip ("Video.Mp4 ").subclip (70,80)
MONDED = ConcateNate_VideocLips ([Cut_Video_1, Cut_Video_2, Cut_Video_3])
unito.write_videofile ("mEdge_video.mp4 ", fps = 30, threads = 1, codec =" libx264 ")

Se desideri utilizzare i file esistenti e non utilizzare i subclips (), quindi:

principale.Py di ​​Moviepy.Editor Import VideoFileClip, ConcateNate_Videoclips
# Leggi i file video
Cut_Video_1 = VideoFileClip ("Cut_Video_1.mp4 ")
cut_video_2 = videOfileClip ("Cut_Video_2.mp4 ")
cut_video_3 = videOfileClip ("Cut_Video_3.mp4 ")
# Concatena i file
MONDED = ConcateNate_VideocLips ([Cut_Video_1, Cut_Video_2, Cut_Video_3])
# salva il file unita
unito.write_videofile ("mEdge_video_2.mp4 ", fps = 30, threads = 1, codec =" libx264 ")

Inserzioni del titolo

Successivamente, scegliamo una clip e aggiungiamo un titolo. Qui, per raggiungere questo obiettivo, dovrai installare ImageMagick:

sudo apt-get installa imagemagick

Affinché questo funzioni, è necessario apportare alcune modifiche:

sudo nano/etc/imagemagick-6/politica.XML

Commenta la riga che recita come segue:

Cambiando quest'ultimo in quanto segue:

Qui, hai letto il file video utilizzando VideoFileClip (). Quindi inserisci il testo che desideri usando textclip (). Qui, ho inserito la parola "Linuxhint" con una dimensione del carattere di 75 e un colore di bianco. Quindi puoi scegliere il luogo in cui viene inserito il testo; Nel mio caso, l'ho inserito al centro. Infine, è possibile impostare la durata utilizzando set_Duration (). Quindi unisci il video e il testo usando compositeVideoclip () e salvalo usando write_videofile ().

principale.Py di ​​Moviepy.Editor Import *
video = videofileClip ("cut_video_1.mp4 ")
text = textClip (“LinuxHint”, FontSize = 75, color = 'White')
text2 = text.set_pos ('Center').Set_Duration (3)
video2 = compositeVideoclip ([video, text2])
Video2.write_videofile ("testo.mp4 ")

Cambia il volume

Puoi anche cambiare il volume del video. Innanzitutto, leggi il file video utilizzando videofileClip (), quindi modifica il volume utilizzando Volumex (). Un singolo argomento - l'importo da aumentare o ridurre - viene passato a Volumex (). Nel mio caso, ho deciso di aumentare il volume di un fattore 1.8.

principale.Py di ​​Moviepy.Editor Import VideoFileClip
# Leggi un file video
video_1 = videofileClip ("Video.Mp4 ")
# Cambia il volume
video_2 = video_1.Volumex (1.8)
# salva
video_2.write_videofile ("volume_boost.mp4 ")

Ridimensiona il video

Per ridimensionare il video, è necessario prima leggerlo usando videofileClip () e quindi utilizzare FX (). Fx () prende due argomenti; Il secondo argomento è la larghezza del video (che puoi definire).

principale.Py di ​​Moviepy.Editor Import *
# Leggi un file video
video_1 = videofileClip ("Video.Mp4 ")
# ridimensiona
video_2 = video_1.FX (VFX.Ridimensiona, larghezza = 880)
# salva
video_2.write_videofile ("widthenlarged.mp4 ")

Tuttavia, puoi fare molto, molto di più!

Ad esempio, se volevi trasformare il video in bianco e nero (intendiamoci, qui, le cose sono sensibili al caso):

principale.Py di ​​Moviepy.Editor Import *
Import Moviepy
# Leggi un file video
video_1 = videofileClip ("Video.Mp4 ")
# modificare
video_2 = moviepy.video.fx.Tutto.BlackWhite (Video_1, RGB = Nessuno, Preserve_Luminosity = true)
# salva
video_2.write_videofile ("nero.mp4 ")

Molte altre opzioni possono essere trovate a https: // zulko.github.io/moviepy/ref/videofx.html.

A gif

Puoi anche creare GIF. In questo caso, fai quello che vuoi fare al video (es: taglio, bianco e nero, ridimensiona, ecc ...) e quindi usi write_gif () per creare una gif.

principale.Py di ​​Moviepy.Editor Import *
Import Moviepy
# Leggi un file video
Video_1 = VideoFileClip ("Cut_Video_1.mp4 ")
# modificare
video_2 = moviepy.video.fx.Tutto.BlackWhite (Video_1, RGB = Nessuno, Preserve_Luminosity = true)
# salva
video_2.write_gif ("GIF.gif ")

Senza audio

Un'altra caratteristica interessante è rimuovere l'audio dal video. Per rimuovere l'audio, passare il video a senza_Audio ().

principale.Py di ​​Moviepy.Editor Import *
Import Moviepy
# Leggi un file video
Video_1 = VideoFileClip ("Cut_Video_1.mp4 ")
# modificare
video_2 = video_1.senza_audio ()
# salva
video_2.write_videofile ("woaudio.mp4 ")

Audio

Audio saggio, MoviePy offre audio_fadein (), audio_fadeout (), audio_loop (), audio_normalize () e volumex (). Maggiori informazioni su questo si trovano su https: // zulko.github.io/moviepy/ref/audifx.html.

Ulteriori informazioni su come utilizzare questo modulo sono disponibili https: // zulko.github.io/moviepy/ref/ref.html.

Moviepy è una biblioteca Python progettata per modificare i video. Moviepy si basa su FFMPEG e ImageMagick. E per di più, usa ffmpeg e imagemagick e quindi è molto, molto potente! Ciò significa anche che entrambi devono essere installati e funzionanti. Moviepy fa un lavoro fantastico nel modificare i video! C'erano così tante cose che si potevano fare al video che ero ammirato! Moviepy può tagliare video, unire video, aggiungere titoli, ecc ... È un po 'piccolo!

Codice felice!