summaryrefslogtreecommitdiff
path: root/templates/flumotion
diff options
context:
space:
mode:
Diffstat (limited to 'templates/flumotion')
-rw-r--r--templates/flumotion/default/aac-encode.xml12
-rw-r--r--templates/flumotion/default/audio-resample.xml12
-rw-r--r--templates/flumotion/default/decklink.xml13
-rw-r--r--templates/flumotion/default/flv-mux.xml14
-rw-r--r--templates/flumotion/default/h264-encode.xml12
-rw-r--r--templates/flumotion/default/http-stream.xml22
-rw-r--r--templates/flumotion/default/ogg-mux.xml14
-rw-r--r--templates/flumotion/default/planet.xml53
-rw-r--r--templates/flumotion/default/porter.xml11
-rw-r--r--templates/flumotion/default/repeater.xml11
-rw-r--r--templates/flumotion/default/soundcard.xml24
-rw-r--r--templates/flumotion/default/video-resize.xml12
-rw-r--r--templates/flumotion/default/vorbis-encode.xml12
-rw-r--r--templates/flumotion/default/vp8-encode.xml15
-rw-r--r--templates/flumotion/default/webm-mux.xml14
-rw-r--r--templates/flumotion/default/worker.xml20
16 files changed, 271 insertions, 0 deletions
diff --git a/templates/flumotion/default/aac-encode.xml b/templates/flumotion/default/aac-encode.xml
new file mode 100644
index 0000000..e6ad65a
--- /dev/null
+++ b/templates/flumotion/default/aac-encode.xml
@@ -0,0 +1,12 @@
+ <component name="{{ name }}"
+ type="pipeline-converter"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <property name="pipeline">audioconvert ! faac bitrate={{ component.properties['bitrate'] * 1000 }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/audio-resample.xml b/templates/flumotion/default/audio-resample.xml
new file mode 100644
index 0000000..7182b01
--- /dev/null
+++ b/templates/flumotion/default/audio-resample.xml
@@ -0,0 +1,12 @@
+ <component name="{{ name }}"
+ type="pipeline-converter"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <property name="pipeline">audioresample ! audio/x-raw-int,rate={{ component.properties['samplerate'] }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/decklink.xml b/templates/flumotion/default/decklink.xml
new file mode 100644
index 0000000..5eb6a2a
--- /dev/null
+++ b/templates/flumotion/default/decklink.xml
@@ -0,0 +1,13 @@
+ <component name="{{ name }}"
+ type="decklink-producer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion-decklink"
+ version="{{ globals.version }}">
+%% for name, value in component.properties.items()
+%% if name != 'samplerate'
+ <property name="{{ name }}">{{ value }}</property>
+%% endif
+%% endfor
+ <clock-master>{{ component.master }}</clock-master>
+ </component>
diff --git a/templates/flumotion/default/flv-mux.xml b/templates/flumotion/default/flv-mux.xml
new file mode 100644
index 0000000..a3706da
--- /dev/null
+++ b/templates/flumotion/default/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/flumotion/default/h264-encode.xml b/templates/flumotion/default/h264-encode.xml
new file mode 100644
index 0000000..ba8b136
--- /dev/null
+++ b/templates/flumotion/default/h264-encode.xml
@@ -0,0 +1,12 @@
+ <component name="{{ name }}"
+ type="pipeline-converter"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <property name="pipeline">ffmpegcolorspace ! x264enc bitrate={{ component.properties['bitrate'] }} profile=baseline threads=8 key-int-max=50 byte-stream=false pass=0 cabac=true bframes=0</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/http-stream.xml b/templates/flumotion/default/http-stream.xml
new file mode 100644
index 0000000..561097a
--- /dev/null
+++ b/templates/flumotion/default/http-stream.xml
@@ -0,0 +1,22 @@
+ <component name="{{ name }}"
+ type="http-streamer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <plugs>
+ <plug socket="flumotion.component.plugs.rrd.ComponentRRDPlug" type="component-rrd">
+ <property name="clients-connected-file">{{ component.rrd_clients }}</property>
+ <property name="bytes-transferred-file">{{ component.rrd_bytes }}</property>
+ </plug>
+ </plugs>
+%% for name, value in component.properties.items()
+%% if name != 'samplerate'
+ <property name="{{ name }}">{{ value }}</property>
+%% endif
+%% endfor
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/ogg-mux.xml b/templates/flumotion/default/ogg-mux.xml
new file mode 100644
index 0000000..36d7ef5
--- /dev/null
+++ b/templates/flumotion/default/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/flumotion/default/planet.xml b/templates/flumotion/default/planet.xml
new file mode 100644
index 0000000..c1633ee
--- /dev/null
+++ b/templates/flumotion/default/planet.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<planet name="{{ globals.name }}">
+
+ <manager name="{{ globals.name }}">
+%% for name, value in globals.manager.items()
+%% if name != 'machine'
+ <{{ name }}>{{ value }}</{{ name }}>
+%% endif
+%% endfor
+ <component name="manager-bouncer" type="htpasswdcrypt-bouncer">
+ <property name="filename">/etc/flumotion/{{ globals.name }}.passwd</property>
+ </component>
+ </manager>
+
+ <atmosphere>
+{% for name, component in atmosphere.items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+ </atmosphere>
+
+ <flow name="{{ globals.name }}">
+<!-- raw-input, resizing and resampling -->
+{% for name, component in flow['input'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- encoding -->
+ <!-- audio -->
+{% for name, component in flow['encoder_audio'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+ <!-- video -->
+{% for name, component in flow['encoder_video'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- muxing -->
+{% for name, component in flow['muxer'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- repeater -->
+{% for name, component in flow['repeater'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- streaming -->
+{% for name, component in flow['streamer'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+ </flow>
+
+</planet>
diff --git a/templates/flumotion/default/porter.xml b/templates/flumotion/default/porter.xml
new file mode 100644
index 0000000..cf960bf
--- /dev/null
+++ b/templates/flumotion/default/porter.xml
@@ -0,0 +1,11 @@
+ <component name="{{ name }}"
+ type="porter"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <property name="port">{{ component.properties['port'] }}</property>
+ <property name="socket-path">{{ component.properties['socket-path'] }}</property>
+ <property name="username">{{ component.properties['username'] }}</property>
+ <property name="password">{{ component.properties['password'] }}</property>
+ </component>
diff --git a/templates/flumotion/default/repeater.xml b/templates/flumotion/default/repeater.xml
new file mode 100644
index 0000000..aa469ec
--- /dev/null
+++ b/templates/flumotion/default/repeater.xml
@@ -0,0 +1,11 @@
+ <component name="{{ name }}"
+ type="repeater"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/soundcard.xml b/templates/flumotion/default/soundcard.xml
new file mode 100644
index 0000000..23df8a4
--- /dev/null
+++ b/templates/flumotion/default/soundcard.xml
@@ -0,0 +1,24 @@
+ <component name="{{ name }}_raw"
+ type="soundcard-producer"
+ label="{{ component.desc }} (raw)"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+%% for name, value in component.properties.items()
+ <property name="{{ name }}">{{ value }}</property>
+%% endfor
+ <clock-master>{{ component.master }}</clock-master>
+ </component>
+
+ <component name="{{ name }}"
+ type="pipeline-converter"
+ label="{{ component.desc }} (normalized)"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ name }}_raw</feed>
+ </eater>
+ <property name="pipeline">audioconvert ! audio/x-raw-int,rate=(int)48000,width=16,depth=16,channels=2</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/video-resize.xml b/templates/flumotion/default/video-resize.xml
new file mode 100644
index 0000000..3444bc1
--- /dev/null
+++ b/templates/flumotion/default/video-resize.xml
@@ -0,0 +1,12 @@
+ <component name="{{ name }}"
+ type="pipeline-converter"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <property name="pipeline">videoscale method=bilinear ! video/x-raw-yuv,width={{ component.properties['width'] }},height={{ component.properties['height'] }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/vorbis-encode.xml b/templates/flumotion/default/vorbis-encode.xml
new file mode 100644
index 0000000..83471fd
--- /dev/null
+++ b/templates/flumotion/default/vorbis-encode.xml
@@ -0,0 +1,12 @@
+ <component name="{{ name }}"
+ type="vorbis-encoder"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <property name="bitrate">{{ component.properties['bitrate'] * 1000 }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/vp8-encode.xml b/templates/flumotion/default/vp8-encode.xml
new file mode 100644
index 0000000..97b9e8d
--- /dev/null
+++ b/templates/flumotion/default/vp8-encode.xml
@@ -0,0 +1,15 @@
+ <component name="{{ name }}"
+ type="vp8-encoder"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+ <property name="keyframe-maxdistance">50</property>
+ <property name="bitrate">{{ component.properties['bitrate'] * 1000 }}</property>
+ <property name="speed">5</property>
+ <property name="threads">8</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/flumotion/default/webm-mux.xml b/templates/flumotion/default/webm-mux.xml
new file mode 100644
index 0000000..acace74
--- /dev/null
+++ b/templates/flumotion/default/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>
diff --git a/templates/flumotion/default/worker.xml b/templates/flumotion/default/worker.xml
new file mode 100644
index 0000000..b6f4667
--- /dev/null
+++ b/templates/flumotion/default/worker.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<worker name="{{ name }}">
+ <manager>
+%% for name, value in globals.manager.items()
+%% if name != 'machine'
+ <{{ name }}>{{ value }}</{{ name }}>
+%% endif
+%% endfor
+ </manager>
+
+ <authentication type="plaintext">
+ <username>{{ name }}</username>
+ <password>{{ password }}</password>
+ </authentication>
+
+ <feederports>{{ portrange }}</feederports>
+%% if debug and debug != ''
+ <debug>{{ debug }}</debug>
+%% endif
+</worker>