Compare commits
3 commits
5075394318
...
a5957fc3b2
Author | SHA1 | Date | |
---|---|---|---|
a5957fc3b2 | |||
d625ad8f4c | |||
e10dfe039f |
3 changed files with 31 additions and 6 deletions
|
@ -30,10 +30,21 @@ class Command(BaseCommand):
|
|||
json.dump(scene, fd, indent=2, ensure_ascii=False)
|
||||
if not options['no_video']:
|
||||
for timeline in timelines:
|
||||
ext = '.mp4'
|
||||
if '-audio.kdenlive' in timeline:
|
||||
ext = '.wav'
|
||||
cmd = [
|
||||
'xvfb-run', '-a',
|
||||
'melt', timeline,
|
||||
'-consumer', 'avformat:%s' % timeline.replace('.kdenlive', '.mp4')
|
||||
'-consumer', 'avformat:%s' % timeline.replace('.kdenlive', ext)
|
||||
]
|
||||
subprocess.call(cmd)
|
||||
if ext == '.wav':
|
||||
cmd = [
|
||||
'ffmpeg', '-i',
|
||||
timeline.replace('.kdenlive', ext),
|
||||
timeline.replace('.kdenlive', '.mp4')
|
||||
]
|
||||
subprocess.call(cmd)
|
||||
os.unlink(timeline.replace('.kdenlive', ext))
|
||||
|
||||
|
|
|
@ -62,9 +62,14 @@ def compose(clips, target=150, base=1024):
|
|||
break
|
||||
length += clip['duration']
|
||||
|
||||
fg = clip['foreground']
|
||||
if 'foreground2' in clip:
|
||||
if chance(seq, 0.5):
|
||||
fg = clip['foreground2']
|
||||
|
||||
scene['front']['V1'].append({
|
||||
'duration': clip['duration'],
|
||||
'src': clip['foreground'],
|
||||
'src': fg,
|
||||
"filter": {
|
||||
'transparency': seq() / 10,
|
||||
}
|
||||
|
@ -110,7 +115,7 @@ def compose(clips, target=150, base=1024):
|
|||
})
|
||||
scene['audio']['A2'].append({
|
||||
'duration': clip['duration'],
|
||||
'src': clip['foreground'],
|
||||
'src': fg,
|
||||
})
|
||||
return scene
|
||||
|
||||
|
|
|
@ -19,8 +19,16 @@ class KDEnliveProject:
|
|||
def to_xml(self):
|
||||
track = self._main_tractor.xpath(".//track")[0]
|
||||
duration = max(self._duration.values())
|
||||
track.attrib["in"] = self._sequence.attrib["in"] = self._main_tractor.attrib["in"] = "0"
|
||||
track.attrib["out"] = self._sequence.attrib["out"] = self._main_tractor.attrib["out"] = str(duration - 1)
|
||||
values = {
|
||||
"in": "0",
|
||||
"out": str(duration - 1)
|
||||
}
|
||||
for key, value in values.items():
|
||||
track.attrib[key] = value
|
||||
self._sequence.attrib[key] = value
|
||||
self._main_tractor.attrib[key] = value
|
||||
self._audio_tractor.attrib[key] = value
|
||||
|
||||
self._tree.remove(self._sequence)
|
||||
self._tree.append(self._sequence)
|
||||
self._tree.remove(self._main_bin)
|
||||
|
@ -305,6 +313,7 @@ class KDEnliveProject:
|
|||
self._sequence = sequence
|
||||
self._main_bin = main_bin
|
||||
self._main_tractor = t4
|
||||
self._audio_tractor = t1
|
||||
self._v1 = v1
|
||||
self._v2 = v2
|
||||
self._a1 = a1
|
||||
|
@ -334,7 +343,7 @@ class KDEnliveProject:
|
|||
("kdenlive:clip_type", "0"),
|
||||
("kdenlive:folderid", "-1"),
|
||||
("kdenlive:id", kdenlive_id),
|
||||
("set.test_audio", "1"),
|
||||
("set.test_audio", "0"),
|
||||
("set.test_image", "0"),
|
||||
("xml", "was here"),
|
||||
]:
|
||||
|
|
Loading…
Add table
Reference in a new issue