Actually run ffmpeg
This commit is contained in:
parent
11bdd11749
commit
6c7b6d6239
2 changed files with 23 additions and 3 deletions
|
@ -1,4 +1,5 @@
|
|||
from datetime import datetime, timedelta
|
||||
from subprocess import Popen
|
||||
|
||||
|
||||
def get_timefile_exact(time):
|
||||
|
@ -74,4 +75,16 @@ def mp3_join(named_intervals, target):
|
|||
if endskip is not None:
|
||||
cmdline += ['-to', str(len(files)*3600 - endskip)]
|
||||
cmdline += [target]
|
||||
cmdline += ['-loglevel', 'warning']
|
||||
return cmdline
|
||||
|
||||
|
||||
def create_mp3(start, end, outfile, options={}, **kwargs):
|
||||
p = Popen(mp3_join([(get_timefile(begin), start_cut, end_cut)
|
||||
for begin, start_cut, end_cut
|
||||
in get_files_and_intervals(start, end)],
|
||||
outfile))
|
||||
p.wait()
|
||||
if p.returncode != 0:
|
||||
raise OSError("return code was %d" % p.returncode)
|
||||
return True
|
||||
|
|
|
@ -5,7 +5,8 @@ from functools import partial
|
|||
from bottle import Bottle, request, static_file, redirect, abort
|
||||
|
||||
from techrec import Rec, RecDB
|
||||
from processqueue import get_process_queue, simulate_long_job
|
||||
from processqueue import get_process_queue
|
||||
from forge import create_mp3
|
||||
from config_manager import get_config
|
||||
|
||||
|
||||
|
@ -98,7 +99,11 @@ class RecServer:
|
|||
req['filename'] = 'ror-%s-%s' % (req['recid'], newrec['name'])
|
||||
|
||||
# TODO: real ffmpeg job!
|
||||
job_id = get_process_queue().submit(simulate_long_job, **req)
|
||||
job_id = get_process_queue().submit(
|
||||
create_mp3,
|
||||
start=datetime.fromtimestamp(newrec['starttime']),
|
||||
end=datetime.fromtimestamp(newrec['endtime']),
|
||||
outfile=req['filename'])
|
||||
print "SUBMITTED: %d" % job_id
|
||||
return self.rec_msg("Aggiornamento completato!", job_id=job_id,
|
||||
result='/output/' + req['filename'])
|
||||
|
@ -121,7 +126,9 @@ class RecServer:
|
|||
res = job.get()
|
||||
return res
|
||||
except Exception as exc:
|
||||
return ret('FAILED')
|
||||
r = ret('FAILED')
|
||||
r['exception'] = str(exc)
|
||||
return r
|
||||
return ret('WIP')
|
||||
|
||||
def running_jobs(self):
|
||||
|
|
Loading…
Reference in a new issue