diff options
author | Christian Pointner <equinox@spreadspace.org> | 2012-10-01 00:53:24 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2012-10-01 00:53:24 +0200 |
commit | 46aea5a8182e7147be52251ea86b116b05534f86 (patch) | |
tree | 7cb1d1d99516fe3aba4216218f1e68f8e609cd7a /src/flufigut.py | |
parent | cleanup (diff) |
generate encoder and muxer automatically
Diffstat (limited to 'src/flufigut.py')
-rwxr-xr-x | src/flufigut.py | 129 |
1 files changed, 62 insertions, 67 deletions
diff --git a/src/flufigut.py b/src/flufigut.py index becb727..83ab005 100755 --- a/src/flufigut.py +++ b/src/flufigut.py @@ -117,8 +117,9 @@ for property in config['input'].keys(): flow['input']['raw-input']['properties'][property] = config['input'][property] resolutions = [ ] -for encoder in config['encoder']['video'].keys(): - for resolution in config['encoder']['video'][encoder].keys(): +for format in config['transcode'].keys(): + for profile in config['transcode'][format]: + resolution = config['globals']['profiles'][profile]['video'] if resolution not in resolutions: if config['input']['resolution'] != resolution: if config['globals']['resolutions'][resolution]['rate'] != config['globals']['resolutions'][config['input']['resolution']]['rate']: @@ -139,11 +140,10 @@ for resolution in resolutions: } - samplerates = [ ] -for encoder in config['encoder']['audio'].keys(): - for audiorate in config['encoder']['audio'][encoder]: - samplerate = config['globals']['audiorates'][audiorate]['samplerate'] +for format in config['globals']['formats'].keys(): + if 'samplerate' in config['globals']['formats'][format]: + samplerate = config['globals']['formats'][format]['samplerate'] if samplerate not in samplerates: if config['input']['samplerate'] != samplerate: samplerates.append(samplerate) @@ -159,70 +159,65 @@ for samplerate in samplerates: }, } - -### generate encoder components ################################# +### generate encoder and muxer components ####################### flow['encoder'] = {} - -for encoder in config['encoder']['video'].keys(): - for resolution in config['encoder']['video'][encoder].keys(): - if resolution == config['input']['resolution']: - feeder = 'raw-input:video' - else: - feeder = 'resize-%s' % resolution - - flow['encoder']['encode-%s-%s' % (encoder, resolution)] = { - 'type': '%s-encode' % encoder, - 'desc': "%s encoder for %sx%s" % (encoder, config['globals']['resolutions'][resolution]['width'], config['globals']['resolutions'][resolution]['height']), - 'worker': 'encoder-%s' % encoder, - 'feeder': feeder, - 'properties': { - 'bitrate': config['encoder']['video'][encoder][resolution], - }, - } - - -for encoder in config['encoder']['audio'].keys(): - for audiorate in config['encoder']['audio'][encoder]: - if config['globals']['audiorates'][audiorate]['samplerate'] == config['input']['samplerate']: - feeder = 'raw-input:audio' - else: - feeder = 'resample-%s' % config['globals']['audiorates'][audiorate]['samplerate'] - - flow['encoder']['encode-%s-%s' % (encoder, audiorate)] = { - 'type': '%s-encode' % encoder, - 'desc': "%s encoder for %i kbit/s @ %i Hz" % (encoder, config['globals']['audiorates'][audiorate]['bitrate'], config['globals']['audiorates'][audiorate]['samplerate']), - 'worker': 'encoder-%s' % encoder, - 'feeder': feeder, - 'properties': { - 'bitrate': config['globals']['audiorates'][audiorate]['bitrate'], - }, - } - - -### generate muxer components ################################### flow['muxer'] = {} -for format in config['muxer'].keys(): - muxer = config['globals']['formats'][format]['muxer'] - - for profile in config['muxer'][format]: - resolution = config['globals']['profiles'][profile]['video'] - arate = config['globals']['profiles'][profile]['audio'] - - feeder_audio = 'encoder-%s-%s' % (config['globals']['formats'][format]['audio'], arate) - if 'video' in config['globals']['formats'][format]: - feeder_video = 'encoder-%s-%s' % (config['globals']['formats'][format]['video'], resolution) - else: - feeder_video = 'none' - - flow['muxer']['muxer-%s-%s' % (muxer, profile)] = { - 'type': '%s-mux' % muxer, - 'desc': "%s muxer profile %s" % (format, profile), - 'worker': 'muxer-%s' % muxer, - 'feeder_audio': feeder_audio, - 'feeder_video': feeder_video, - 'properties': {}, - } +# for encoder in config['encoder']['video'].keys(): +# for resolution in config['encoder']['video'][encoder].keys(): +# if resolution == config['input']['resolution']: +# feeder = 'raw-input:video' +# else: +# feeder = 'resize-%s' % resolution + +# flow['encoder']['encode-%s-%s' % (encoder, resolution)] = { +# 'type': '%s-encode' % encoder, +# 'desc': "%s encoder for %sx%s" % (encoder, config['globals']['resolutions'][resolution]['width'], config['globals']['resolutions'][resolution]['height']), +# 'worker': 'encoder-%s' % encoder, +# 'feeder': feeder, +# 'properties': { +# 'bitrate': config['encoder']['video'][encoder][resolution], +# }, +# } + +# for encoder in config['encoder']['audio'].keys(): +# for audiorate in config['encoder']['audio'][encoder]: +# if config['globals']['audiorates'][audiorate]['samplerate'] == config['input']['samplerate']: +# feeder = 'raw-input:audio' +# else: +# feeder = 'resample-%s' % config['globals']['audiorates'][audiorate]['samplerate'] + +# flow['encoder']['encode-%s-%s' % (encoder, audiorate)] = { +# 'type': '%s-encode' % encoder, +# 'desc': "%s encoder for %i kbit/s @ %i Hz" % (encoder, config['globals']['audiorates'][audiorate]['bitrate'], config['globals']['audiorates'][audiorate]['samplerate']), +# 'worker': 'encoder-%s' % encoder, +# 'feeder': feeder, +# 'properties': { +# 'bitrate': config['globals']['audiorates'][audiorate]['bitrate'], +# }, +# } + +# for format in config['muxer'].keys(): +# muxer = config['globals']['formats'][format]['muxer'] + +# for profile in config['muxer'][format]: +# resolution = config['globals']['profiles'][profile]['video'] +# arate = config['globals']['profiles'][profile]['audio'] + +# feeder_audio = 'encoder-%s-%s' % (config['globals']['formats'][format]['audio'], arate) +# if 'video' in config['globals']['formats'][format]: +# feeder_video = 'encoder-%s-%s' % (config['globals']['formats'][format]['video'], resolution) +# else: +# feeder_video = 'none' + +# flow['muxer']['muxer-%s-%s' % (muxer, profile)] = { +# 'type': '%s-mux' % muxer, +# 'desc': "%s muxer profile %s" % (format, profile), +# 'worker': 'muxer-%s' % muxer, +# 'feeder_audio': feeder_audio, +# 'feeder_video': feeder_video, +# 'properties': {}, +# } ### generate streamer components ################################ |