You've already forked my-video-workflow
初始版本
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
import os.path
|
||||
import threading
|
||||
from datetime import datetime, timedelta
|
||||
from glob import glob
|
||||
from flask import Blueprint, jsonify, request, current_app
|
||||
@ -9,12 +10,25 @@ from model import db
|
||||
from model.DanmakuClip import DanmakuClip
|
||||
from model.VideoClip import VideoClip
|
||||
from model.Workflow import Workflow
|
||||
from worker.danmaku import do_workflow
|
||||
|
||||
blueprint = Blueprint("api_bilirecorder", __name__, url_prefix="/api/bilirecorder")
|
||||
|
||||
bili_record_workflow_item: Optional[Workflow] = None
|
||||
|
||||
|
||||
def auto_submit_task():
|
||||
global bili_record_workflow_item
|
||||
if not bili_record_workflow_item.editing:
|
||||
if len(bili_record_workflow_item.video_clips) > 0 and len(bili_record_workflow_item.danmaku_clips) > 0:
|
||||
threading.Thread(target=do_workflow, args=(
|
||||
bili_record_workflow_item.video_clips[0].full_path,
|
||||
bili_record_workflow_item.danmaku_clips[0].full_path,
|
||||
[clip.full_path for clip in bili_record_workflow_item.danmaku_clips[1:]]
|
||||
)).start()
|
||||
clear_item()
|
||||
|
||||
|
||||
def clear_item():
|
||||
global bili_record_workflow_item
|
||||
bili_record_workflow_item = None
|
||||
@ -86,7 +100,6 @@ def collect_danmaku_files(workflow: Optional[Workflow]):
|
||||
commit_item()
|
||||
|
||||
|
||||
|
||||
@blueprint.post("/")
|
||||
def bilirecorder_event():
|
||||
payload = request.json
|
||||
@ -107,7 +120,7 @@ def bilirecorder_event():
|
||||
item = safe_get_item()
|
||||
item.editing = False
|
||||
commit_item()
|
||||
clear_item()
|
||||
auto_submit_task()
|
||||
return jsonify(item.to_dict())
|
||||
elif payload['EventType'] == "FileClosed":
|
||||
# 文件关闭
|
||||
@ -128,6 +141,7 @@ def bilirecorder_event():
|
||||
item.video_clips.append(video_clip)
|
||||
commit_item()
|
||||
collect_danmaku_files(item)
|
||||
auto_submit_task()
|
||||
return jsonify(item.to_dict())
|
||||
commit_item()
|
||||
item = safe_get_item()
|
||||
|
Reference in New Issue
Block a user