From 237ac12d6ef39305d71c4318bdb17acb3dd6d2b3 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 30 Sep 2012 13:58:42 +0200 Subject: muxer components, feeder matching to be done --- src/flufigut.py | 25 ++++++++++++++++++++++++- src/test.json | 2 +- templates/example/flv-mux.xml | 14 ++++++++++++++ templates/example/ogg-mux.xml | 14 ++++++++++++++ templates/example/webm-mux.xml | 14 ++++++++++++++ 5 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 templates/example/flv-mux.xml create mode 100644 templates/example/ogg-mux.xml create mode 100644 templates/example/webm-mux.xml diff --git a/src/flufigut.py b/src/flufigut.py index f6c59ce..64e0d44 100755 --- a/src/flufigut.py +++ b/src/flufigut.py @@ -202,7 +202,30 @@ for encoder in config['encoder']['audio'].keys(): ### generate muxer components ################################### flow['muxer'] = {} -# TODO +for format in config['muxer'].keys(): + muxer = config['globals']['formats'][format]['muxer'] + aencoder = config['globals']['formats'][format]['audio'] + if 'video' in config['globals']['formats'][format]: + vencoder = config['globals']['formats'][format]['video'] + else: + vencoder = 'none' + + for profile in config['muxer'][format]: + resolution = config['globals']['profiles'][profile]['video'] + arate = config['globals']['profiles'][profile]['audio'] + + feeder_audio = aencoder + feeder_video = vencoder + + 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 ################################ flow['streamer'] = {} diff --git a/src/test.json b/src/test.json index 161f8d2..2a389ef 100644 --- a/src/test.json +++ b/src/test.json @@ -27,7 +27,7 @@ "low": { "video": "360p25", "audio": 96 } }, "machines": { - "titan": [ "input", "encoder-vorbis", "encoder-aac", "muxer", "streamer0" ], + "titan": [ "input", "encoder-vorbis", "encoder-aac", "muxer-flv", "muxer-webm", "muxer-ogg", "streamer0" ], "calypso": [ "encoder-h264" ], "telesto": [ "encoder-vp8" ], "elevate1": [ "streamer1" ], diff --git a/templates/example/flv-mux.xml b/templates/example/flv-mux.xml new file mode 100644 index 0000000..a3706da --- /dev/null +++ b/templates/example/flv-mux.xml @@ -0,0 +1,14 @@ + + + {{ component.feeder_audio }} +%% if component.feeder_video != 'none' + {{ component.feeder_video }} +%% endif + + false + diff --git a/templates/example/ogg-mux.xml b/templates/example/ogg-mux.xml new file mode 100644 index 0000000..36d7ef5 --- /dev/null +++ b/templates/example/ogg-mux.xml @@ -0,0 +1,14 @@ + + + {{ component.feeder_audio }} +%% if component.feeder_video != 'none' + {{ component.feeder_video }} +%% endif + + false + diff --git a/templates/example/webm-mux.xml b/templates/example/webm-mux.xml new file mode 100644 index 0000000..acace74 --- /dev/null +++ b/templates/example/webm-mux.xml @@ -0,0 +1,14 @@ + + + {{ component.feeder_audio }} +%% if component.feeder_video != 'none' + {{ component.feeder_video }} +%% endif + + false + -- cgit v1.2.3