CodeGym /Corso Java /Python SELF IT /Video composito complesso con MoviePy: titoli, musica ed ...

Video composito complesso con MoviePy: titoli, musica ed effetti animati

Python SELF IT
Livello 48 , Lezione 3
Disponibile

1. Composizione video: combiniamo tutte le tecniche studiate

Oggi creiamo qualcosa di speciale — un video composito con titoli, colonna sonora ed effetti animati, utilizzando la libreria MoviePy. Ma prima di immergerci nel processo creativo, lascia che te lo chieda: hai già provato ad aggiungere testo ai video e sincronizzarlo con una traccia audio? Se no, è giunto il momento di acquisire queste competenze e scoprire tutta la potenza dell'automazione nel mondo della produzione video!

Prima di iniziare, ricordiamo ciò che abbiamo già imparato nelle lezioni precedenti. Abbiamo imparato a estrarre e modificare video e audio clip, aggiungere testo e grafica, e lavorare con animazioni ed effetti. È tempo di unire tutto questo in un'unica creazione e creare il nostro capolavoro.

Fasi principali della creazione di un video composito complesso

  1. Aggiunta di titoli: I titoli iniziali e finali aiutano a segnare l'inizio e la fine del progetto video.
  2. Colonna sonora: La musica di sottofondo aggiunge un'atmosfera emozionale al video.
  3. Effetti animati: Testi e immagini in movimento danno vita al contenuto e lo rendono più interessante.

2. Creazione di un video complesso

Iniziamo con il compito principale: creare un progetto video che includa tutti gli elementi studiati in precedenza. Ecco come appare il processo:


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

# Carichiamo il videoclip principale
main_clip = VideoFileClip("clips/scene1.mp4")

# Carichiamo il file musicale
background_music = AudioFileClip("audio/background.mp3")

# Creiamo i titoli (ad esempio, per l'inizio del video)
title_text = "Benvenuti al nostro capolavoro cinematografico!"
title_clip = TextClip(title_text, fontsize=70, color='white', bg_color='black', size=main_clip.size)
title_clip = title_clip.set_duration(5)

# Creiamo un video composito, aggiungendo i titoli sopra al video principale
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0)])
    

Abbiamo iniziato creando un semplice video composito, aggiungendo i titoli. In questo caso, i titoli occupano i primi 5 secondi del video. Il trucco sta nell'utilizzo di CompositeVideoClip, che permette di combinare più videoclip e sovrapporli.

Sovrapposizione di livelli e animazione degli elementi

Per rendere il video più vivace e dinamico, aggiungiamo alcune animazioni e grafiche. Supponiamo di voler aggiungere un testo in movimento che appare gradualmente nella scena.


from moviepy.editor import TextClip

# Creiamo un testo animato
animated_text = TextClip("Guarda e lasciati ispirare!", fontsize=50, color='yellow', bg_color='black')
animated_text = animated_text.set_duration(3).set_position(lambda t: ('center', 200*(1 - t/3)))

# Aggiungiamo il testo al video, a partire dal quinto secondo
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0), animated_text.set_start(5)])
    

La funzione set_position ci permette di animare il testo modificando la sua posizione in base al tempo t. In questo caso, il testo scende gradualmente dall'alto verso il basso in 3 secondi.

Aggiunta di un logo con effetto di ingrandimento

Se vuoi, puoi aggiungere il tuo logo (anche se non è obbligatorio).


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'))
    

Qui:

  • resize(lambda t: 1 + 0.2 * t) ingrandisce il logo del 20% ogni secondo, creando un effetto di zoom.

3. Lavorare con l'accompagnamento musicale

Aggiungiamo ora una colonna sonora per rendere il video più emozionante. Nel mondo dei video, la musica è emozione. Imposta il tono per tutto il lavoro.

Caricamento del video e aggiunta di una traccia musicale


from moviepy.editor import VideoFileClip, AudioFileClip

# Carichiamo il video principale e il file audio
video = VideoFileClip("main_video.mp4")
audio = AudioFileClip("background_music.mp3").subclip(0, video.duration)

# Aggiungiamo la traccia audio al video
video_with_audio = video.set_audio(audio)
    

Qui:

  • AudioFileClip("background_music.mp3").subclip(0, video.duration) adatta la traccia audio alla lunghezza del video.
  • set_audio(audio) aggiunge la musica di sottofondo al video.

Oppure possiamo aggiungere la musica come seconda traccia


# Aggiungiamo l'audio al videoclip finale
final_audio = CompositeAudioClip([main_clip.audio, background_music.set_duration(main_clip.duration).volumex(0.5)])
final_clip = final_clip.set_audio(final_audio)
    

Utilizziamo CompositeAudioClip per combinare la traccia audio del videoclip principale con la traccia musicale di sottofondo. La funzione volumex regola il volume della musica, così che non copra eventuali commenti vocali (se presenti).

Sincronizzazione audio con il video

Un aspetto importante del lavoro con l'audio: assicurati che la traccia musicale corrisponda alla lunghezza del video. Puoi farlo utilizzando il metodo set_duration, come mostrato sopra.

4. Esportazione e ottimizzazione del video

Ora che il tuo progetto video è pronto, è arrivato il momento di rimboccarti le maniche ed esportarlo in un formato comodo.

Esportazione del video


# Esportiamo il video nel file finale
final_clip.write_videofile("final_video.mp4", codec='libx264', bitrate='800k')
    

Qui utilizziamo il metodo write_videofile per salvare il nostro progetto video in formato MP4. È importante scegliere il codec giusto, ad esempio libx264, che offre una buona qualità e compatibilità con la maggior parte dei dispositivi.

Imparerai di più sull'esportazione del video nelle prossime lezioni.

Ottimizzazione per il web e i social media

Creando video per il web o i social media, è importante ridurre la dimensione senza perdere qualità. Puoi farlo regolando parametri come il bitrate. La scelta dipende dalla piattaforma su cui intendi caricare il video.

Ecco fatto, il tuo video è pronto! Congratulazioni, hai creato il tuo primo capolavoro cinematografico con MoviePy. Non dimenticare di condividere i risultati sui social media e vedere che impressione lascerà la tua creazione su amici e colleghi. Ti auguro successo nelle tue future avventure nel mondo dei video!

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