Big project with pulseaudio and streaming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I cohost, or better, panel, on a podcast dealing with accessibility and technology. Unfortunately, I happen to be the only voice of reason when it comes to free software, or better, software freedom, as most of the other people on the podcast own Mac computers and i-devices, and the one other GNU/Linux user is still of the opinion that it's an OS for technically minded people, and isn't suitable for the average user. The main host of the show says he is considering switching to a Linux-based OS, probably Ubuntu, if I can record and stream the podcast.

I need to be able to send TeamTalk, including my voice, and possibly sox as well, to my local sound card, audacity and an Icecast2 server. I have a script based on some instructions I found at
http://www.alex.ballas.org/2010/11/08/stream-any-pulseaudio-application/
but it only sends apps to a null output and streams its monitor to the icecast server. It doesn't copy the monitor either to a source that can be recorded with Audacity or back to the local sound card, so if I want to listen to the audio, I must listen to the stream, which is about 30 seconds to a minute behind the audio playback. It also won't solve the problem of the TeamTalk client, which will play all other voices but mine. It also seems to cause errors at times, so it seems to have about a 50% rate of success, which can be tested until working, but is not exactly user-friendly. Worse, I have to kill pulseaudio once I stop the stream, and that causes me to lose speech, which is obviously not desirable for someone new to GNU/Linux, even though I know how to fix it.

I need to be able to do this by tomorrow before 8:00 Eastern Time. I'm attaching the script I wrote to this message, leaving out the icecast info, in case someone here can experiment and help me. I've been looking for good information for some time now, and it does seem to be a bit hard to find, which explains why it took so long to try to get some help, especially since I generally like doing this kind of thing myself. Hopefully I'm not too late.
~Kyle
http://kyle.tk
--
Linux killed Kenny, bastard!
--Subject of a real e-mail to the Linux kernel mailing list
12 January, 2009

#!/bin/sh
# streamer
# Sets up a virtual pulseaudio sink for streaming specified apps to an icecast2 server
# Written by Kyle, based on documentation and commands at http://www.alex.ballas.org/2010/11/08/stream-any-pulseaudio-application/

# Icecast server login info goes here
host=
port=
pass=
mount=

pactl load-module module-null-sink
pactl load-module module-combine sink_name=STREAMER slaves=”`cat ~/.pulse/*-sink`,null”

gst-launch-0.10 pulsesrc device=null.monitor ! \
audioconvert ! \
audio/x-raw-int,rate=44100,channels=2 ! \
lamemp3enc bitrate=128 ! \
shout2send \
ip=$host \
port=$port \
password=$pass \
mount=$mount


_______________________________________________
Blinux-list mailing list
Blinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/blinux-list

[Index of Archives]     [Linux Speakup]     [Fedora]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]