Update app.py
Browse files
app.py
CHANGED
|
@@ -103,20 +103,16 @@ def process_video(video_file,
|
|
| 103 |
if abs(speed_factor - 1.0) > 1e-3:
|
| 104 |
add_log(f"[LOG 7] 속도 {speed_factor}배로 조절 중...")
|
| 105 |
clip = clip.fx(mp.vfx.speedx, speed_factor)
|
| 106 |
-
else:
|
| 107 |
-
add_log(f"[LOG 7] 속도 조절 없음 (기본 속도)")
|
| 108 |
|
| 109 |
# 로그 8: 해상도 조절
|
| 110 |
if abs(resolution_factor - 1.0) > 1e-3:
|
| 111 |
add_log(f"[LOG 8] 해상도 {resolution_factor*100:.1f}%로 조절 중...")
|
| 112 |
clip = clip.resize(resolution_factor)
|
| 113 |
-
else:
|
| 114 |
-
add_log("[LOG 8] 해상도 조절 없음 (원본 해상도)")
|
| 115 |
|
| 116 |
# 로그 9: 프레임 레이트 조절
|
| 117 |
original_fps = clip.fps
|
| 118 |
target_fps = int(original_fps * frame_rate_factor) # 정수로 변환
|
| 119 |
-
add_log(f"[LOG 9] 프레임 레이트를 {target_fps}로 조절 중... (원본 {original_fps} FPS
|
| 120 |
clip = clip.set_fps(target_fps)
|
| 121 |
|
| 122 |
# 로그 10: GIF 반복 회수 설정
|
|
@@ -133,8 +129,7 @@ def process_video(video_file,
|
|
| 133 |
output_filename = f"temp_{uuid.uuid4().hex}.gif"
|
| 134 |
|
| 135 |
try:
|
| 136 |
-
|
| 137 |
-
clip.write_gif(output_filename, fps=target_fps, loop=loop, program='ImageMagick')
|
| 138 |
except Exception as e:
|
| 139 |
add_log(f"[ERROR] GIF 생성 실패: {e}")
|
| 140 |
return None, None, "\n".join(global_logs)
|
|
@@ -263,7 +258,7 @@ with gr.Blocks() as demo:
|
|
| 263 |
generate_button = gr.Button("GIF 생성하기")
|
| 264 |
|
| 265 |
# 11. 완성된 GIF 미리보기
|
| 266 |
-
gif_preview_output = gr.
|
| 267 |
|
| 268 |
# 12. 완성된 GIF 다운로드 링크
|
| 269 |
download_output = gr.File(label="GIF 다운로드 링크")
|
|
|
|
| 103 |
if abs(speed_factor - 1.0) > 1e-3:
|
| 104 |
add_log(f"[LOG 7] 속도 {speed_factor}배로 조절 중...")
|
| 105 |
clip = clip.fx(mp.vfx.speedx, speed_factor)
|
|
|
|
|
|
|
| 106 |
|
| 107 |
# 로그 8: 해상도 조절
|
| 108 |
if abs(resolution_factor - 1.0) > 1e-3:
|
| 109 |
add_log(f"[LOG 8] 해상도 {resolution_factor*100:.1f}%로 조절 중...")
|
| 110 |
clip = clip.resize(resolution_factor)
|
|
|
|
|
|
|
| 111 |
|
| 112 |
# 로그 9: 프레임 레이트 조절
|
| 113 |
original_fps = clip.fps
|
| 114 |
target_fps = int(original_fps * frame_rate_factor) # 정수로 변환
|
| 115 |
+
add_log(f"[LOG 9] 프레임 레이트를 {target_fps}로 조절 중... (원본 {original_fps} FPS)")
|
| 116 |
clip = clip.set_fps(target_fps)
|
| 117 |
|
| 118 |
# 로그 10: GIF 반복 회수 설정
|
|
|
|
| 129 |
output_filename = f"temp_{uuid.uuid4().hex}.gif"
|
| 130 |
|
| 131 |
try:
|
| 132 |
+
clip.write_gif(output_filename, fps=target_fps, loop=loop)
|
|
|
|
| 133 |
except Exception as e:
|
| 134 |
add_log(f"[ERROR] GIF 생성 실패: {e}")
|
| 135 |
return None, None, "\n".join(global_logs)
|
|
|
|
| 258 |
generate_button = gr.Button("GIF 생성하기")
|
| 259 |
|
| 260 |
# 11. 완성된 GIF 미리보기
|
| 261 |
+
gif_preview_output = gr.Image(label="완성된 GIF 미리보기")
|
| 262 |
|
| 263 |
# 12. 완성된 GIF 다운로드 링크
|
| 264 |
download_output = gr.File(label="GIF 다운로드 링크")
|