some basic initial work

This commit is contained in:
kleines Filmröllchen 2025-03-13 01:29:39 +01:00
parent c118c0cf71
commit 1d391ed2db
Signed by: filmroellchen
SSH key fingerprint: SHA256:NarU6J/XgCfEae4rbei0YIdN2pYaYDccarK6R53dnc8
5 changed files with 1360 additions and 3440 deletions

View file

@ -11,6 +11,8 @@ from svgtemplate import SVGTemplate
from lxml import etree
from urllib.request import urlopen
from wand.image import Image
from multiprocessing.pool import ThreadPool
from time import sleep
# Frames per second. Increasing this renders more frames, the avconf-statements would still need modifications
fps = 25
@ -142,8 +144,6 @@ def cachedRenderFrame(frame, frameNr, task, cache):
cache[frame]), "{0}/{1:04d}.png".format(framedir, frameNr))
return
elif not skip_rendering:
cache[frame] = frameNr
svgfile = '{0}/.frames/{1:04d}.svg'.format(task.workdir, frameNr)
@ -155,6 +155,7 @@ def cachedRenderFrame(frame, frameNr, task, cache):
outfile = '{0}/.frames/{1:04d}.png'.format(task.workdir, frameNr)
renderFrame(svgfile, task, outfile)
cache[frame] = frameNr
# increment frame-number
frameNr += 1
@ -175,6 +176,14 @@ def rendertask_video(task):
for frameNr, frame in enumerate(task.sequence(task.parameters)):
cachedRenderFrame(frame, frameNr, task, cache)
# with ThreadPool() as pool:
# pool.starmap(
# lambda frameNr, frame: cachedRenderFrame(frame, frameNr, task, cache),
# enumerate(task.sequence(task.parameters)),
# )
# pool.close()
# pool.join()
if args.only_frame:
task.outfile = '{0}.frame{1:04d}.png'.format(task.outfile, args.only_frame)