Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import gradio as gr | |
| import os | |
| import base64 | |
| def get_base64(bin_file): | |
| with open(bin_file, "rb") as f: | |
| data = f.read() | |
| return base64.b64encode(data).decode() | |
| def conr_fn(character_sheets, pose_zip): | |
| os.system("rm character_sheet/*") | |
| os.system("rm result/*") | |
| os.system("rm poses/*") | |
| os.makedirs("character_sheet", exist_ok=True) | |
| for i, e in enumerate(character_sheets): | |
| with open(f"character_sheet/{i}.png", "wb") as f: | |
| e.seek(0) | |
| f.write(e.read()) | |
| e.seek(0) | |
| os.makedirs("poses", exist_ok=True) | |
| pose_zip.seek(0) | |
| open("poses.zip", "wb").write(pose_zip.read()) | |
| os.system(f"unzip -d poses poses.zip") | |
| os.system("sh infer.sh") | |
| return "output.mp4" | |
| with gr.Blocks() as ui: | |
| gr.Markdown("CoNR demo") | |
| gr.Markdown("<a target='_blank' href='https://colab.research.google.com/github/transpchan/Live3D-v2/blob/main/notebook.ipynb'> <img src='https://colab.research.google.com/assets/colab-badge.svg' alt='Open In Colab'/></a> [GitHub](https://github.com/megvii-research/CoNR/)") | |
| gr.Markdown("Unofficial demo for [CoNR](https://github.com/transpchan/Live3D-v2).") | |
| with gr.Row(): | |
| # with gr.Column(): | |
| # gr.Markdown("## Parse video") | |
| # gr.Markdown("TBD") | |
| with gr.Column(): | |
| gr.Markdown("## Animate character") | |
| gr.Markdown("Character sheet") | |
| character_sheets = gr.File(file_count="multiple") | |
| gr.Markdown("Pose zip") # Don't hack | |
| pose_video = gr.File(file_count="single") | |
| # os.system("sh download.sh") | |
| run = gr.Button("Run") | |
| video = gr.Video() | |
| run.click(fn=conr_fn, inputs=[character_sheets, pose_video], outputs=video) | |
| gr.Markdown("## Examples") | |
| sheets = "character_sheet_ponytail_example" | |
| gr.Examples(fn=conr_fn, inputs=[character_sheets, pose_video], outputs=video, | |
| examples=[[[os.path.join(sheets, x) for x in os.listdir(sheets)], "poses_template.zip"]], cache_examples=True, examples_per_page=1) | |
| # ui.launch() | |
| demo = ui | |
| demo.launch() | |