Maxwell'sSilverLART asks:
"I work for a University's Aviation Department. For several years now, we've run a streaming audio server to rebroadcast air traffic control communications over the web as an educational service to our students. This job had been handled by Winamp + SHOUTcast. We've just added a second channel to the system (we're now rebroadcasting approach control, in addition to the local tower), which means I need to find a way to get a second live audio stream into the system (signal comes from radio receivers tuned to the appropriate frequency), encoded (we're using 8-bit, 22kHz mono MP3, which is more than adequate given the source), and broadcast. Has anybody done this before? Surely I'm not the first to want to encode multiple live streams. How did you do it, and what were the pros/cons? Does anybody know of a good hardware device at a reasonable price (I'd need to sell my boss on two of them)? Ideas are always welcome."
"I thought about setting up a Linux box with two sound cards, but I know that can be problematic, and I was also having trouble finding streaming software that would work with multiple soundcards (LiveIce only seems to support one). I would prefer not to use multiple machines. I was looking for software, and it occurred to me that I might be going about this the wrong way--perhaps a hardware encoder/server would be better. I poked around on the web, and only found one (for $2800--I'll pass). If I do end up using a PC, I want the system to be daemonized, and initialize at startup; I'm sick of having to restart Winamp every time the power cycles. (I inherited this system; I would have done things differently)"
Partial Solution (Score:2, Informative)
Stereo Solution (Score:5, Interesting)
Possible second half solution. (Score:2, Informative)
Re:Possible second half solution. (Score:1, Funny)
I've got some property in Wisconsin with a great view of the ocean. I think you'll be very interested.
Sincerely yours,
AC
(Note to mods: Stay away from crack, k? thx.)
Re:Possible second half solution. (Score:2)
Liveice + *NIX of choice (Score:2)
Of course, this costs money, both short and long term, as boxes aren't free and hardware problems become twice as likely to pop up. But, given your background in ATC, I doubt such juggling would be much burden.
You could always run two instances of Winamp on the same machine, with the primary difficulty being the ability to instruct each to record from a different card. Winamp is really not built for this sort of work, so it may be trivial, or nearly insurmountable - I've not tried.
Multiple soundcards are nowhere near as much of a problem with Linux as they are with Windows. Use ALSA as a sound driver, which will merrily provide excellent support for as many cards as you can physically squeeze into the machine. The stock kernel drivers work nearly as well, as does paid-for OSS from 4front. FreeBSD's stock drivers would also suffice nicely, if you want to avoid Linux.
It doesn't matter that LiveICE doesn't support more than one card - just run two copies of it, each with different configs, one for each stream. The worst-case scenario is that the device names (ie,
IceCast, the server-side component of *NIX MP3 streaming, will gladly support multiple streams out-of-the-box, so that's not an issue.
Whatever you do, though, go ahead and increase the bit-depth from 8- to 16-bit. Running with 16-bit costs you nothing, and increases dynamic range and overall fidelity. Whether or not it matters given the sort of audio you're encoding is not relevent; everything is going to end up as 16-bit anyway, whether by action of your local MP3 encoder or the player on the other end, irrespective of what it begins as. The MP3 format itself is bit-depth agnostic.
Good luck.
Re:Liveice + *NIX of choice (Score:2)
And what software would I need to record live audio and video so that customers could listen pre-recorded marketing pitches or employees at remote sites could watch company meetings at remote sites either live or pre-recorded. Do I need to use something else for this like Real's Helix project?
Re:Liveice + *NIX of choice (Score:2)
Piss off, flagrant manager-type. Go back to your 8.3 ".htm" world and leave me be.
The original question involved education. I like education. I'm willing to expend a little effort to help people educate others, whatever the field.
Your question involves money. I like money. I'm willing to expend quite a bit of effort to help people make money, if I'm in on a share of it.
If you want help with serving sales pitches and intracontinental AV meetings full of hot air, where your only interest is making money, hire someone skilled and knowledgeable to do the work for you. You'll find no aid from me, or quite likely anyone else, for free.
I care not to line your pockets whilst I wander about trying to figure out how I'm going to eat next week.
Good day, sir.
Re:Liveice + *NIX of choice (Score:2)
Respectfully,
Andrew Kaufman
Re:Liveice + *NIX of choice (Score:1)
-(()) (geez, wasn't it obvious?)
Re:Liveice + *NIX of choice (Score:2)
*shrug*
At least I felt better having written that. Countercorporate rants are good for the soul.
my 2 canadian cents. (Score:1)
either:
xmms + Output stacker, both shoutcast servers configured for differnt ports
or:
two versions of xmms, using each differnt sound card
This is not hard (Score:1)
Get & install two soundcards. Connect the outputs of each source into the line in of each.
Get a copy of Darwin Streaming Server [darwin.org] or Helix Server [helixcommunity.org] or any of the shoutcast MP3 streaming things.
The benefit to using Darwin or Helix is that they're made to record from live input rather than just streaming files on the drive.
Clarifications (Score:2)
Mr. Coward
Interesting concept, running two mono channels into a single stereo stream, but not quite what I'm looking for here. The two streams are totally independent, and that would be confusing to say the least (at least to most listeners). The listeners have been e-mailing me for two weeks asking my why they can't connect, when I've posted, at the top of the page, in boldface, that the server is temporarily down. Call me an elitist, but if they can't read that, I sincerely doubt they'll pick up on instructions to adjust the balance control. Good thinking, though; I hadn't even considered that sort of solution.
bofhkentucky:
Two separate channels, feeding two separate streams; mixing them would be bad. It'd be like trying to listen to two radio stations at the same time. While pilots do tend to step on each others' transmissions (frequently), I'd rather not make it worse.
adolf:
Lots of good points in your post; thanks for the good response. To clarify a few things:
seann:
I'm trying to avoid XMMS and other programs that want a display. Daemons are good here. That said, what's Output Stacker? I haven't heard of it, and I've poked around quite a bit.
Rob (and everybody): .confs/sources). When I said hardware, I was thinking of a dedicated device. The only one I found was the Telos Systems Audioactive [audioactive.com] live MP3 streamer, but at $2800 a copy, it's a bit out of my price range (we don't spend that much on aircraft radios!). I was looking for something that's a dedicated, single-purpose, plug and play device; configure it once, and that's the last I see or hear of it. I'm a lazy admin--the less I have to touch it, the happier I am. I didn't mean to imply that I was looking for special computer hardware, but for a standalone audio device.
I have a box that can handle it, if I can get the software working. I looked at Darwin Streaming Server, and it appears to be comparable to SHOUTcast and IceCast. I'm not having trouble finding a server, the problem lies in the source; I can't find a good program to connect the line-in to the streaming server. LiveIce appears to do what I want, but I don't know how it would handle multiple instances on the same machine, being fed by multiple sound cards (adolf: I'll have a look at the
All: thanks for the suggestions. At the moment, it looks like I'm going to stick with Linux + two cards, if I can figure out how to get IceCast working (I've been having a bear of a time getting it to play nice; I honestly believe I'm cursed when Linux and sound are involved). If anybody else has any thoughts, I'd certainly love to hear them.
Re:Clarifications (Score:1)
While it works, I'm not particularly happy with what I have. I can't daemonize WinAmp, and I can't separate it from the display, and I can't control it via Remote Desktop (on 'doze), so I have to start it manually at boot time, and leave the machine logged in (locked, of course); I also have to leave VNC running in case I need to remote-admin it. It works, for very small values of "works." I run a small open source project, called Halo 8 WWWinamp, that extends WWWinamp, a mini-http server that allows you to control winamp remotely. It's easily configurable, and with some changes, it can operate 2 separate instances of winamp. It also has the ability to start up winamp if it is not running. More info is abilable at http://projects.halo8.net/ or http://www.sourceforge.net/projects/halo8wwwinamp/
If you can get 2 instances of winamp running on the same computer, it would be possible to set up 2 instances of WWWinamp to run as services (windows has a built in option of running items as a service, wwwinamp does not have this capability [yet?]). If the machine is rebooted, WWWinamp will start as a service, and you can hit a webpage and start winamp remotely. It is possible to run wwwinamp without a window, i do so from work when i forget to turn on wwwinamp.
Again, this all hinges off getting 2 instances of winamp to work from 2 different sources. I wouldn't think it's too difficult, but i may be proved wrong.
Re:Clarifications (Score:1)
While it works, I'm not particularly happy with what I have. I can't daemonize WinAmp, and I can't separate it from the display, and I can't control it via Remote Desktop (on 'doze), so I have to start it manually at boot time, and leave the machine logged in (locked, of course); I also have to leave VNC running in case I need to remote-admin it. It works, for very small values of "works."
I run a small open source project, called Halo 8 WWWinamp, that extends WWWinamp, a mini-http server that allows you to control winamp remotely. It's easily configurable, and with some changes, it can operate 2 separate instances of winamp. It also has the ability to start up winamp if it is not running.
More info is abilable at http://projects.halo8.net/ or http://www.sourceforge.net/projects/halo8wwwinamp/
If you can get 2 instances of winamp running on the same computer, it would be possible to set up 2 instances of WWWinamp to run as services (windows has a built in option of running items as a service, wwwinamp does not have this capability [yet?]). If the machine is rebooted, WWWinamp will start as a service, and you can hit a webpage and start winamp remotely. It is possible to run wwwinamp without a window, i do so from work when i forget to turn on wwwinamp. Again, this all hinges off getting 2 instances of winamp to work from 2 different sources. I wouldn't think it's too difficult, but i may be proved wrong.
Two sound cards, not difficult! (Score:1)
Basically, just make sure you're using kernel modules for your sound card, and most of the sound card drivers support more than one card (you might need to read the documentation in the kernel source, or do some googling to figure out if any special parameters are needed).
Then, you have
eg: Whee. Easy peasy. The command formats from above are almost certainly wrong, but it should be enough to give you an idea. In the end, though, I would recommend the "stereo, 1 station per ear" method, because that's a lot easier / cheaper than any of the other solutions.
--Robert
Two sound cards? (Score:2)
For instance, the Linux driver for the SB128, Live series, and Audigy series' cards supports multiple devices just fine, but the Windows drivers do not. A lot of the less inexpensive (But not dirt cheap) Windows sound cards will support multiple cards just fine. I have used Aureal, Trident, Turtle Beach cards successfully in multiple configurations. Using SBLive series cards in conjunction with another soundcard often seems to cause weird PCI problems, so I'd recommend avoiding a configuration such as that.
The other good solution is to use USB audio devices. You can get anywhere between 4 to 8 of them on the same USB bus doing 44.1khz stereo without problems, and 100% of the drivers I have seen can cope with multiple USB audio devices of the same type. You also get the (wonderful) benefit of not having to worry about IRQ or DMA starvation that can be caused by more than 2 internal soundcards. USB audio devices are the solution I use currently.
Finally, when you get your two or three audio IO sources on your machine, just set your encoder to record from the right device. Audio software that won't let you select your sound card device either in Windows or Linux or MacOS is probably shitty software anyway. There are plenty of different soutcast encoders on many platforms, so if the one you are using now doesn't work for you, then get another one -- one that encodes multiple bitrates from the same source, for instance. You don't have to use winamp to run a shoutcast encoder. Get one that can be automated.
~GoRK
Analog (Score:2)