CodeGym /Corso Java /Python SELF IT /Introduzione al video editing con MoviePy

Introduzione al video editing con MoviePy

Python SELF IT
Livello 47 , Lezione 0
Disponibile

1. Cos'è MoviePy e perché è fantastica?

Ciao, cari studenti! Oggi ci immergeremo nel mondo affascinante del video editing con MoviePy – uno strumento che vi permetterà di creare magia video dai vostri semplici clip. Se avete mai pensato che montare video sia roba solo per professionisti con strumenti costosi, oggi vi dimostrerò che non è così. Iniziamo!

MoviePy è una libreria Python per l'elaborazione video. Vi permette di leggere, scrivere, modificare file video e persino lavorare con l'audio! E tutto questo senza dover frequentare corsi di montaggio video. Un po' di magia ed il vostro Python inizia a parlare in video nella lingua che preferite.

Perché MoviePy?

  • Semplicità d'uso: MoviePy vanta un'interfaccia intuitiva che permette di lavorare con i video senza perdersi nei meandri del codice.
  • Multifunzionalità: Dal taglio del video all'aggiunta di testi ed effetti – MoviePy vi aiuterà con la maggior parte delle operazioni.
  • Compatibilità: Funziona su diverse piattaforme e può essere utilizzata con altre librerie come NumPy e PIL (Pillow).

2. Installazione di MoviePy

Installiamo MoviePy! Per farlo avrete bisogno di Python e della possibilità di installare pacchetti dalla rete. Connettetevi al Wi-Fi (o usate GitHub come Wi-Fi gratuito – dicono che i professionisti facciano così), aprite il terminale e digitate:


pip install moviepy

Se qualcosa va storto, niente panico! Siamo nel mondo della programmazione, dove "qualcosa è andato storto" non è un bug, ma una funzionalità particolarmente avanzata.

Risolvendo problemi di installazione

Se durante l'installazione incontrate errori, non buttate il computer. Provate i seguenti passaggi:

  • Controllate la versione di Python: MoviePy richiede Python versione 3.5 o superiore.
  • Assicuratevi di avere tutte le dipendenze necessarie: Per alcune funzioni di MoviePy potrebbe essere necessario FFMPEG. Installatelo seguendo le istruzioni sulla pagina ufficiale di FFMPEG.
  • Provate a usare un ambiente virtuale: In alcuni casi, i conflitti di dipendenze si risolvono creando un nuovo ambiente virtuale. Provate python -m venv myenv.

3. Apertura e lettura di video

Ora che abbiamo installato MoviePy, possiamo iniziare a usarla. Immaginate di prendere un vecchio proiettore di pellicole e di smontare i suoi componenti per creare un capolavoro. Vediamo come funziona nel codice.

Per lavorare con i video in MoviePy si usa la classe VideoFileClip, che permette di caricare e modificare file video. Aprire un file video è il primo passo per accedere alle sue proprietà e modificarlo.

Apertura di un file video


from moviepy.editor import VideoFileClip

# Apertura di un file video
video = VideoFileClip("sample_video.mp4")

# Ottenere le informazioni principali sul video
print("Durata:", video.duration, "secondi")
print("Risoluzione:", video.size)
print("Frequenza fotogrammi:", video.fps, "frame al secondo")

Spiegazione del codice

  • VideoFileClip("sample_video.mp4"): Carica il file video sample_video.mp4, creando un oggetto video con cui lavorare.
  • video.duration: Mostra la durata del video in secondi.
  • video.size: Restituisce le dimensioni del video (larghezza e altezza).
  • video.fps: Restituisce la frequenza fotogrammi del video (frames per second).

4. Modifica delle dimensioni del video

A volte, per la pubblicazione o per l'ottimizzazione, è necessario modificare la dimensione del video. In MoviePy questo si può fare con il metodo resize(), che permette di scalare il video alle dimensioni desiderate o a una percentuale dell'originale.

Esempio


# Ridimensionare il video al 50% delle dimensioni originali
video_resized = video.resize(0.5)
video_resized.write_videofile("resized_video.mp4")

Spiegazione del codice

  • video.resize(0.5): Riduce le dimensioni del video al 50% dell'originale.
  • write_videofile(): Salva il risultato come un nuovo file video resized_video.mp4.

Oltre a scalare in percentuale, è possibile specificare dimensioni precise, ad esempio modificare la larghezza del video a 640 pixel:


# Impostare la larghezza del video a 640 pixel
video_resized = video.resize(width=640)
video_resized.write_videofile("resized_video_640.mp4")

Se si specifica solo una dimensione (ad esempio width=640), l'altra dimensione verrà calcolata automaticamente per mantenere le proporzioni.

5. Ritaglio del video (crop)

Il ritaglio (crop) è un'operazione utile se si desidera eliminare parti inutili del video, lasciando solo l'area desiderata. Il metodo crop() permette di specificare le coordinate per il ritaglio: bordi superiore, inferiore, sinistro e destro.

Esempio


# Ritaglio del video: eliminazione delle aree ai bordi
video_cropped = video.crop(x1=50, y1=50, x2=500, y2=400)
video_cropped.write_videofile("cropped_video.mp4")

Spiegazione del codice

  • video.crop(x1=50, y1=50, x2=500, y2=400): Ritaglia il video mantenendo l'area dalle coordinate (50, 50) a (500, 400).
  • write_videofile(): Salva il video ritagliato come cropped_video.mp4.

6. Rotazione del video

MoviePy supporta anche la rotazione del video di 90, 180 o 270 gradi, utile per lavorare con video registrati in orientamenti diversi.

Rotazione del video di 90 gradi


# Rotazione del video di 90 gradi
video_rotated = video.rotate(90)
video_rotated.write_videofile("rotated_video.mp4")

Spiegazione del codice

  • video.rotate(90): Ruota il video di 90 gradi in senso orario.
  • write_videofile(): Salva il video ruotato come rotated_video.mp4.

7. Cambiare la velocità di riproduzione

In alcuni casi può essere utile accelerare o rallentare un video. In MoviePy lo si può fare con il metodo fx, che permette di cambiare la velocità di riproduzione.

Accelerare il video di 2 volte


from moviepy.video.fx.all import speedx

# Accelerare il video di 2 volte
video_fast = video.fx(speedx, 2)
video_fast.write_videofile("fast_video.mp4")

Spiegazione del codice

  • video.fx(speedx, 2): Accelera il video di due volte. Se si volesse rallentare il video, si potrebbe usare un valore inferiore a 1 (ad esempio 0.5).
  • write_videofile(): Salva il video accelerato come fast_video.mp4.

8. Ritaglio temporale (taglio del video)

MoviePy permette anche di tagliare il video in base al tempo, utile per estrarre una porzione specifica dal video.

Esempio: Tagliare il video da 10 a 30 secondi


# Tagliare il video tra il secondo 10 e il secondo 30
video_subclip = video.subclip(10, 30)
video_subclip.write_videofile("subclip_video.mp4")

Spiegazione del codice

  • video.subclip(10, 30): Crea un nuovo videoclip che inizia dal secondo 10 e termina al secondo 30 del video originale.
  • write_videofile(): Salva il frammento tagliato come subclip_video.mp4.

9. Salvare modifiche ed esportare video

... (continua seguendo il modello di traduzione sopra con tutti i dettagli già presenti, convertendo il contenuto in italiano).

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