render fixes, encode vides in render command

This commit is contained in:
j 2023-10-09 20:29:11 +01:00
commit 5075394318
4 changed files with 35 additions and 7 deletions

View file

@ -1,5 +1,6 @@
import json
import os
import subprocess
from django.core.management.base import BaseCommand
from django.conf import settings
@ -14,6 +15,7 @@ class Command(BaseCommand):
parser.add_argument('--prefix', action='store', dest='prefix', default="/srv/t_for_time", help='prefix to build clips in')
parser.add_argument('--duration', action='store', dest='duration', default="150", help='target duration in seconds')
parser.add_argument('--offset', action='store', dest='offset', default="1024", help='inital offset in pi')
parser.add_argument('--no-video', action='store_true', dest='no_video', default=False, help='don\'t render video')
def handle(self, **options):
prefix = options['prefix']
@ -23,7 +25,15 @@ class Command(BaseCommand):
with open(os.path.join(prefix, "clips.json")) as fd:
clips = json.load(fd)
scene = compose(clips, target=target, base=base)
render(prefix, scene, 'scene-%s-' % base)
timelines = render(prefix, scene, 'scene-%s-' % base)
with open(os.path.join(prefix, 'scene-%s.json' % base), 'w') as fd:
json.dump(scene, fd, indent=2, ensure_ascii=False)
if not options['no_video']:
for timeline in timelines:
cmd = [
'xvfb-run', '-a',
'melt', timeline,
'-consumer', 'avformat:%s' % timeline.replace('.kdenlive', '.mp4')
]
subprocess.call(cmd)