Tim13ekd commited on
Commit
0b567d9
·
verified ·
1 Parent(s): 6dc3853

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -1
app.py CHANGED
@@ -8,6 +8,7 @@ import base64
8
  import math
9
  import shutil
10
  import io # Für NamedString-Handling
 
11
 
12
  # Erlaubte Dateiformate
13
  allowed_medias = [".png", ".jpg", ".jpeg", ".bmp", ".gif", ".tiff"]
@@ -191,4 +192,16 @@ with gr.Blocks() as demo:
191
  )
192
  duration_input = gr.Number(value=3, label="Dauer pro Bild in Sekunden", precision=1)
193
  fade_input = gr.Number(value=0.7, label="Fade Dauer in Sekunden", precision=1)
194
- ypos_input = gr.Slider(minimum=0.0, maximum=0.9, step=0.01, value=0.5, label="Y-Position für alle Texte (0=oben, 0
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  import math
9
  import shutil
10
  import io # Für NamedString-Handling
11
+ import shlex # Für sicheres Escapen von Text
12
 
13
  # Erlaubte Dateiformate
14
  allowed_medias = [".png", ".jpg", ".jpeg", ".bmp", ".gif", ".tiff"]
 
192
  )
193
  duration_input = gr.Number(value=3, label="Dauer pro Bild in Sekunden", precision=1)
194
  fade_input = gr.Number(value=0.7, label="Fade Dauer in Sekunden", precision=1)
195
+ ypos_input = gr.Slider(minimum=0.0, maximum=0.9, step=0.01, value=0.5, label="Y-Position für alle Texte (0=oben, 0.5=mitte, 0.9=unten)")
196
+ font_size_input = gr.Number(value=60, label="Textgröße (px)")
197
+ out_video = gr.Video(interactive=False, label="Generiertes Video")
198
+ status = gr.Textbox(interactive=False, label="Status")
199
+
200
+ btn = gr.Button("Video erstellen")
201
+ btn.click(
202
+ fn=generate_slideshow_with_audio,
203
+ inputs=[img_input, audio_input, duration_input, ypos_input, fade_input, font_size_input],
204
+ outputs=[out_video, status]
205
+ )
206
+
207
+ demo.launch()