encode one

This commit is contained in:
j 2017-03-20 01:28:18 +00:00
parent ac15b66419
commit 10314d1c3d

View file

@ -4,6 +4,7 @@ import os
import json import json
import shutil import shutil
import subprocess import subprocess
import sys
def get_videoduration(video): def get_videoduration(video):
cmd = [ cmd = [
@ -32,9 +33,7 @@ def is_new(xml, mp4):
) )
return vtime < xtime return vtime < xtime
for xml in sorted(glob('output/*/*.xml')): def encode(xml, force=False):
if xml.endswith('.audio.xml'):
continue
audio_xml = xml.replace('.xml', '.audio.xml') audio_xml = xml.replace('.xml', '.audio.xml')
mp4 = xml.replace('.xml', '.mp4') mp4 = xml.replace('.xml', '.mp4')
mp4_480p = mp4.replace('.mp4', '.480p.mp4') mp4_480p = mp4.replace('.mp4', '.480p.mp4')
@ -42,7 +41,7 @@ for xml in sorted(glob('output/*/*.xml')):
pre_480p = mp4_480p + '.pre.mp4' pre_480p = mp4_480p + '.pre.mp4'
video = mp4 + '.v.mp4' video = mp4 + '.v.mp4'
audio = mp4 + '.wav' audio = mp4 + '.wav'
if is_new(xml, mp4): if force or is_new(xml, mp4):
subprocess.call([ subprocess.call([
'qmelt', xml, '-consumer', 'avformat:' + video, 'vcodec=libx264', 'strict=-2' 'qmelt', xml, '-consumer', 'avformat:' + video, 'vcodec=libx264', 'strict=-2'
]) ])
@ -73,3 +72,15 @@ for xml in sorted(glob('output/*/*.xml')):
] ]
subprocess.call(cmd) subprocess.call(cmd)
shutil.move(pre_480p, mp4_480p) shutil.move(pre_480p, mp4_480p)
def encode_all():
for xml in sorted(glob('output/*/*.xml')):
if xml.endswith('.audio.xml') or xml.endswith('.vocals.xml'):
continue
encode(xml)
if __name__ == '__main__':
if len(sys.argv) == 2:
encode(sys.argv[1], True)
else:
encode_all()