Hi,
Is there a way to create a multichannel vorbis file with gstreamer? I want to create a file (or a stream) with n discrete channels. I tried something like this: gst-launch -v vorbisenc name=v ! oggmux ! filesink location=sine.ogg \ audiotestsrc wave=sine ! audioconvert ! v. \ audiotestsrc wave=sine ! audioconvert ! v. But this does not work ... Thanks in advance. Best, 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Dirk Griffioen wrote:
> Hi, > > Is there a way to create a multichannel vorbis file with gstreamer? I > want to create a file (or a stream) with n discrete channels. > > I tried something like this: > > gst-launch -v vorbisenc name=v ! oggmux ! filesink location=sine.ogg \ > audiotestsrc wave=sine ! audioconvert ! v. \ > audiotestsrc wave=sine ! audioconvert ! v. > > But this does not work ... > > Thanks in advance. > > Best, Dirk > into a stereo stream and then shove them into the vorbis encoder. You need an audio mixer, or something like that. ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
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 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 (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 > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Tristan Matthews Société des arts technologiques [SAT] email: [hidden email] web: http://www.music.mcgill.ca/~tmatthews ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi Tristan,
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).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 Well, almost :)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 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
As far as I know this should be fine in python, though I haven't tried
it. Our app (https://svn.sat.qc.ca/trac/miville) does this for up to 8 channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We haven't tried (yet) to implement support for more than 8 channels. Here we don't set the channel positions and it works, but I do get that same "warning could not decode stream" even though the sound if fine. The element to set the number of channels is a caps filter element, so the equivalent in C would be: GstElement *capsfilter; gst_element_factory_make(capsfilter, NULL); g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL); and then link it in between jackaudiosrc and vorbisenc. -Tristan Dirk Griffioen wrote: > 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 >>> [hidden email] >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>> >>> >>> >> >> >> > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > 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 > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Tristan Matthews Société des arts technologiques [SAT] email: [hidden email] web: http://www.music.mcgill.ca/~tmatthews ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
This example might help:
sender gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 ! vorbisenc ! rtpvorbispay ! udpsink port=10000 receiver gst-launch -v udpsrc caps="$CAPS" port=10000 ! rtpvorbisdepay ! vorbisdec ! queue max-size-buffers=3 ! jackaudiosink connect=none where $CAPS are the caps of the udpsink from the first pipeline. -Tristan Tristan Matthews wrote: > As far as I know this should be fine in python, though I haven't tried > it. Our app (https://svn.sat.qc.ca/trac/miville) does this for up to 8 > channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We > haven't tried (yet) to implement support for more than 8 channels. Here > we don't set the channel positions and it works, but I do get that same > "warning could not decode stream" even though the sound if fine. > The element to set the number of channels is a caps filter element, so > the equivalent in C would be: > > GstElement *capsfilter; > gst_element_factory_make(capsfilter, NULL); > g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL); > > and then link it in between jackaudiosrc and vorbisenc. > > -Tristan > > Dirk Griffioen wrote: > >> 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 >>>> [hidden email] >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>>> >>>> >>> >>> >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------------ >> 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 >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > > > -- Tristan Matthews Société des arts technologiques [SAT] email: [hidden email] web: http://www.music.mcgill.ca/~tmatthews ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Thanks for the replies. They are really helpfull! (And I will have a further look at 'miville' - it looks really nice). This does not work for me, jackaudiosink does not pop up in qjackctl ... I tried some other configurations, but nothing.This example might help: sender gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 ! vorbisenc ! rtpvorbispay ! udpsink port=10000 receiver gst-launch -v udpsrc caps="$CAPS" port=10000 ! rtpvorbisdepay ! vorbisdec ! queue max-size-buffers=3 ! jackaudiosink connect=none where $CAPS are the caps of the udpsink from the first pipeline. However, somehow my first pipeline with rtp decided to work, with 24 channels and from gst-launch. Still, I get: 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 Maybe this can interpreted as 'cannot read layout from stream, defaulting to NONE' - as the audio streams fine. -Tristan Tristan Matthews wrote:As far as I know this should be fine in python, though I haven't tried it. Our app (https://svn.sat.qc.ca/trac/miville) does this for up to 8 channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We haven't tried (yet) to implement support for more than 8 channels. Here we don't set the channel positions and it works, but I do get that same "warning could not decode stream" even though the sound if fine. The element to set the number of channels is a caps filter element, so the equivalent in C would be: GstElement *capsfilter; gst_element_factory_make(capsfilter, NULL); g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL); and then link it in between jackaudiosrc and vorbisenc. -Tristan Dirk Griffioen wrote: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_NONEYes 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=noneWell, 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel------------------------------------------------------------------------ ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Are you copying the caps from udpsink's sink pad directly from the
sender pipeline? Vorbis caps (i.e. the codebook) will change for different configurations. -T Dirk Griffioen wrote: > Hi Tristan, > > Thanks for the replies. They are really helpfull! (And I will have a > further look at 'miville' - it looks really nice). >> This example might help: >> sender >> >> gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 >> ! vorbisenc ! rtpvorbispay ! udpsink port=10000 >> >> receiver >> >> gst-launch -v udpsrc caps="$CAPS" port=10000 ! rtpvorbisdepay ! >> vorbisdec ! queue max-size-buffers=3 ! jackaudiosink connect=none >> >> where $CAPS are the caps of the udpsink from the first pipeline. >> >> > This does not work for me, jackaudiosink does not pop up in qjackctl > ... I tried some other configurations, but nothing. > > However, somehow my first pipeline with rtp decided to work, with 24 > channels and from gst-launch. Still, I get: > > 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 > > Maybe this can interpreted as 'cannot read layout from stream, > defaulting to NONE' - as the audio streams fine. >> -Tristan >> >> Tristan Matthews wrote: >> >>> As far as I know this should be fine in python, though I haven't tried >>> it. Our app (https://svn.sat.qc.ca/trac/miville) does this for up to 8 >>> channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We >>> haven't tried (yet) to implement support for more than 8 channels. Here >>> we don't set the channel positions and it works, but I do get that same >>> "warning could not decode stream" even though the sound if fine. >>> The element to set the number of channels is a caps filter element, so >>> the equivalent in C would be: >>> >>> GstElement *capsfilter; >>> gst_element_factory_make(capsfilter, NULL); >>> g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL); >>> >>> and then link it in between jackaudiosrc and vorbisenc. >>> >>> -Tristan >>> >>> Dirk Griffioen wrote: >>> >>> >>>> 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 >>>>>> [hidden email] >>>>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> ------------------------------------------------------------------------ >>>> >>>> ------------------------------------------------------------------------------ >>>> 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 >>>> [hidden email] >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>>> >>> >>> >> >> >> > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > 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 > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Tristan Matthews Société des arts technologiques [SAT] email: [hidden email] web: http://www.music.mcgill.ca/~tmatthews ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
That is what I did: both ends appear to be running (the commandline just runs); the receiver end says:Are you copying the caps from udpsink's sink pad directly from the sender pipeline? Vorbis caps (i.e. the codebook) will change for different configurations. Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock But the jackaudiosink does not show up in qjackctl - nor is there any indication or other output why it fails ... Best, Dirk -T Dirk Griffioen wrote:Hi Tristan, Thanks for the replies. They are really helpfull! (And I will have a further look at 'miville' - it looks really nice).This example might help: sender gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 ! vorbisenc ! rtpvorbispay ! udpsink port=10000 receiver gst-launch -v udpsrc caps="$CAPS" port=10000 ! rtpvorbisdepay ! vorbisdec ! queue max-size-buffers=3 ! jackaudiosink connect=none where $CAPS are the caps of the udpsink from the first pipeline.This does not work for me, jackaudiosink does not pop up in qjackctl ... I tried some other configurations, but nothing. However, somehow my first pipeline with rtp decided to work, with 24 channels and from gst-launch. Still, I get: 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 Maybe this can interpreted as 'cannot read layout from stream, defaulting to NONE' - as the audio streams fine.-Tristan Tristan Matthews wrote:As far as I know this should be fine in python, though I haven't tried it. Our app (https://svn.sat.qc.ca/trac/miville) does this for up to 8 channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We haven't tried (yet) to implement support for more than 8 channels. Here we don't set the channel positions and it works, but I do get that same "warning could not decode stream" even though the sound if fine. The element to set the number of channels is a caps filter element, so the equivalent in C would be: GstElement *capsfilter; gst_element_factory_make(capsfilter, NULL); g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL); and then link it in between jackaudiosrc and vorbisenc. -Tristan Dirk Griffioen wrote: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_NONEYes 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=noneWell, 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel------------------------------------------------------------------------ ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel------------------------------------------------------------------------ ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel-- Tristan Matthews Société des arts technologiques [SAT] email: [hidden email] web: http://www.music.mcgill.ca/~tmatthews ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Tristan Matthews-2
If I add 'host' to the udpsink it works ... gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 ! vorbisenc ! rtpvorbispay ! udpsink port=10000 host=127.0.0.1 Then both jackaudiosink and jackaudiosrc show up. Thanks for the help! Best, Dirk Are you copying the caps from udpsink's sink pad directly from the sender pipeline? Vorbis caps (i.e. the codebook) will change for different configurations. -T Dirk Griffioen wrote:Hi Tristan, Thanks for the replies. They are really helpfull! (And I will have a further look at 'miville' - it looks really nice).This example might help: sender gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 ! vorbisenc ! rtpvorbispay ! udpsink port=10000 receiver gst-launch -v udpsrc caps="$CAPS" port=10000 ! rtpvorbisdepay ! vorbisdec ! queue max-size-buffers=3 ! jackaudiosink connect=none where $CAPS are the caps of the udpsink from the first pipeline.This does not work for me, jackaudiosink does not pop up in qjackctl ... I tried some other configurations, but nothing. However, somehow my first pipeline with rtp decided to work, with 24 channels and from gst-launch. Still, I get: 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 Maybe this can interpreted as 'cannot read layout from stream, defaulting to NONE' - as the audio streams fine.-Tristan Tristan Matthews wrote:As far as I know this should be fine in python, though I haven't tried it. Our app (https://svn.sat.qc.ca/trac/miville) does this for up to 8 channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We haven't tried (yet) to implement support for more than 8 channels. Here we don't set the channel positions and it works, but I do get that same "warning could not decode stream" even though the sound if fine. The element to set the number of channels is a caps filter element, so the equivalent in C would be: GstElement *capsfilter; gst_element_factory_make(capsfilter, NULL); g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL); and then link it in between jackaudiosrc and vorbisenc. -Tristan Dirk Griffioen wrote: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_NONEYes 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=noneWell, 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel------------------------------------------------------------------------ ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel------------------------------------------------------------------------ ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel-- Tristan Matthews Société des arts technologiques [SAT] email: [hidden email] web: http://www.music.mcgill.ca/~tmatthews ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Interesting, I had noticed this discrepancy between ubuntu 9.04 and
8.04 (i'm on 8.04 on my work machine) before. For some reason,
"localhost" (the default) doesn't work on 9.04, but 127.0.0.1 does. Thanks for confirming, I just filed this under:
https://bugzilla.gnome.org/show_bug.cgi?id=595840 -T 2009/9/21 Dirk Griffioen <[hidden email]>
-- Tristan Matthews email: [hidden email] web: http://tristanswork.blogspot.com ------------------------------------------------------------------------------ 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |