freealise commited on
Commit
31c6000
·
verified ·
1 Parent(s): 77e15a5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -12
app.py CHANGED
@@ -93,15 +93,13 @@ def create_video(frames, fps, type):
93
  mediapy.write_video(type + "_result.mp4", imgs, fps=fps)
94
  return type + "_result.mp4"
95
 
96
- def sortFiles(e):
97
- return e[0]
98
 
99
- def infer(glr_in, interpolation, fps_output):
100
 
101
  fps_output = logscale(fps_output)
102
  # 1. break video into frames and get FPS
103
  #break_vid = get_frames(url_in, "vid_input_frame", "origin", resize_n)
104
- frames_list = glr_in.sort(key=sortFiles) #break_vid[0]
105
  fps = 1 #break_vid[1]
106
  print(f"ORIGIN FPS: {fps}")
107
  n_frame = int(300) #limited to 300 frames
@@ -119,7 +117,7 @@ def infer(glr_in, interpolation, fps_output):
119
  if idx < len(frames_list) - 1:
120
  next_frame = frames_list[idx+1]
121
 
122
- interpolated_frames = do_interpolation(frame[0], next_frame[0], interpolation, idx) # should return a list of interpolated frames
123
  break_interpolated_video = get_frames(interpolated_frames, "interpol", f"{idx}_", 0)
124
  print(break_interpolated_video[0])
125
  for j, img in enumerate(break_interpolated_video[0][0:len(break_interpolated_video[0])-1]):
@@ -129,7 +127,7 @@ def infer(glr_in, interpolation, fps_output):
129
 
130
  print("frames " + str(idx) + " & " + str(idx+1) + "/" + str(n_frame) + ": done;")
131
  #print(f"CURRENT FRAMES: {result_frames}")
132
- result_frames.append(f"{frames_list[n_frame-1][0]}")
133
  final_vid = create_video(result_frames, fps_output, "interpolated")
134
 
135
  files = final_vid
@@ -145,8 +143,9 @@ def logscale(linear):
145
  def linscale(linear):
146
  return int(math.log2(linear))
147
 
148
- def loadurl(url):
149
- return url
 
150
 
151
 
152
  title="""
@@ -177,8 +176,9 @@ with gr.Blocks() as demo:
177
  gr.HTML(title)
178
  with gr.Row():
179
  with gr.Column():
180
- gallery_input = gr.Gallery(label="Slides", preview=True, columns=8192)
181
- #video_input.change(fn=loadurl, inputs=[video_input], outputs=[url_input])
 
182
  with gr.Row():
183
  interpolation_slider = gr.Slider(minimum=1, maximum=5, step=1, value=1, label="Interpolation Steps: ")
184
  interpolation = gr.Number(value=1, show_label=False, interactive=False)
@@ -196,11 +196,11 @@ with gr.Blocks() as demo:
196
  gr.Examples(
197
  examples=[[["./examples/0.png", "./examples/1.png", "./examples/2.png", "./examples/3.png", "./examples/4.png"], 1, 0]],
198
  fn=infer,
199
- inputs=[gallery_input, interpolation_slider, fps_output_slider],
200
  outputs=[video_output, file_output],
201
  cache_examples=True
202
  )
203
 
204
- submit_btn.click(fn=infer, inputs=[gallery_input, interpolation_slider, fps_output_slider], outputs=[video_output, file_output])
205
 
206
  demo.launch()
 
93
  mediapy.write_video(type + "_result.mp4", imgs, fps=fps)
94
  return type + "_result.mp4"
95
 
 
 
96
 
97
+ def infer(f_in, interpolation, fps_output):
98
 
99
  fps_output = logscale(fps_output)
100
  # 1. break video into frames and get FPS
101
  #break_vid = get_frames(url_in, "vid_input_frame", "origin", resize_n)
102
+ frames_list = f_in #break_vid[0]
103
  fps = 1 #break_vid[1]
104
  print(f"ORIGIN FPS: {fps}")
105
  n_frame = int(300) #limited to 300 frames
 
117
  if idx < len(frames_list) - 1:
118
  next_frame = frames_list[idx+1]
119
 
120
+ interpolated_frames = do_interpolation(frame, next_frame, interpolation, idx) # should return a list of interpolated frames
121
  break_interpolated_video = get_frames(interpolated_frames, "interpol", f"{idx}_", 0)
122
  print(break_interpolated_video[0])
123
  for j, img in enumerate(break_interpolated_video[0][0:len(break_interpolated_video[0])-1]):
 
127
 
128
  print("frames " + str(idx) + " & " + str(idx+1) + "/" + str(n_frame) + ": done;")
129
  #print(f"CURRENT FRAMES: {result_frames}")
130
+ result_frames.append(f"{frames_list[n_frame-1]}")
131
  final_vid = create_video(result_frames, fps_output, "interpolated")
132
 
133
  files = final_vid
 
143
  def linscale(linear):
144
  return int(math.log2(linear))
145
 
146
+ def loadf(f):
147
+ f = f.sort()
148
+ return f
149
 
150
 
151
  title="""
 
176
  gr.HTML(title)
177
  with gr.Row():
178
  with gr.Column():
179
+ files_input = gr.File(file_count="directory")
180
+ gallery_input = gr.Gallery(label="Slides", preview=True, columns=8192, interactive=False)
181
+ files_input.change(fn=loadf, inputs=[files_input], outputs=[gallery_input])
182
  with gr.Row():
183
  interpolation_slider = gr.Slider(minimum=1, maximum=5, step=1, value=1, label="Interpolation Steps: ")
184
  interpolation = gr.Number(value=1, show_label=False, interactive=False)
 
196
  gr.Examples(
197
  examples=[[["./examples/0.png", "./examples/1.png", "./examples/2.png", "./examples/3.png", "./examples/4.png"], 1, 0]],
198
  fn=infer,
199
+ inputs=[files_input, interpolation_slider, fps_output_slider],
200
  outputs=[video_output, file_output],
201
  cache_examples=True
202
  )
203
 
204
+ submit_btn.click(fn=infer, inputs=[files_input, interpolation_slider, fps_output_slider], outputs=[video_output, file_output])
205
 
206
  demo.launch()