opusenc 16 channel

Patrick Heidegger pati.heidegger at icloud.com
Fri Jul 27 08:36:03 UTC 2018


Hello,

I’m new to gstreamer and want to build an application which takes a 16 channel audio (ie. wav) and converts it into a 16 channel ogg/oppus format. The problem is that the function “opusenc” is only able to take 8 channels. So i tried to spit the file up with deinterleave and re-interleave it after the encoding. Unfortunately i get an errormessage. 
Has anybody an idea what could work?


Here the error message (german): 
WARNUNG: Fehlerhafte Leitung: opusenc0 konnte nicht mit i verkn?pft werden

(my) translation: erroneous pipeline: opusenc0 couldn’t link to i


Here the pipeline i tried:

./gst-launch-1.0 -v filesrc location=test_16.wav ! wavparse ! \
audioconvert ! "audio/x-raw,channels=16" ! deinterleave name=d ! \
oggmux name=i ! \
filesink location =test_result.ogg \
d.src_0 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_0 \
d.src_1 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_1 \
d.src_2 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_2 \
d.src_3 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_3 \
d.src_4 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_4 \
d.src_5 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_5 \
d.src_6 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_6 \
d.src_7 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_7 \
d.src_8 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_8 \
d.src_9 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_9 \
d.src_10 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_10 \
d.src_11 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_11 \
d.src_12 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_12 \
d.src_13 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_13 \
d.src_14 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_14 \
d.src_15 ! queue ! audioconvert ! audioresample ! opusenc ! i.audio_15


i also tried it with interleave:

./gst-launch-1.0 -v filesrc location=test_16.wav ! wavparse ! \
audioconvert ! "audio/x-raw,channels=16" ! deinterleave name=d interleave name=i ! \
oggmux ! \
filesink location =test_result.ogg \
d.src_0 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_0 \
d.src_1 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_1 \
d.src_2 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_2 \
d.src_3 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_3 \
d.src_4 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_4 \
d.src_5 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_5 \
d.src_6 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_6 \
d.src_7 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_7 \
d.src_8 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_8 \
d.src_9 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_9 \
d.src_10 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_10 \
d.src_11 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_11 \
d.src_12 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_12 \
d.src_13 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_13 \
d.src_14 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_14 \
d.src_15 ! queue ! audioconvert ! audioresample ! opusenc ! i.sink_15

this gets this error
FEHLER: Von Element /GstPipeline:pipeline0/GstWavParse:wavparse0: Internal data stream error.
Zus?tzliche Fehlerdiagnoseinformation:
gstwavparse.c(2293): gst_wavparse_loop (): /GstPipeline:pipeline0/GstWavParse:wavparse0:
streaming stopped, reason not-negotiated (-4)




I hope you can help me.


best wishes,

patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180727/54308000/attachment.html>


More information about the gstreamer-devel mailing list