summaryrefslogtreecommitdiff
path: root/src/flufigut.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/flufigut.py')
-rwxr-xr-xsrc/flufigut.py129
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 ################################