2011/9/24 Richard Henwood <rjhenwood at yahoo.co.uk>: > Hi Col, > > Just a quick message to say I've had a chance to follow up on your advice and it was helpful. Minor comments in-line, below: > > --- On Sun, 18/9/11, Colin Guthrie <gmane at colin.guthr.ie> wrote: >> From: Colin Guthrie <gmane at colin.guthr.ie> >> Subject: Re: [pulseaudio-discuss] audio source -> pa -> oggenc >> To: pulseaudio-discuss at lists.freedesktop.org >> Date: Sunday, 18 September, 2011, 9:38 >> 'Twas brillig, and Richard Henwood at > <snip> >> Add in a new sink does pretty much noting until you set >> some (or all) >> apps to use it, so using the Gnome sound prefs is what >> you're expected >> to do. Is this really problem 1? >> > > Yeah, I think problem 1 is minor - and it has been resolved now I understand that I should be 'listening' to the monitor. > >> > PROBLEM 2: the whole task ('java StdAudio' and >> 'oggenc') is over in a >> > second or two. The duration of the 'sound' from >> StdAudio is ~10 >> > seconds and what I'm aiming for is to drain audio from >> 'java >> > StdAudio' at real-time, not as 'fast as possible.' >> > >> > If you can overlook my imprecise use of terms (drain, >> signal etc) I >> > would really appreciate help with this :) >> >> Yeah the pipe sink is a bit of a hack/debug tool really, >> and in fact >> many distros don't ship it. >> >> >> What I'd suggest is the following solution with a couple >> variants >> depending on how you want to use things. >> >> >> The main question is: Do you want to hear the sounds as >> well as >> converting them to ogg? >> > > No. I'm going to run my sound generating code on a server, so I don't need to hear them as well... > >> If you DO NOT want to hear the sounds, then you will do the >> following: >> >> 1. pactl load-module module-null-sink sink_name=null >> 2. Start "java StdAudio" >> 3. Set the null sink to be default in the gnome GUI (or use >> pavucontrol >> to move only the java StdAudio stream to that device, >> letting all other >> sonds still use the build in h/w) >> 4. Use the following gst pipeline: gst-launch-0.10 >> pulsesrc >> device=null.monitor ! audioconvert? ! vorbisenc ! >> oggmux ! filesink >> uri=file:///path/to/file.ogg >> > > with: filesink location=/path/to/file.ogg > this work perfectly - thanks! > > <snip> >> >> Also note that if you are wanting to make this available to >> others, then >> using the Shoutcast system is a pretty easy way to do this. >> You can push >> straight to shoutcast via GST: >> >> gst-launch-0.10 pulsesrc >> device=alsa_output.pci_8086_27d8_alsa_playback_0.monitor ! >> audioconvert >> ?! vorbisenc ! oggmux ! shout2send ip=SOMEIP port=8000 >> password=hackme >> mount=stream.ogg >> > > Ok, so it seems that I need to drag in shoutcast dependency :/ > It would be nice if there was a light-weight alternative to shoutcast - sighttpd might be a good place to start if I had copious free time... I think vorbis in an rtp stream is supported by gstreamer too. Maarten