Spaces:
Paused
Paused
interp multi
Browse files- libs/film/predict.py +6 -1
- main.py +10 -5
libs/film/predict.py
CHANGED
|
@@ -71,4 +71,9 @@ class Predictor(cog.BasePredictor):
|
|
| 71 |
del self.interpolator
|
| 72 |
tf.keras.backend.clear_session()
|
| 73 |
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
del self.interpolator
|
| 72 |
tf.keras.backend.clear_session()
|
| 73 |
|
| 74 |
+
ffmpeg_path = util.get_ffmpeg_path()
|
| 75 |
+
mediapy.set_ffmpeg(ffmpeg_path)
|
| 76 |
+
out_path = Path(tempfile.mkdtemp()) / "out.mp4"
|
| 77 |
+
mediapy.write_video(str(out_path), frames, fps=30)
|
| 78 |
+
|
| 79 |
+
return out_path
|
main.py
CHANGED
|
@@ -1253,12 +1253,16 @@ def interpolate_frames(frame1, frame2, times_to_interp):
|
|
| 1253 |
frame1.thumbnail(thumb_size)
|
| 1254 |
frame2.thumbnail(thumb_size)
|
| 1255 |
|
| 1256 |
-
|
| 1257 |
-
|
| 1258 |
-
if
|
| 1259 |
-
results =
|
|
|
|
|
|
|
|
|
|
| 1260 |
|
| 1261 |
-
results
|
|
|
|
| 1262 |
for r in results:
|
| 1263 |
r.thumbnail((width, height))
|
| 1264 |
|
|
@@ -1266,6 +1270,7 @@ def interpolate_frames(frame1, frame2, times_to_interp):
|
|
| 1266 |
|
| 1267 |
return results, getThumbnails(results)
|
| 1268 |
|
|
|
|
| 1269 |
def run_interpolate_frames(frame1, frame2, times_to_interp):
|
| 1270 |
with Pool() as pool:
|
| 1271 |
results = pool.starmap(interpolate_frames, [(frame1, frame2, times_to_interp)])
|
|
|
|
| 1253 |
frame1.thumbnail(thumb_size)
|
| 1254 |
frame2.thumbnail(thumb_size)
|
| 1255 |
|
| 1256 |
+
out_vid = film.predict(frame1, frame2, int(times_to_interp))
|
| 1257 |
+
print(out_vid)
|
| 1258 |
+
if str(out_vid).endswith('.mp4'):
|
| 1259 |
+
results = extract_frames(out_vid, 30)
|
| 1260 |
+
results = results[1:-1]
|
| 1261 |
+
else:
|
| 1262 |
+
results = [Image.open(out_vid)]
|
| 1263 |
|
| 1264 |
+
print(results)
|
| 1265 |
+
|
| 1266 |
for r in results:
|
| 1267 |
r.thumbnail((width, height))
|
| 1268 |
|
|
|
|
| 1270 |
|
| 1271 |
return results, getThumbnails(results)
|
| 1272 |
|
| 1273 |
+
|
| 1274 |
def run_interpolate_frames(frame1, frame2, times_to_interp):
|
| 1275 |
with Pool() as pool:
|
| 1276 |
results = pool.starmap(interpolate_frames, [(frame1, frame2, times_to_interp)])
|