diff options
-rwxr-xr-x | src/flufigut.py | 22 | ||||
-rw-r--r-- | src/test.json | 8 | ||||
-rw-r--r-- | templates/example/audio-resample.xml | 12 |
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> |