subtitle formating

This commit is contained in:
j 2026-01-29 13:04:05 +01:00
commit bb9f8fc445

View file

@ -1,10 +1,11 @@
import re
import os
import ox
import lxml.etree
import ox
from .render_kdenlive import melt_xml
from .utils import format_duration
def parse_lang(lang):
@ -57,16 +58,20 @@ def get_clip_by_seqid(clips, seqid):
return None
def get_scene_duration(scene):
def get_scene_duration(scene, fps=24, track=None):
if isinstance(scene, str):
with open(scene) as fd:
scene = json.load(fd)
duration = 0
for key, value in scene.items():
for name, clips in value.items():
for clip in clips:
duration += int(clip["duration"] * 24)
return duration / 24
if track and '%s:%s' % (key, name) != track:
continue
if clips:
for clip in clips:
duration += round(clip["duration"] * fps)
#print("scene duration based on %s:%s is %s %s" % (key, name, duration / fps, format_duration(duration / fps, fps)))
return duration / fps
def get_offset_duration(prefix):
@ -183,6 +188,7 @@ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour,
stop = ass_timestamp(sub["out"])
for lang in reversed(langs):
value = sub["values"][lang]
value = value.replace('\n', '\\N')
event = f"Dialogue: 0,{start},{stop},{lang},,0,0,0,,{value}"
events.append(event)
ass += "\n\n[Events]\n" + "\n".join(events) + "\n"