CodeGym /Corsi /Python SELF IT /Creazione e lavoro con video e clip audio: aggiunta di au...

Creazione e lavoro con video e clip audio: aggiunta di audio ed esportazione di video con audio

Python SELF IT
Livello 47 , Lezione 1
Disponibile

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'oggetto video_clip, che può essere usato per aggiungere audio ed effettuare altre modifiche.
  • video_clip.duration e video_clip.size forniscono 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 video libx264 e il codec audio aac.

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() e write_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:

  1. Carichiamo video e audio.
  2. Regoliamo il volume dell'audio con volumex().
  3. Ripetiamo l'audio fino alla lunghezza del video.
  4. Aggiungiamo l'audio al video.
  5. 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!"

1
Compito
Python SELF IT, livello 47, lezione 1
Bloccato
Apertura e analisi di un file video
Apertura e analisi di un file video
2
Compito
Python SELF IT, livello 47, lezione 1
Bloccato
Creazione e salvataggio di un videoclip vuoto
Creazione e salvataggio di un videoclip vuoto
3
Compito
Python SELF IT, livello 47, lezione 1
Bloccato
Aggiunta di una traccia audio al video
Aggiunta di una traccia audio al video
4
Compito
Python SELF IT, livello 47, lezione 1
Bloccato
Creare un video con audio in loop
Creare un video con audio in loop
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION