summaryrefslogtreecommitdiff
path: root/templates/default/flumotion
diff options
context:
space:
mode:
Diffstat (limited to 'templates/default/flumotion')
-rw-r--r--templates/default/flumotion/aac-encode.xml12
-rw-r--r--templates/default/flumotion/audio-resample.xml12
-rw-r--r--templates/default/flumotion/audiotest.xml11
-rw-r--r--templates/default/flumotion/decklink.xml13
-rw-r--r--templates/default/flumotion/flv-mux.xml14
-rw-r--r--templates/default/flumotion/h264-encode.xml12
-rw-r--r--templates/default/flumotion/http-stream.xml39
-rw-r--r--templates/default/flumotion/mjpeg-encode.xml12
-rw-r--r--templates/default/flumotion/mkv-mux.xml14
-rw-r--r--templates/default/flumotion/mp3-encode.xml12
-rw-r--r--templates/default/flumotion/mp3-mux.xml12
-rw-r--r--templates/default/flumotion/mpeg2-encode.xml12
-rw-r--r--templates/default/flumotion/mpegts-mux.xml14
-rw-r--r--templates/default/flumotion/ogg-mux.xml14
-rw-r--r--templates/default/flumotion/opus-encode.xml12
-rw-r--r--templates/default/flumotion/planet.xml58
-rw-r--r--templates/default/flumotion/porter.xml10
-rw-r--r--templates/default/flumotion/raw-encode.xml12
-rw-r--r--templates/default/flumotion/recorder.xml14
-rw-r--r--templates/default/flumotion/repeater.xml11
-rw-r--r--templates/default/flumotion/soundcard.xml24
-rw-r--r--templates/default/flumotion/video-resize.xml12
-rw-r--r--templates/default/flumotion/videotest.xml11
-rw-r--r--templates/default/flumotion/vorbis-encode.xml12
-rw-r--r--templates/default/flumotion/vp8-encode.xml13
-rw-r--r--templates/default/flumotion/webm-mux.xml14
-rw-r--r--templates/default/flumotion/worker.xml20
27 files changed, 426 insertions, 0 deletions
diff --git a/templates/default/flumotion/aac-encode.xml b/templates/default/flumotion/aac-encode.xml
new file mode 100644
index 0000000..950f144
--- /dev/null
+++ b/templates/default/flumotion/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 ! voaacenc bitrate={{ component.properties['bitrate'] * 1000 }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/audio-resample.xml b/templates/default/flumotion/audio-resample.xml
new file mode 100644
index 0000000..7182b01
--- /dev/null
+++ b/templates/default/flumotion/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/default/flumotion/audiotest.xml b/templates/default/flumotion/audiotest.xml
new file mode 100644
index 0000000..9e0f208
--- /dev/null
+++ b/templates/default/flumotion/audiotest.xml
@@ -0,0 +1,11 @@
+ <component name="{{ name }}"
+ type="audiotest-producer"
+ label="{{ component.desc }}"
+ 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>
diff --git a/templates/default/flumotion/decklink.xml b/templates/default/flumotion/decklink.xml
new file mode 100644
index 0000000..cc82727
--- /dev/null
+++ b/templates/default/flumotion/decklink.xml
@@ -0,0 +1,13 @@
+ <component name="{{ name }}"
+ type="decklink-producer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ 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/default/flumotion/flv-mux.xml b/templates/default/flumotion/flv-mux.xml
new file mode 100644
index 0000000..be77ddb
--- /dev/null
+++ b/templates/default/flumotion/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
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/h264-encode.xml b/templates/default/flumotion/h264-encode.xml
new file mode 100644
index 0000000..a3c6edc
--- /dev/null
+++ b/templates/default/flumotion/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</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/http-stream.xml b/templates/default/flumotion/http-stream.xml
new file mode 100644
index 0000000..d0cce33
--- /dev/null
+++ b/templates/default/flumotion/http-stream.xml
@@ -0,0 +1,39 @@
+ <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>
+%% if component.plugs is defined
+ <plugs>
+%% for name, value in component.plugs.items()
+%% if name == 'rrd'
+ <plug socket="flumotion.component.plugs.rrd.ComponentRRDPlug" type="component-rrd">
+ <property name="clients-connected-file">{{ value.clients }}</property>
+ <property name="bytes-transferred-file">{{ value.bytes }}</property>
+ </plug>
+%% endif
+%% if name == 'sfive'
+ <plug socket="flumotion.component.plugs.s5.ComponentSFivePlug" type="component-s5">
+%% for name, value in value.items()
+%% if name != 'tags'
+ <property name="{{ name }}">{{ value }}</property>
+%% else
+ <property name="tags">{{ value|join(', ') }}</property>
+%% endif
+%% endfor
+ </plug>
+%% endif
+%% endfor
+ </plugs>
+%% endif
+%% 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/default/flumotion/mjpeg-encode.xml b/templates/default/flumotion/mjpeg-encode.xml
new file mode 100644
index 0000000..da8947e
--- /dev/null
+++ b/templates/default/flumotion/mjpeg-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 ! jpegenc quality={{ component.properties['bitrate'] }} idct-method=float</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/mkv-mux.xml b/templates/default/flumotion/mkv-mux.xml
new file mode 100644
index 0000000..0be8da0
--- /dev/null
+++ b/templates/default/flumotion/mkv-mux.xml
@@ -0,0 +1,14 @@
+ <component name="{{ name }}"
+ type="mkv-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
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/mp3-encode.xml b/templates/default/flumotion/mp3-encode.xml
new file mode 100644
index 0000000..10255df
--- /dev/null
+++ b/templates/default/flumotion/mp3-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 ! lame bitrate={{ component.properties['bitrate'] }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/mp3-mux.xml b/templates/default/flumotion/mp3-mux.xml
new file mode 100644
index 0000000..f7ac81d
--- /dev/null
+++ b/templates/default/flumotion/mp3-mux.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_audio }}</feed>
+ </eater>
+ <property name="pipeline">identity</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/mpeg2-encode.xml b/templates/default/flumotion/mpeg2-encode.xml
new file mode 100644
index 0000000..05a56c4
--- /dev/null
+++ b/templates/default/flumotion/mpeg2-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 ! ffenc_mpeg2video bitrate={{ component.properties['bitrate'] * 1000 }} quantizer=4 gop-size=1</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/mpegts-mux.xml b/templates/default/flumotion/mpegts-mux.xml
new file mode 100644
index 0000000..8d8be6a
--- /dev/null
+++ b/templates/default/flumotion/mpegts-mux.xml
@@ -0,0 +1,14 @@
+ <component name="{{ name }}"
+ type="mpegts-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
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/ogg-mux.xml b/templates/default/flumotion/ogg-mux.xml
new file mode 100644
index 0000000..8827be1
--- /dev/null
+++ b/templates/default/flumotion/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
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/opus-encode.xml b/templates/default/flumotion/opus-encode.xml
new file mode 100644
index 0000000..531bd84
--- /dev/null
+++ b/templates/default/flumotion/opus-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 ! opusenc audio=true bitrate={{ component.properties['bitrate'] * 1000 }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/planet.xml b/templates/default/flumotion/planet.xml
new file mode 100644
index 0000000..9c4e31a
--- /dev/null
+++ b/templates/default/flumotion/planet.xml
@@ -0,0 +1,58 @@
+<?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['inputs'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- encoding -->
+ <!-- audio -->
+{% for name, component in flow['encoders-audio'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+ <!-- video -->
+{% for name, component in flow['encoders-video'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- muxing -->
+{% for name, component in flow['muxers'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- repeater -->
+{% for name, component in flow['repeaters'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- streaming -->
+{% for name, component in flow['streamers'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+
+<!-- recording -->
+{% for name, component in flow['recorders'].items() %}
+{% include '%s.xml' % component.type %}
+{% endfor %}
+ </flow>
+
+</planet>
diff --git a/templates/default/flumotion/porter.xml b/templates/default/flumotion/porter.xml
new file mode 100644
index 0000000..86b72b3
--- /dev/null
+++ b/templates/default/flumotion/porter.xml
@@ -0,0 +1,10 @@
+ <component name="{{ name }}"
+ type="porter"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+%% for name, value in component.properties.items()
+ <property name="{{ name }}">{{ value }}</property>
+%% endfor
+ </component>
diff --git a/templates/default/flumotion/raw-encode.xml b/templates/default/flumotion/raw-encode.xml
new file mode 100644
index 0000000..c5e1c61
--- /dev/null
+++ b/templates/default/flumotion/raw-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">identity</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/recorder.xml b/templates/default/flumotion/recorder.xml
new file mode 100644
index 0000000..b2fce9e
--- /dev/null
+++ b/templates/default/flumotion/recorder.xml
@@ -0,0 +1,14 @@
+ <component name="{{ name }}"
+ type="disk-consumer"
+ label="{{ component.desc }}"
+ worker="{{ component.worker }}"
+ project="flumotion"
+ version="{{ globals.version }}">
+ <eater name="default">
+ <feed alias="default">{{ component.feeder }}</feed>
+ </eater>
+%% for name, value in component.properties.items()
+ <property name="{{ name }}">{{ value }}</property>
+%% endfor
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/repeater.xml b/templates/default/flumotion/repeater.xml
new file mode 100644
index 0000000..aa469ec
--- /dev/null
+++ b/templates/default/flumotion/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/default/flumotion/soundcard.xml b/templates/default/flumotion/soundcard.xml
new file mode 100644
index 0000000..23df8a4
--- /dev/null
+++ b/templates/default/flumotion/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/default/flumotion/video-resize.xml b/templates/default/flumotion/video-resize.xml
new file mode 100644
index 0000000..7f858b9
--- /dev/null
+++ b/templates/default/flumotion/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=lanczos ! video/x-raw-yuv,width={{ component.properties['width'] }},height={{ component.properties['height'] }}</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/videotest.xml b/templates/default/flumotion/videotest.xml
new file mode 100644
index 0000000..342d645
--- /dev/null
+++ b/templates/default/flumotion/videotest.xml
@@ -0,0 +1,11 @@
+ <component name="{{ name }}"
+ type="videotest-producer"
+ label="{{ component.desc }}"
+ 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>
diff --git a/templates/default/flumotion/vorbis-encode.xml b/templates/default/flumotion/vorbis-encode.xml
new file mode 100644
index 0000000..83471fd
--- /dev/null
+++ b/templates/default/flumotion/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/default/flumotion/vp8-encode.xml b/templates/default/flumotion/vp8-encode.xml
new file mode 100644
index 0000000..79dfdc9
--- /dev/null
+++ b/templates/default/flumotion/vp8-encode.xml
@@ -0,0 +1,13 @@
+
+ <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 ! vp8enc bitrate={{ component.properties['bitrate'] * 1000 }} threads=8 max-keyframe-distance=50 speed=5 mode=1</property>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/webm-mux.xml b/templates/default/flumotion/webm-mux.xml
new file mode 100644
index 0000000..ac58f13
--- /dev/null
+++ b/templates/default/flumotion/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
+ <feed alias="default-bis">{{ component.feeder_video }}</feed>
+%% endif
+ </eater>
+ <clock-master>false</clock-master>
+ </component>
diff --git a/templates/default/flumotion/worker.xml b/templates/default/flumotion/worker.xml
new file mode 100644
index 0000000..b6f4667
--- /dev/null
+++ b/templates/default/flumotion/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>