Creare un video da un file di testo con URL di immagini e un altro file con un URL audio richiede molte librerie e strumenti. Ecco una una soluzione utilizzando Python con le librerie moviepy
e requests
.
Nota: Assicurati di aver installato le librerie necessarie:
pip install moviepy requests
Ecco lo script:
import requests
from moviepy.editor import *
# Funzione per scaricare le immagini dal web
def download_image(url, filename):
response = requests.get(url, stream=True)
with open(filename, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
# Leggi gli URL delle immagini dal file immagini.txt
with open('immagini.txt', 'r') as f:
image_urls = [line.strip() for line in f.readlines()]
# Scarica ogni immagine
images = []
for index, url in enumerate(image_urls):
filename = f"img{index}.jpg"
download_image(url, filename)
images.append(filename)
# Leggi l'URL dell'audio
with open('audio.txt', 'r') as f:
audio_url = f.readline().strip()
audio_filename = "audio.mp3"
response = requests.get(audio_url)
with open(audio_filename, 'wb') as f:
f.write(response.content)
# Crea una lista di clip immagine
clips = [ImageClip(m).set_duration(5) for m in images]
# Concatena le immagini in un video
video = concatenate_videoclips(clips, method="compose")
# Imposta la traccia audio
audio = AudioFileClip(audio_filename)
video = video.set_audio(audio)
# Esporta il video finale
video.write_videofile("final_video.mp4", codec="libx264")
# Pulizia: potresti voler eliminare le immagini e l'audio scaricati se non sono necessari
for img in images:
os.remove(img)
os.remove(audio_filename)
Ecco come funziona:
- Scarica ogni immagine dall'URL fornito nel file
immagini.txt
. - Scarica il file audio dall'URL fornito nel file
audio.txt
. - Crea un video che mostra ogni immagine per 5 secondi (puoi cambiare la durata come preferisci).
- Imposta la traccia audio del video con il file audio scaricato.
- Esporta il video come
final_video.mp4
.
Nota: Assicurati di avere sia FFmpeg che ImageMagick installati nel tuo sistema per far funzionare correttamente moviepy
. Inoltre, questo script è un esempio semplice. Puoi personalizzarlo ulteriormente aggiungendo transizioni, effetti o modificando altre impostazioni in base alle tue esigenze.