views:

337

answers:

4

Hi, I am trying to evaluate which technology is best for my needs.

I need to display a video I get from some remote device, and let a user interactively draw on it lines, polygons etc.

I searched and couldn't find any existing applications with this ability (all the flash applications only displayed video).

Could anyone point me to such an application?

A: 

I haven't seen a specific app that allows you to do that, but I can tell you it would be fairly trivial to build it in Flex. You would simply create a transparent Sprite over the video clip, then use the Drawing API bound to various mouse events to do your drawing.

The final image can be saved by using BitmapData.draw() over the container that holds both the video and the canvas, and you can pass a bytearray encoded as PNG or JPG to a server-side script to save it.

I can't speak to Silverlight as I've never used it - but a Flex dev could build a basic sample of this for you in Flex in about 20 mins just as a proof of concept.

Myk
A: 

Where does your expertise lie?

Silverlight you could knock up a proof of concept rather easily and as Myk points out you could do the same in Flex. So your best bet is really whichever technology your current expertise lies in.

Graeme Bradbury
A: 

In Silverlight you could use a InkPresenter control above a MediaElement control in about 2 minutes up and running with a video file.

I think the hard part is finding a way to display realtime video from your specific device.

Silverlight supports streaming video so having that device talk with Windows Media Server or Silverlight Streaming sounds like the best bet.

Paully
A: 

Julie Lerman wrote an Silverlight app that you can draw on Images:

http://thedatafarm.com/blog/tablet/drawing-in-silverlight-article-in-msdn-magazine/

the article was presented at a magazine:

http://msdn.microsoft.com/en-us/magazine/cc721604.aspx

Hopes this helps.

Gabriel Guimarães