[gst-devel] multichannel vorbis
Dirk Griffioen
dirk.griffioen at barcelonamedia.org
Fri Sep 18 17:59:32 CEST 2009
Hi Tristan,
> You probably have to set the "channel-positions" property on the
> interleave element, which you can't do with gst-launch as I recall (i.e.
> you need to write c or python app for it) as it is an array. However for
> more than 8 channels the positions might have to all be set to
> GST_AUDIO_CHANNEL_POSITION_NONE
>
>
Yes I read about that
(http://tristanswork.blogspot.com/2008/08/multichannel-audio-with-gstreamer.html),
and can I do this in python as well? (I dont mind C, but python will be
quicker).
> Are you just trying to do something like this?
>
> gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=24
> ! vorbisenc ! vorbisdec ! jackaudiosink connect=none
>
>
Well, almost :)
I am trying to put rtp in between the vorbisencoder and decoder so I can
stream n channels from A to B over a single rtp session
I get the following on the receiving end (after copying the new config
string from A to B):
GstPipeline:pipeline0/GstVorbisDec:vorbisdec0.GstPad:sink: caps =
audio/x-vorbis
WARNING: from element /GstPipeline:pipeline0/GstVorbisDec:vorbisdec0:
Could not decode stream.
Additional debug info:
vorbisdec.c(670): vorbis_handle_identification_packet ():
/GstPipeline:pipeline0/GstVorbisDec:vorbisdec0:
Using NONE channel layout for more than 8 channels
Which is weird because it knows this:
/GstPipeline:pipeline0/GstVorbisDec:vorbisdec0.GstPad:src: caps =
audio/x-raw-float, rate=(int)48000, channels=(int)24,
endianness=(int)1234, width=(int)32,
channel-positions=(GstAudioChannelPosition)<
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE >
Do you have any tips? (Maybe the NONE layout is not in the vorbis config
string ...)
Regards, Dirk
PS - how do you call the 'audio/x-raw-float, channels=24' element?
> (note that the bottleneck here will probably be your soundcard).
>
> -Tristan
>
> Dirk Griffioen wrote:
>
>> Thanks for the answer!
>>
>>
>>> I think you need to interleave several mono channels from audiotestsrc
>>> into a stereo stream and then shove them into the vorbis encoder. You
>>> need an audio mixer, or something like that.
>>>
>>>
>>>
>> I would like to encode separate channels.
>>
>> For example, this runs
>>
>> gst-launch-0.10 -v interleave name=i ! queue ! \
>> vorbisenc ! vorbisdec ! \
>> jackaudiosink connect=none \
>> jackaudiosrc ! audioconvert ! queue ! i. \
>> jackaudiosrc ! audioconvert ! queue ! i.
>>
>> but this does not:
>>
>> gst-launch-0.10 -v interleave name=i ! queue ! \
>> vorbisenc ! vorbisdec ! \
>> jackaudiosink connect=none \
>> jackaudiosrc ! audioconvert ! queue ! i. \
>> jackaudiosrc ! audioconvert ! queue ! i. \
>> jackaudiosrc ! audioconvert ! queue ! i. \
>> jackaudiosrc ! audioconvert ! queue ! i.
>>
>> Do you know why? The vorbis spec allows for 255 channels and I simply
>> would like to run n channels through the vorbis encoder ...
>>
>> I really could use some help.
>>
>> Thanks in advance, Dirk
>>
>>
>> ------------------------------------------------------------------------------
>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>> is the only developer event you need to attend this year. Jumpstart your
>> developing skills, take BlackBerry mobile applications to market and stay
>> ahead of the curve. Join us from November 9-12, 2009. Register now!
>> http://p.sf.net/sfu/devconf
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090918/eb36124d/attachment.htm>
More information about the gstreamer-devel
mailing list