还是使用DanmakuFactory
Revert "换用danmu2ass" This reverts commit 4c3d74fed8d1518866cda345a75879fb23e4cd2a.
This commit is contained in:
parent
4c3d74fed8
commit
6d339a0fe3
@ -4,7 +4,7 @@ import os.path
|
||||
|
||||
# [danmaku]
|
||||
# exec
|
||||
DANMU_ASS_EXEC = "danmu2ass"
|
||||
DANMAKU_FACTORY_EXEC = "DanmakuFactory"
|
||||
# speed
|
||||
DANMAKU_SPEED = 12
|
||||
# font
|
||||
@ -47,8 +47,8 @@ def load_config():
|
||||
config.read("config.ini", encoding="utf-8")
|
||||
if config.has_section("danmaku"):
|
||||
section = config['danmaku']
|
||||
global DANMU_ASS_EXEC, DANMAKU_SPEED, DEFAULT_FONT_NAME, VIDEO_RESOLUTION
|
||||
DANMU_ASS_EXEC = section.get('exec', DANMU_ASS_EXEC)
|
||||
global DANMAKU_FACTORY_EXEC, DANMAKU_SPEED, DEFAULT_FONT_NAME, VIDEO_RESOLUTION
|
||||
DANMAKU_FACTORY_EXEC = section.get('exec', DANMAKU_FACTORY_EXEC)
|
||||
DANMAKU_SPEED = section.getfloat('speed', DANMAKU_SPEED)
|
||||
DEFAULT_FONT_NAME = section.get('font', DEFAULT_FONT_NAME)
|
||||
VIDEO_RESOLUTION = section.get('resolution', VIDEO_RESOLUTION)
|
||||
@ -81,7 +81,7 @@ def load_config():
|
||||
def get_config():
|
||||
config = {
|
||||
'danmaku': {
|
||||
'exec': DANMU_ASS_EXEC,
|
||||
'exec': DANMAKU_FACTORY_EXEC,
|
||||
'speed': DANMAKU_SPEED,
|
||||
'font': DEFAULT_FONT_NAME,
|
||||
'resolution': VIDEO_RESOLUTION,
|
||||
|
@ -4,7 +4,7 @@ import platform
|
||||
import psutil
|
||||
from flask import Blueprint, jsonify
|
||||
|
||||
from config import DANMU_ASS_EXEC, FFMPEG_EXEC, BILILIVE_RECORDER_DIRECTORY, XIGUALIVE_RECORDER_DIRECTORY, VIDEO_OUTPUT_DIR
|
||||
from config import DANMAKU_FACTORY_EXEC, FFMPEG_EXEC, BILILIVE_RECORDER_DIRECTORY, XIGUALIVE_RECORDER_DIRECTORY, VIDEO_OUTPUT_DIR
|
||||
from util.system import check_exec
|
||||
|
||||
blueprint = Blueprint("api_collector", __name__, url_prefix="/api/collector")
|
||||
@ -59,7 +59,7 @@ def collect_basic_status():
|
||||
},
|
||||
'exec': {
|
||||
'ffmpeg': check_exec(FFMPEG_EXEC),
|
||||
'danmaku': check_exec(DANMU_ASS_EXEC),
|
||||
'danmaku': check_exec(DANMAKU_FACTORY_EXEC),
|
||||
},
|
||||
'system': {
|
||||
'os': platform.system(),
|
||||
|
@ -7,7 +7,7 @@ from typing import Union
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from config import DANMU_ASS_EXEC, VIDEO_RESOLUTION, DANMAKU_SPEED, DEFAULT_FONT_NAME
|
||||
from config import DANMAKU_FACTORY_EXEC, VIDEO_RESOLUTION, DANMAKU_SPEED, DEFAULT_FONT_NAME
|
||||
from exception.danmaku import NoDanmakuException, DanmakuFormatErrorException
|
||||
from util.file import check_file_exist
|
||||
|
||||
@ -34,11 +34,12 @@ def diff_danmaku_files(base_file: Union[os.PathLike[str], str], file: Union[os.P
|
||||
|
||||
def danmaku_to_subtitle(file: Union[os.PathLike[str], str], time_shift: float):
|
||||
new_subtitle_name = md5(file.encode("utf-8")).hexdigest() + ".ass"
|
||||
(_w, _h) = VIDEO_RESOLUTION.split("x")
|
||||
process = subprocess.Popen((
|
||||
DANMU_ASS_EXEC, "--force", "-a", "0.9", "-d", str(DANMAKU_SPEED), "--font", str(DEFAULT_FONT_NAME),
|
||||
"--font-size", "40", "--lane-size", "40", "--width", _w, "--height", _h, "-o", new_subtitle_name,
|
||||
"-p", "1", "--time-offset", str(time_shift), "--width-ratio", "1", file
|
||||
DANMAKU_FACTORY_EXEC, "--ignore-warnings",
|
||||
"-r", str(VIDEO_RESOLUTION), "-s", str(DANMAKU_SPEED), "-f", "5",
|
||||
"-S", "40", "-N", str(DEFAULT_FONT_NAME), "--showmsgbox", "FALSE",
|
||||
"-O", "255", "-L", "1", "-D", "0",
|
||||
"-o", "ass", new_subtitle_name, "-i", file, "-t", str(time_shift)
|
||||
))
|
||||
process.wait()
|
||||
return new_subtitle_name
|
||||
|
Loading…
x
Reference in New Issue
Block a user