Spaces:
Sleeping
Sleeping
| import os | |
| import webbrowser | |
| import time | |
| from flask import Flask, render_template,request | |
| from backend.subtitles.subs import get_subtitles | |
| from backend.keyframes.keyframes import generate_keyframes, black_bar_crop | |
| from backend.panel_layout.layout_gen import generate_layout | |
| from backend.cartoonize.cartoonize import style_frames | |
| from backend.speech_bubble.bubble import bubble_create | |
| from backend.page_create import page_create,page_json | |
| from backend.utils import cleanup, download_video | |
| from backend.utils import copy_template | |
| from flask import send_from_directory | |
| app = Flask(__name__) | |
| def index(): | |
| return render_template('index.html') | |
| def create_comic(): | |
| start_time = time.time() | |
| video = 'video/uploaded.mp4' | |
| get_subtitles(video) | |
| time.sleep(3) | |
| generate_keyframes(video) | |
| black_x, black_y, _, _ = black_bar_crop() | |
| crop_coords, page_templates, panels = generate_layout() | |
| bubbles = bubble_create(video, crop_coords, black_x, black_y) | |
| pages = page_create(page_templates,panels,bubbles) | |
| page_json(pages) | |
| style_frames() | |
| print("--- Execution time : %s minutes ---" % ((time.time() - start_time) / 60)) | |
| def upload_file(): | |
| if request.method == 'POST': | |
| print(dict(request.form)) | |
| f = request.files['file'] #we got the file as file storage object from frontend | |
| print(type(f)) | |
| cleanup() | |
| f.save("video/uploaded.mp4") | |
| create_comic() | |
| copy_template() | |
| webbrowser.open('file:///'+os.getcwd()+'/' + 'output/page.html') | |
| return "Comic created Successfully" | |
| def handle_link(): | |
| if request.method == 'POST': | |
| print(dict(request.form)) | |
| link = request.form['link'] | |
| cleanup() | |
| download_video(link) | |
| create_comic() | |
| copy_template() | |
| webbrowser.open('file:///'+os.getcwd()+'/' + 'output/page.html') | |
| return "Comic created Successfully" | |
| def frames_static(filename): | |
| """Serve generated frame images located in /frames directory""" | |
| return send_from_directory('frames', filename) | |