summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2012-09-29 22:26:19 +0200
committerChristian Pointner <equinox@spreadspace.org>2012-09-29 22:26:19 +0200
commit2fb1c83c7d5b24cba20a8373ea6ba84f2a1c0574 (patch)
tree8628109c29a394d7ff13ebaeef80059ca74e0f3f
parentadded video-resize support (fixed) (diff)
added support for audio-resample
-rwxr-xr-xsrc/flufigut.py22
-rw-r--r--src/test.json8
-rw-r--r--templates/example/audio-resample.xml12
3 files changed, 38 insertions, 4 deletions
diff --git a/src/flufigut.py b/src/flufigut.py
index 89f30c3..95a0a59 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -138,6 +138,28 @@ 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']
+ if samplerate not in samplerates:
+ if config['input']['samplerate'] != samplerate:
+ samplerates.append(samplerate)
+
+for samplerate in samplerates:
+ flow['input']['resample-%s' % samplerate] = {
+ 'type': 'audio-resample',
+ 'desc': "resample audio to %s Hz" % samplerate,
+ 'worker': 'input',
+ 'feeder': 'raw-input:audio',
+ 'properties': {
+ 'samplerate': samplerate,
+ },
+ }
+
+
### generate encoder components #################################
flow['encoder'] = {}
diff --git a/src/test.json b/src/test.json
index a895a97..36954e1 100644
--- a/src/test.json
+++ b/src/test.json
@@ -10,10 +10,10 @@
"360p25": { "width": "640", "height": "360", "rate": "25/1" }
},
"audiorates": {
- "160@44": { "bitrate": 160, "samplerate": "44100" },
- "96@44": { "bitrate": 96, "samplerate": "44100" },
- "160@48": { "bitrate": 160, "samplerate": "48000" },
- "96@48": { "bitrate": 96, "samplerate": "48000" }
+ "160@44": { "bitrate": 160, "samplerate": 44100 },
+ "96@44": { "bitrate": 96, "samplerate": 44100 },
+ "160@48": { "bitrate": 160, "samplerate": 48000 },
+ "96@48": { "bitrate": 96, "samplerate": 48000 }
},
"formats": {
"flash": { "muxer": "flv", "video": "h264", "audio": "aac" },
diff --git a/templates/example/audio-resample.xml b/templates/example/audio-resample.xml
new file mode 100644
index 0000000..7182b01
--- /dev/null
+++ b/templates/example/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>