views:

107

answers:

1

I am looking for a decent programmatic approach to delivering the illusion of "riding in a van". Here is the synopsis:

I have a friend who is opening up a bar in San Francisco with a room interior designed to be like the inside of a van (picture the inside of the Scooby Doo Mystery Machine) . Set into the walls are “windows” and behind those windows are monitors. There are two servers (for the left and right sides) that are delivering simultaneous presentations from pre-recorded footage of a vehicle driving down the road.

At the moment the screens are split across a shared workspace so as items in the background move from the right to the left the impression of motion is flawless. However, once you move the screens apart there is no delay for empty "wall space" or the natural delay that one would expect to perceive as an object progresses from one screen through the space in the wall to the next screen.

Is there a managed code approach I could take to construct a project that could take a time delay argument for delivering content between monitors in this case? Or is there even an off-the-shelf program that might do the trick as well?

EDIT:

What I am really looking for is advice on how to program this: Can I load in a windows media file and stream it to separate monitors on separate threads with a slight delay?

+2  A: 

Sure, you just have to do playback on both monitors separately and delay one of the videos.

Migol
Well, that's AN approach. But hardly a reliable, reusable, or accurate one. It would be best to store a value in a config file, so it could be easily adjusted based upon the space between "windows". If the admin felt like it needed to be slowed or increased they could change that value (probably in milliseconds).
Ian Patrick Hughes
Geez, don't expect you will get whole source code for that. Dealy can be setup in config. Just use speed constant (for the movie) and distance constant (between "windows") and you get it running. Simple math.Maybe you shold tell WHY you think this is not reliable, usable or accurate?
Migol
Oh, I am not looking for the source code here. Just where to begin. Let's say you wrote a Silverlight or WPF media player. I am not sure where to even begin research in terms of how it presents to multiple monitors. Is each on it's own thread, etc. Could you programatically delay a stream per monitor, for instance? It should be simple math. Perhaps I misunderstood your suggestion.
Ian Patrick Hughes
These are four concurrent monitors per server. Were suggesting starting 4 instances per monitor a slight delay per each screen? If so, I agree that COULD work, but I thought it would be unreliable. If one played instance initiated a fraction of a second off, you would lose smooth playback and the desired effect. Could you elaborate more in what you meant?
Ian Patrick Hughes
Simple math and physics: S = V*t so t=S/V. S is distance and V desired speed for movement simulation. So let's say that distance is 5 meters and car goes 5 km/h. then delay should be 0,005/5 = 0,001h = 3,6s. Simple. Second thing - multiple threads are MORE realiable because if one creashes rest will work
Migol
Ok, that's all a given. I think I need to edit my question to add some clarification. Thank you for your responses.
Ian Patrick Hughes