Update app.py
Browse files
app.py
CHANGED
|
@@ -1,30 +1,31 @@
|
|
| 1 |
import os
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
from moviepy.editor import ImageClip, AudioFileClip, concatenate_videoclips
|
| 3 |
import gradio as gr
|
| 4 |
|
| 5 |
-
#
|
| 6 |
-
os.system("apt-get update && apt-get install -y ffmpeg")
|
| 7 |
-
|
| 8 |
-
# 2️⃣ Funktion zum Erstellen eines Videos
|
| 9 |
def generate_video():
|
| 10 |
-
#
|
| 11 |
-
# Hier ersetzt du das mit deinem AI-Bilder-Code
|
| 12 |
-
# Beispiel: lokale Dateien frame1.png, frame2.png, frame3.png
|
| 13 |
images = ["frame1.png", "frame2.png", "frame3.png"]
|
| 14 |
|
| 15 |
-
#
|
| 16 |
for img in images:
|
| 17 |
if not os.path.exists(img):
|
| 18 |
-
return f"Bild {img} fehlt. Bitte
|
| 19 |
|
| 20 |
# Clips erstellen (jede 2 Sekunden)
|
| 21 |
clips = [ImageClip(img).set_duration(2) for img in images]
|
| 22 |
video = concatenate_videoclips(clips, method="compose")
|
| 23 |
|
| 24 |
-
#
|
| 25 |
-
audio_file = "audio.mp3"
|
| 26 |
if not os.path.exists(audio_file):
|
| 27 |
-
return "Audio-Datei fehlt. Bitte
|
| 28 |
|
| 29 |
audio = AudioFileClip(audio_file)
|
| 30 |
video = video.set_audio(audio)
|
|
@@ -35,7 +36,7 @@ def generate_video():
|
|
| 35 |
|
| 36 |
return output_path
|
| 37 |
|
| 38 |
-
#
|
| 39 |
iface = gr.Interface(
|
| 40 |
fn=generate_video,
|
| 41 |
inputs=[],
|
|
|
|
| 1 |
import os
|
| 2 |
+
import sys
|
| 3 |
+
|
| 4 |
+
# --- Sicherstellen, dass MoviePy und FFmpeg installiert sind ---
|
| 5 |
+
os.system(f"{sys.executable} -m pip install --upgrade moviepy imageio-ffmpeg ffmpeg-python")
|
| 6 |
+
|
| 7 |
+
# --- Import nach Installation ---
|
| 8 |
from moviepy.editor import ImageClip, AudioFileClip, concatenate_videoclips
|
| 9 |
import gradio as gr
|
| 10 |
|
| 11 |
+
# --- Funktion zum Generieren des Videos ---
|
|
|
|
|
|
|
|
|
|
| 12 |
def generate_video():
|
| 13 |
+
# Beispielbilder (ersetze diese durch deine AI-generierten Bilder)
|
|
|
|
|
|
|
| 14 |
images = ["frame1.png", "frame2.png", "frame3.png"]
|
| 15 |
|
| 16 |
+
# Prüfen, ob die Bilder existieren
|
| 17 |
for img in images:
|
| 18 |
if not os.path.exists(img):
|
| 19 |
+
return f"Bild {img} fehlt. Bitte zuerst generieren oder hochladen."
|
| 20 |
|
| 21 |
# Clips erstellen (jede 2 Sekunden)
|
| 22 |
clips = [ImageClip(img).set_duration(2) for img in images]
|
| 23 |
video = concatenate_videoclips(clips, method="compose")
|
| 24 |
|
| 25 |
+
# Audio einfügen (ersetze durch deine TTS-Datei)
|
| 26 |
+
audio_file = "audio.mp3"
|
| 27 |
if not os.path.exists(audio_file):
|
| 28 |
+
return "Audio-Datei fehlt. Bitte zuerst generieren."
|
| 29 |
|
| 30 |
audio = AudioFileClip(audio_file)
|
| 31 |
video = video.set_audio(audio)
|
|
|
|
| 36 |
|
| 37 |
return output_path
|
| 38 |
|
| 39 |
+
# --- Gradio Interface ---
|
| 40 |
iface = gr.Interface(
|
| 41 |
fn=generate_video,
|
| 42 |
inputs=[],
|