summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2012-09-30 13:58:42 +0200
committerChristian Pointner <equinox@spreadspace.org>2012-09-30 13:58:42 +0200
commit237ac12d6ef39305d71c4318bdb17acb3dd6d2b3 (patch)
tree52b1b0f4753af0d0dcb1ff4f845a0583c1dd3ea9
parentadded domain paramter for hostname generation (diff)
muxer components, feeder matching to be done
-rwxr-xr-xsrc/flufigut.py25
-rw-r--r--src/test.json2
-rw-r--r--templates/example/flv-mux.xml14
-rw-r--r--templates/example/ogg-mux.xml14
-rw-r--r--templates/example/webm-mux.xml14
5 files changed, 67 insertions, 2 deletions
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 name="{{ name }}"
+ type="flv-muxer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder_audio }}</feed>
+%% if component.feeder_video != 'none'
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
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 name="{{ name }}"
+ type="ogg-muxer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder_audio }}</feed>
+%% if component.feeder_video != 'none'
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
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 name="{{ name }}"
+ type="webm-muxer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder_audio }}</feed>
+%% if component.feeder_video != 'none'
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>