Sign in with
Sign up | Sign in
Your question

PC with multiple video and audio output channels

Last response: in Systems
Share
November 16, 2009 5:40:05 PM

My wife is a video artist and I want to build for her a PC with three separate video and audio output channels. We want to connect three monitors (or TV's) to the computer, each playing its own video in full-screen mode and its own audio (using either built-in speakers or separate speakers). We want to be able to play videos in diverse resolutions/formats and have greater control over playback (e.g. make them play in sync), hence the reason for building a PC (as opposed to e.g. three DVD players). Can anyone suggest a good solution for this project? Would I need three sound cards, and two or more video cards (assuming two video output jacks on each card)?


APPROXIMATE PURCHASE DATE: within this month (Nov 2009)

BUDGET RANGE: flexible; less than $1500?

SYSTEM USAGE FROM MOST TO LEAST IMPORTANT: playing multiple videos on multiple monitors in galleries; no plans for anything else (such as gaming)

PARTS NOT REQUIRED: monitor & speakers

PREFERRED WEBSITE(S) FOR PARTS: amazon.com, newegg.com

PARTS PREFERENCES: I like ASUS mobos, nvidia graphics cards, zalman coolers, and antec cases+power supplies, but don't mind other brands.

OVERCLOCKING: No

MONITOR RESOLUTION: 1920x1080

ADDITIONAL COMMENTS: If you can recommend a case, something aesthetically pleasing would be nice. I was thinking of getting a micro atx mobo, but if I need lots of card slots I obviously have to go for regular atx. Must have HDMI or DVI jacks. HDCP compatibility is not a must, but preferable. 5.1 channel sound not a must; stereo should be fine, for now.

Thanks!
November 16, 2009 5:47:56 PM

the new ati eyefinity 5xxx series supports up to 6 monitors at once with a10 monitor version in the works
Anonymous
March 19, 2010 1:09:47 AM

Did you ever get a setup sorted for your wife. I'm looking at doing a similar thing with running 3 outputs to a video mixing desk for live shows.
Related resources
March 23, 2010 1:55:10 AM

In case the link above dies, I'm posting the solution here too:
=========================================

Here's what I did, and it's working very well.

- Intel quad core Q8300 2.5 GHz
- Gigabyte GA-EG45M-UD2H
- Galaxy GeForce 9500 GT 512MB PCI-e
- Silverstone Sugo SG02B-F
- Antec BP550 Plus
- Kingston KVR800 2GBx2
- WD 320 GB HDD
- Windows XP Pro

This is all I needed. The rest was handled by (free) open-source software -- mplayer and python.

The trick is to use "mplayer" in slave mode, controlled by a python script. Three instances of mplayer are launched by the script, each in its own thread (using the python subprocess module). In this case, the OS lets each thread have one of the four CPU cores all for itself, and it seems each core is more than capable of handling H.264 video at 720x480 resolution with no problem (didn't try HD yet, but I don't anticipate any problems with HD either).

mplayer has a command-line option "-adapter x", where you set x to 1, 2, or 3 to get the video to play on each video port separately (two monitors on the Galaxy card, the third on the motherboard's on-board video port).

The beauty is the solution for the audio. You can use the motherboard's on-board 8-channel audio output ports as separate, independent audio output ports using mplayer's channel remapping functionality. Hence, no need for any extra audio cards whatsoever! There are 8 channels (2 for front speaker out, 2 for center/subwoofer out, 2 for rear speaker out, and 2 for side speaker out), and physically, all the audio output ports are exactly the same, and can be treated as conventional stereo audio output jacks.

For example, you can run three instances of mplayer as so:

mplayer -adapter 1 -af channels=6:2:0:0:1:1 video1.avi
mplayer -adapter 2 -af channels=6:2:0:2:1:3 video2.avi
mplayer -adapter 3 -af channels=6:2:0:4:1:5 video3.avi

and you get each video playing on its own monitor, and the audio for each video being played separately through one of the on-board output audio jacks. Sweet.

For the video syncing, I simply had the python script interact with each mplayer thread via its stdin pipe, sending commands as documented here:
http://www.mplayerhq.hu/DOCS/tech/slave.txt

The script would first command each mplayer instance to go to the very beginning of the assigned video file, and pause. It would then send a "play" signal to each of them in sequence, but since the commands are sent very fast with almost zero delay, they play back in exact synchrony.

So thanks to free open-source software, I was able to pull this off with a single, fairly minimal build. Using a cheap video card was also OK, since I'm only doing video playback; the CPU does all the work, so the only thing that really mattered in terms of processing power was to get a good quad-core CPU. In fact, I could have saved even more money by using Linux (achieving the exact same results), but I bought Windows because this is for my wife, not me, and she would feel more comfortable using Windows.
December 30, 2011 12:47:12 PM

Quote:
The beauty is the solution for the audio. You can use the motherboard's on-board 8-channel audio output ports as separate, independent audio output ports using mplayer's channel remapping functionality. Hence, no need for any extra audio cards whatsoever! There are 8 channels (2 for front speaker out, 2 for center/subwoofer out, 2 for rear speaker out, and 2 for side speaker out), and physically, all the audio output ports are exactly the same, and can be treated as conventional stereo audio output jacks.


Do you also know a way to do this with just sound in general (movies, music, windows sounds,)

I want to connect multiple speaker-sets to my PC (Hifi-set, TV, Bathroom, Headset, Table-speaker-set. I do have 8 channels, but I can only use it as one playback device in Windows7. But I want separate playback devices and play to it at the same time.

Like I can watch a movie, On TV. But when Windows want to make a ping-sound or something I want that on the desktop-speakers. (mostly just so there is always a speaker on, while my TV and Hifi-set are off. And so music doesn't play on my TV, but so Movies don't play on my speakers on the wall, but in the TV instead.
February 8, 2012 7:30:27 PM

umpienl,
did you ever find a solution for multiple speakers for different uses on windows 7. I'm looking for same type of solution but haven't been able to find.
For me... i use Google voice, and want it to RING on my speakers which will be powered on..... but i'm often using headphones for the sound, which is sometimes off. So if headphones are not on my head, i don't hear the phone ring.

thanks,
Steve
friedman_steven@hotmail.com





umpienl said:
Quote:
The beauty is the solution for the audio. You can use the motherboard's on-board 8-channel audio output ports as separate, independent audio output ports using mplayer's channel remapping functionality. Hence, no need for any extra audio cards whatsoever! There are 8 channels (2 for front speaker out, 2 for center/subwoofer out, 2 for rear speaker out, and 2 for side speaker out), and physically, all the audio output ports are exactly the same, and can be treated as conventional stereo audio output jacks.


Do you also know a way to do this with just sound in general (movies, music, windows sounds,)

I want to connect multiple speaker-sets to my PC (Hifi-set, TV, Bathroom, Headset, Table-speaker-set. I do have 8 channels, but I can only use it as one playback device in Windows7. But I want separate playback devices and play to it at the same time.

Like I can watch a movie, On TV. But when Windows want to make a ping-sound or something I want that on the desktop-speakers. (mostly just so there is always a speaker on, while my TV and Hifi-set are off. And so music doesn't play on my TV, but so Movies don't play on my speakers on the wall, but in the TV instead.

February 9, 2012 5:09:23 AM

sfriedman said:
umpienl,
did you ever find a solution for multiple speakers for different uses on windows 7. I'm looking for same type of solution but haven't been able to find.
For me... i use Google voice, and want it to RING on my speakers which will be powered on..... but i'm often using headphones for the sound, which is sometimes off. So if headphones are not on my head, i don't hear the phone ring.

For the headphones + normal speaker combination many motherboards have different soundcard for backside audio connection and the front headphones connection.
So with Google Talk I can easily choose the speakers for ringing and the front connection for talking.
But I have not succeeded yet with splitting up the 8 channels backside output into multiple separate outputs.
But my motherboard has been in for repairs (and 2 months waiting in box) because a lightning strike killed it. So I have not been testing that hard yet.

March 27, 2012 4:46:58 AM

I saw this posting and think it will work for me but I need some help.

I want to use one computer to send three (3) sources to a multiplexer so that I can have a tv screen with one large main picture and three smaller pictures stacked on top of each other on the side. The multiplexer will do the screen divisions but I need to have different sources for the multiplexer. One source will be the cable tv source. I want to use one computer to generate the other 3 sources. I was thinking of using power point to create my sources since they are basically static text and photos that will rotate thru a slide show type presentation. I am open to ANYTHING that performs this same function and allows me 3 output sources from the computer.
The question I have is what do I need for equipment and software? I am not a really tech type person so I really need simple answers. Please email me at wisgambler@gmail.com


gburdell1 said:
In case the link above dies, I'm posting the solution here too:
=========================================

Here's what I did, and it's working very well.

- Intel quad core Q8300 2.5 GHz
- Gigabyte GA-EG45M-UD2H
- Galaxy GeForce 9500 GT 512MB PCI-e
- Silverstone Sugo SG02B-F
- Antec BP550 Plus
- Kingston KVR800 2GBx2
- WD 320 GB HDD
- Windows XP Pro

This is all I needed. The rest was handled by (free) open-source software -- mplayer and python.

The trick is to use "mplayer" in slave mode, controlled by a python script. Three instances of mplayer are launched by the script, each in its own thread (using the python subprocess module). In this case, the OS lets each thread have one of the four CPU cores all for itself, and it seems each core is more than capable of handling H.264 video at 720x480 resolution with no problem (didn't try HD yet, but I don't anticipate any problems with HD either).

mplayer has a command-line option "-adapter x", where you set x to 1, 2, or 3 to get the video to play on each video port separately (two monitors on the Galaxy card, the third on the motherboard's on-board video port).

The beauty is the solution for the audio. You can use the motherboard's on-board 8-channel audio output ports as separate, independent audio output ports using mplayer's channel remapping functionality. Hence, no need for any extra audio cards whatsoever! There are 8 channels (2 for front speaker out, 2 for center/subwoofer out, 2 for rear speaker out, and 2 for side speaker out), and physically, all the audio output ports are exactly the same, and can be treated as conventional stereo audio output jacks.

For example, you can run three instances of mplayer as so:

mplayer -adapter 1 -af channels=6:2:0:0:1:1 video1.avi
mplayer -adapter 2 -af channels=6:2:0:2:1:3 video2.avi
mplayer -adapter 3 -af channels=6:2:0:4:1:5 video3.avi

and you get each video playing on its own monitor, and the audio for each video being played separately through one of the on-board output audio jacks. Sweet.

For the video syncing, I simply had the python script interact with each mplayer thread via its stdin pipe, sending commands as documented here:
http://www.mplayerhq.hu/DOCS/tech/slave.txt

The script would first command each mplayer instance to go to the very beginning of the assigned video file, and pause. It would then send a "play" signal to each of them in sequence, but since the commands are sent very fast with almost zero delay, they play back in exact synchrony.

So thanks to free open-source software, I was able to pull this off with a single, fairly minimal build. Using a cheap video card was also OK, since I'm only doing video playback; the CPU does all the work, so the only thing that really mattered in terms of processing power was to get a good quad-core CPU. In fact, I could have saved even more money by using Linux (achieving the exact same results), but I bought Windows because this is for my wife, not me, and she would feel more comfortable using Windows.

!