Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -23,12 +23,19 @@ subprocess.run(["mv", "./network-disparity.pytorch", "./3d-ken-burns/models/disp
|
|
| 23 |
subprocess.run(["mv", "./network-refinement.pytorch", "./3d-ken-burns/models/disparity-refinement.pytorch"])
|
| 24 |
subprocess.run(["mv", "./network-inpainting.pytorch", "./3d-ken-burns/models/pointcloud-inpainting.pytorch"])
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
@spaces.GPU
|
| 34 |
def generate_video(image):
|
|
@@ -42,7 +49,8 @@ def generate_video(image):
|
|
| 42 |
subprocess.run(["ls","-al","/tmp"])
|
| 43 |
return "/tmp/autozoom.mp4"
|
| 44 |
|
| 45 |
-
def get_video(image):
|
|
|
|
| 46 |
video_path = generate_video(image)
|
| 47 |
clip = VideoFileClip("/tmp/autozoom.mp4")
|
| 48 |
duration = clip.duration / 2
|
|
@@ -53,6 +61,11 @@ def get_video(image):
|
|
| 53 |
with gr.Blocks() as demo:
|
| 54 |
gr.Markdown("""# 3D Zoom Video Generator!""")
|
| 55 |
image = gr.Image()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
submit_image = gr.Button(value="Generate Video")
|
| 57 |
video = gr.Video()
|
| 58 |
submit_image.click(fn=get_video,inputs=image,outputs=video)
|
|
|
|
| 23 |
subprocess.run(["mv", "./network-refinement.pytorch", "./3d-ken-burns/models/disparity-refinement.pytorch"])
|
| 24 |
subprocess.run(["mv", "./network-inpainting.pytorch", "./3d-ken-burns/models/pointcloud-inpainting.pytorch"])
|
| 25 |
|
| 26 |
+
subprocess.run(["cp", "./3d-ken-burns/autozoom.py", "./3d-ken-burns/autozoom-original.py"])
|
| 27 |
+
|
| 28 |
+
def update_parameters(fltShift=100, fltZoom=1.25, steps1=0.0, steps2=1.0, frames=240, fps=30):
|
| 29 |
+
with open ('./3d-ken-burns/autozoom-original.py','r') as azo:
|
| 30 |
+
script = azo.read()
|
| 31 |
+
script = script.replace("'fltShift': 100.0",f"'fltShift': {fltShift}")
|
| 32 |
+
script = script.replace("'fltZoom': 1.25",f"'fltZoom': {fltZoom}")
|
| 33 |
+
script = script.replace("'fltSteps': numpy.linspace(0.0, 1.0, 75).tolist(),",f"'fltSteps': numpy.linspace({steps1}, {steps2}, {frames}).tolist(),")
|
| 34 |
+
script = script.replace(", fps=25)",f", fps={fps})")
|
| 35 |
+
with open ('./3d-ken-burns/autozoom.py','w') as az:
|
| 36 |
+
az.write(script)
|
| 37 |
+
az.truncate()
|
| 38 |
+
az.seek(0)
|
| 39 |
|
| 40 |
@spaces.GPU
|
| 41 |
def generate_video(image):
|
|
|
|
| 49 |
subprocess.run(["ls","-al","/tmp"])
|
| 50 |
return "/tmp/autozoom.mp4"
|
| 51 |
|
| 52 |
+
def get_video(image,fltShift=100, fltZoom=1.25, steps1=0.0, steps2=1.0, frames=240, fps=30):
|
| 53 |
+
update_parameters(fltShift, fltZoom, steps1, steps2, frames, fps)
|
| 54 |
video_path = generate_video(image)
|
| 55 |
clip = VideoFileClip("/tmp/autozoom.mp4")
|
| 56 |
duration = clip.duration / 2
|
|
|
|
| 61 |
with gr.Blocks() as demo:
|
| 62 |
gr.Markdown("""# 3D Zoom Video Generator!""")
|
| 63 |
image = gr.Image()
|
| 64 |
+
fltShift = gr.Slider(label="Flat Shift",minimum=0,maximum=1000,step=1,value=100)
|
| 65 |
+
fltZoom = gr.Slider(label="Flat Zoom",minimum=0.0,maximum=5.0,value=1.3,step=0.1)
|
| 66 |
+
steps1 = gr.Slider(label="Steps1",minimum=0.0,maximum=5.0,value=0.0,step=0.1)
|
| 67 |
+
steps2 = gr.Slider(label="Steps2",minimum=0.0,maximum=5.0,value=1.0,step=0.1)
|
| 68 |
+
frames = gr.Slider(label="Frames",minimum=50,maximum=10000,step=1,value=240)
|
| 69 |
submit_image = gr.Button(value="Generate Video")
|
| 70 |
video = gr.Video()
|
| 71 |
submit_image.click(fn=get_video,inputs=image,outputs=video)
|