1. Videoclip e audioclip
Benvenuto alla lezione in cui ci trasformeremo in veri maghi del video e impareremo a mixare immagini e suoni, creando vera magia. Ovviamente, con Python e la libreria MoviePy! L'obiettivo di oggi è imparare a lavorare con videoclip e audioclip, aggiungere tracce audio ai video ed esportare il risultato in un file elegante.
Quindi, preparati, concentrati e andiamo dritti verso le vette del video editing con Python!
Cominciamo dalle basi: la creazione di videoclip. Come veri maestri, dobbiamo essere capaci di estrarre fotogrammi dai video, aggiungere audio e naturalmente esportarli. MoviePy è perfetta per questo compito.
Classi principali per lavorare con video e audio
In MoviePy le classi principali per lavorare con i media sono:
VideoFileClip— per creare e lavorare con videoclip.AudioFileClip— per lavorare con audioclip.
Creazione di un oggetto videoclip
Iniziamo creando un videoclip, usando la classe VideoFileClip. Con questa possiamo aprire un file video e accedere a vari parametri e metodi di editing.
from moviepy.editor import VideoFileClip
# Apertura del file video e creazione del videoclip
video_clip = VideoFileClip("sample_video.mp4")
# Output delle informazioni sul videoclip
print("Durata del video:", video_clip.duration, "secondi")
print("Dimensioni del video:", video_clip.size)
In questo esempio:
VideoFileClip("sample_video.mp4")apre il file video e crea l'oggettovideo_clip, che può essere usato per aggiungere audio ed effettuare altre modifiche.video_clip.durationevideo_clip.sizeforniscono informazioni sulla durata e le dimensioni del video.
Creazione di un videoclip vuoto
A volte è necessario partire da una tela bianca, creando un clip da zero. MoviePy lo permette con una semplice chiamata al metodo ColorClip.
from moviepy.editor import ColorClip
# Creiamo un clip rosso di dimensioni 640x360 e durata 5 secondi
blank_clip = ColorClip(size=(640, 360), color=[255, 0, 0], duration=5)
blank_clip.write_videofile("blank_clip.mp4", fps=25)
Questo creerà un video di 5 secondi con colore rosso. Semplice, ma con potenziale!
Estrazione dell'audio da un videoclip
Per prima cosa estraiamo l'audio da un videoclip già caricato. Questo potrebbe essere utile se ti piace la traccia originale e vuoi usarla separatamente.
# Estrazione dell'audio dal video
audio = video.audio
# Salvataggio dell'audio in un file
audio.write_audiofile("extracted_audio.mp3")
Ora hai un file audio estratto dal tuo video. Utile quando ti serve solo il sonoro.
Creazione di un oggetto audioclip
MoviePy permette anche di aggiungere audioclip. Per farlo si usa la classe AudioFileClip, che consente di aprire un file audio e lavorarci in modo simile ai videoclip.
from moviepy.editor import AudioFileClip
# Apertura del file audio e creazione dell'audioclip
audio_clip = AudioFileClip("background_music.mp3")
# Output delle informazioni sulla durata dell'audio
print("Durata dell'audio:", audio_clip.duration, "secondi")
2. Montaggio di videoclip e audioclip
Aggiunta di audio al video
Ora che abbiamo un videoclip e un audioclip, possiamo combinarli aggiungendo una traccia audio al video. In MoviePy questo si fa con il metodo set_audio().
# Aggiunta dell'audioclip al videoclip
video_with_audio = video_clip.set_audio(audio_clip)
Questo codice crea un nuovo oggetto video_with_audio, dove l'audioclip audio_clip è integrato nel videoclip video_clip.
Adattamento della durata dell'audioclip
A volte la durata dell'audioclip e del videoclip possono essere diverse. Per sincronizzarle, si può usare il metodo subclip() per tagliare l'audio o farlo ripetere fino alla fine del video.
Taglio dell'audioclip per adattarlo alla durata del video
# Taglio dell'audioclip per adattarlo alla durata del video
audio_clip_trimmed = audio_clip.subclip(0, video_clip.duration)
# Aggiunta dell'audio tagliato al video
video_with_audio = video_clip.set_audio(audio_clip_trimmed)
In questo esempio:
audio_clip.subclip(0, video_clip.duration)crea un nuovo audioclip tagliato alla durata del videoclip.- Il metodo
set_audio()aggiunge l'audio tagliato al video.
Ripetizione dell'audioclip per la durata del video
Se vuoi che l'audio si ripeta fino alla fine del video, usa il metodo fx() con la funzione loop.
from moviepy.audio.fx.all import loop
# Ripetizione dell'audioclip fino alla durata del video
audio_clip_looped = loop(audio_clip, duration=video_clip.duration)
# Aggiunta dell'audio ripetuto al video
video_with_audio = video_clip.set_audio(audio_clip_looped)
In questo esempio:
loop(audio_clip, duration=video_clip.duration)crea un audio ripetuto fino alla fine del video.- Aggiungiamo l'audio ripetuto al video con
set_audio().
3. Esportazione del video con audio aggiunto
Esportazione del videoclip con audio
Assicurati di avere installati i codec giusti, come libx264 per il video e aac per l'audio, perché senza di essi il nostro capolavoro non sarà visibile a nessuno.
Esportando il video, possiamo specificare vari parametri come risoluzione e frame rate:
# Esportazione del video con nuove impostazioni
video_with_audio.write_videofile(
"output_video_with_audio.mp4",
codec='libx264',
audio_codec='aac',
fps=30,
preset='medium',
bitrate="2000k"
)
In questo esempio:
write_videofile("output_video_with_audio.mp4", codec="libx264", audio_codec="aac")salva il video con audio in formato MP4, usando il codec videolibx264e il codec audioaac.
Voilà! Il nostro capolavoro è pronto per essere caricato su YouTube, Vimeo o semplicemente inviato agli amici.
Dopo aver aggiunto la traccia audio al video, possiamo esportare il risultato in un nuovo file. Per farlo si usa il metodo write_videofile().
Impostazione del volume dell'audioclip
Per regolare il volume dell'audio nel video, si può usare il metodo volumex(), che cambia il volume di un determinato fattore. Ad esempio, se vuoi abbassare il volume, indica un valore inferiore a 1, mentre per aumentarlo usa valori superiori a 1.
Esempio: Riduzione del volume audio
# Riduzione del volume dell'audioclip a metà
audio_clip_quieter = audio_clip.volumex(0.5)
# Aggiunta dell'audio con volume ridotto al video
video_with_audio = video_clip.set_audio(audio_clip_quieter)
video_with_audio.write_videofile("output_video_quieter.mp4")
In questo esempio:
audio_clip.volumex(0.5)riduce il volume dell'audio al 50% dell'originale.set_audio()ewrite_videofile()aggiungono l'audio al video e salvano il risultato.
4. Esempio completo
Creazione di un video con audio e impostazione dei parametri
Ora mettiamo insieme tutti i passaggi visti, in un esempio dove aggiungiamo audio al video, lo tagliamo alla durata desiderata, configuriamo il volume ed esportiamo il video finale.
from moviepy.editor import VideoFileClip, AudioFileClip
from moviepy.audio.fx.all import loop
# Apertura del file video
video_clip = VideoFileClip("sample_video.mp4")
# Apertura del file audio
audio_clip = AudioFileClip("background_music.mp3")
# Regolazione del volume audio
audio_clip_adjusted = audio_clip.volumex(0.7)
# Ripetizione dell'audio fino alla fine del video
audio_clip_looped = loop(audio_clip_adjusted, duration=video_clip.duration)
# Aggiunta dell'audio al video
video_with_audio = video_clip.set_audio(audio_clip_looped)
# Esportazione del video con audio
video_with_audio.write_videofile("final_output_with_audio.mp4", codec="libx264", audio_codec="aac")
In questo esempio:
- Carichiamo video e audio.
- Regoliamo il volume dell'audio con
volumex(). - Ripetiamo l'audio fino alla lunghezza del video.
- Aggiungiamo l'audio al video.
- Esportiamo il video finale con audio nel file
final_output_with_audio.mp4.
Errori comuni e soluzioni
Lavorando con MoviePy alcuni errori, come spiriti maligni, possono disturbare la nostra creatività. Ad esempio, problemi con i codec audio o incompatibilità di formati. Usa audio_codec='aac' per una moderna codifica audio, risolverà molti problemi.
Se il video o l'audio non si esportano, anche se il codice sembra corretto, verifica che i codec necessari siano installati. Scarica o aggiorna FFMPEG, che MoviePy utilizza come motore per l'elaborazione di video e audio.
Ora che sai creare ed esportare video, le possibilità sono infinite. Queste competenze possono essere utili in molti progetti diversi: dalla creazione di video didattici a materiali di marketing. Durante i colloqui, automatizzare il lavoro con i video potrebbe essere il tuo asso nella manica. E nel lavoro quotidiano risparmierai un sacco di tempo nella gestione dei contenuti multimediali.
È ora di mettere in pratica la magia della programmazione e della creatività e sorprendere il mondo con i tuoi videoclip. E non dimenticare, come diceva un saggio programmatore: "Se il codice non funziona, aggiungi più caffè, se funziona – aggiungi più stile!"
GO TO FULL VERSION