Tue Feb 05, 2013 2:22 pm
Michael,
Anything is possible!
But...... I've not used Decklinks much on Linux, and never they way you suggest as using Device File IO.
"Most" (term used very loosely) generic software on Windows will use DirectShow and on Apple will use Quicktime to access Decklink. I'm not really an expert on Media Streaming over the internet, and I'm not certain how uStream captures from hardware devices, but I would not be at all surprised if it took an exclusive lock on the input devices you were telling it to capture from.
If you have three Decklink cards, then you can read frames captured from Card A, and schedule those frames on Cards B and C. But with only one Duo card, you only have two channels, not Four. Each channel can be in input mode or output mode, but not both at the same time. There is a small caveat to that, in that, with some Decklink cards internal keying is possible, but this is NOT really the Input and Output active at the same time, it's overlaying your output on top of what is being input, with no access to the input buffer.
It's also worth noting copying frames around like this will introduce latency. The Decklink cards do have an "operate in a low-latency mode", and I know guys who have got their software processing of data from one card, and out of another with latency as low as 4 frames. I normally ensure I have my buffers loaded with more than 6 frames, but all these latencies are significant when compared to the ATEMs.
CasparCG might do what you need out the box, but the configuration of multiple input channels and multiple output channels is not trivial, and I can't think of a similar tool for OSX, although I'm sure something must exist.
Good Luck with your project
John
EDIT: Sorry also should have said, I was wrong about the TVS having a preview out, don't know where I got that idea. You'd need at least a 1ME so you'd then have 5 independently switch-able SDI outputs: Program / Preview and 3 AUXs.