openfree commited on
Commit
ba3a39c
Β·
verified Β·
1 Parent(s): 0023819

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -14
app.py CHANGED
@@ -38,11 +38,53 @@ from torchvision import transforms
38
 
39
 
40
  # ── moviepy import ──────────────────────────────────────────
41
-
42
  try:
43
- from moviepy.editor import VideoFileClip, concatenate_videoclips
 
 
 
 
 
 
 
 
 
44
  except ImportError:
45
- from moviepy import VideoFileClip, concatenate_videoclips
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  # resize ν•¨μˆ˜ import μ‹œλ„
48
  resize = None
@@ -53,7 +95,8 @@ except ImportError:
53
  from moviepy.video.fx.all import resize
54
  except ImportError:
55
  try:
56
- from moviepy.video.fx import resize
 
57
  except ImportError:
58
  pass # resizeλ₯Ό 찾을 수 μ—†μŒ
59
 
@@ -68,6 +111,7 @@ if resize is None:
68
  return clip.resize(height=height)
69
  elif width:
70
  return clip.resize(width=width)
 
71
  return clip
72
 
73
  # speedx ν•¨μˆ˜ import μ‹œλ„
@@ -79,7 +123,7 @@ except ImportError:
79
  from moviepy.video.fx.all import speedx
80
  except ImportError:
81
  try:
82
- from moviepy.video.fx import speedx
83
  except ImportError:
84
  pass # speedxλ₯Ό 찾을 수 μ—†μŒ
85
 
@@ -91,22 +135,18 @@ if speedx is None:
91
  return clip.fx.speedx(factor, final_duration)
92
  elif hasattr(clip, 'fl_time'):
93
  return clip.fl_time(lambda t: t * factor)
 
 
 
 
94
  else:
95
  # μ΅œν›„μ˜ μˆ˜λ‹¨: 클립 κ·ΈλŒ€λ‘œ λ°˜ν™˜
96
  return clip
97
 
98
- from moviepy import (
99
- ImageSequenceClip,
100
- concatenate_audioclips,
101
- AudioFileClip,
102
- CompositeAudioClip
103
- )
104
- from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip
105
- from moviepy.video.VideoClip import ColorClip
106
-
107
  import time
108
  from concurrent.futures import ThreadPoolExecutor
109
 
 
110
 
111
 
112
 
 
38
 
39
 
40
  # ── moviepy import ──────────────────────────────────────────
 
41
  try:
42
+ from moviepy.editor import (
43
+ VideoFileClip,
44
+ concatenate_videoclips,
45
+ ImageSequenceClip,
46
+ concatenate_audioclips,
47
+ AudioFileClip,
48
+ CompositeAudioClip,
49
+ CompositeVideoClip,
50
+ ColorClip
51
+ )
52
  except ImportError:
53
+ # κ°œλ³„μ μœΌλ‘œ import μ‹œλ„
54
+ try:
55
+ from moviepy.video.io.VideoFileClip import VideoFileClip
56
+ except ImportError:
57
+ from moviepy import VideoFileClip
58
+
59
+ try:
60
+ from moviepy.video.compositing.concatenate import concatenate_videoclips
61
+ except ImportError:
62
+ from moviepy import concatenate_videoclips
63
+
64
+ try:
65
+ from moviepy.video.io.ImageSequenceClip import ImageSequenceClip
66
+ except ImportError:
67
+ from moviepy.editor import ImageSequenceClip
68
+
69
+ try:
70
+ from moviepy.audio.io.AudioFileClip import AudioFileClip
71
+ except ImportError:
72
+ from moviepy.editor import AudioFileClip
73
+
74
+ try:
75
+ from moviepy.audio.AudioClip import concatenate_audioclips, CompositeAudioClip
76
+ except ImportError:
77
+ from moviepy.editor import concatenate_audioclips, CompositeAudioClip
78
+
79
+ try:
80
+ from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip
81
+ except ImportError:
82
+ from moviepy.editor import CompositeVideoClip
83
+
84
+ try:
85
+ from moviepy.video.VideoClip import ColorClip
86
+ except ImportError:
87
+ from moviepy.editor import ColorClip
88
 
89
  # resize ν•¨μˆ˜ import μ‹œλ„
90
  resize = None
 
95
  from moviepy.video.fx.all import resize
96
  except ImportError:
97
  try:
98
+ # editorλ₯Ό ν†΅ν•œ import μ‹œλ„
99
+ from moviepy.editor import resize
100
  except ImportError:
101
  pass # resizeλ₯Ό 찾을 수 μ—†μŒ
102
 
 
111
  return clip.resize(height=height)
112
  elif width:
113
  return clip.resize(width=width)
114
+ # 크기 변경이 λΆˆκ°€λŠ₯ν•˜λ©΄ 원본 λ°˜ν™˜
115
  return clip
116
 
117
  # speedx ν•¨μˆ˜ import μ‹œλ„
 
123
  from moviepy.video.fx.all import speedx
124
  except ImportError:
125
  try:
126
+ from moviepy.editor import speedx
127
  except ImportError:
128
  pass # speedxλ₯Ό 찾을 수 μ—†μŒ
129
 
 
135
  return clip.fx.speedx(factor, final_duration)
136
  elif hasattr(clip, 'fl_time'):
137
  return clip.fl_time(lambda t: t * factor)
138
+ elif hasattr(clip, 'with_fps') and factor != 1.0:
139
+ # FPSλ₯Ό μ‘°μ •ν•˜μ—¬ 속도 λ³€κ²½ 효과 κ΅¬ν˜„
140
+ new_fps = clip.fps * factor if hasattr(clip, 'fps') else 24 * factor
141
+ return clip.with_fps(new_fps)
142
  else:
143
  # μ΅œν›„μ˜ μˆ˜λ‹¨: 클립 κ·ΈλŒ€λ‘œ λ°˜ν™˜
144
  return clip
145
 
 
 
 
 
 
 
 
 
 
146
  import time
147
  from concurrent.futures import ThreadPoolExecutor
148
 
149
+ # ────────────────────────────────────────────────────────────
150
 
151
 
152