2

I currently send a live video mix to a output screen (a form on a particular screen). Consider it like a really advanced version of PowerPoint. I call it a video control room for the pc. I want to take 30 frames a second from a screen (of my choice, I allow multiple screens) and the audio from the computer (stereo) set, save it to a hard disks. How do I do that?

I know I can draw the image of the interface using the RenderTargetBitmap class, but How do I put those images (as frames) in an AVI file or push it to a video server? An SDK? or a Code Example to point me in the right direction, would be nice! I also want to capture the sound of the current Stereo mix, or microphone (as determined by the user).

I don't want to use a third-party and I'd prefer doing it in the program to take maximum control over it. I'm ok, with using a second program to do compression and just saving a raw AVI file (with audio stream). Disk is cheap, as any programmer would say. If I have to, I'll save the video and audio streams separately, but I'd prefer not to.

Let me know.

JustinKaz
  • 620
  • 3
  • 10
  • 30
  • Do you mean WCF rather than WPF? WCF is probably what you're looking for - WPF is a GUI toolkit, whereas WCF is the Windows Communcation Foundation toolkit, which has the network/streaming/transport stuff that you need. – Andy White Apr 15 '11 at 20:12
  • I'm using the WPF to present the item, whatever I use will have to scrabe the item and send out the stream. – JustinKaz Apr 15 '11 at 20:20
  • I guess that's where I'd start. – JustinKaz Apr 15 '11 at 20:26
  • How about this [thread](http://stackoverflow.com/questions/719800/c-streaming-an-audio-file-from-a-server-to-a-client) – Mark Kram Apr 15 '11 at 20:37
  • Basically I'm mixing video and live stream to a screen and I want to be able to stream that. It has to scrape the screen and send it out as a stream to a media server (any server, I'll support the best example, lol.). – JustinKaz Apr 15 '11 at 20:37
  • It helps a little, but I'm video and I need to know or rather see the code that shows me how to do this. I could do some pioneering but that would prolong my project. – JustinKaz Apr 15 '11 at 20:43
  • So, just to clarify: you have a client whose screen you wish to continually capture and push as video to a media server? (as opposed to streaming a video from server to client) – J Trana Apr 17 '11 at 03:18

1 Answers1

1

Check out the RenderTargetBitmap class. it allows you to turn any visual into pixels that you can then pass along to an encoder/network stack, like the ones described here

also check out Windows media foundation for turning your pixels into an avi or stream

Community
  • 1
  • 1
aL3891
  • 6,205
  • 3
  • 33
  • 37
  • I'll need an example of encoding the the bitmaped frames into an AVI stream in realtime. P.S. Thanks for the name, that the class I currently use to gather previews and mesh screens. – JustinKaz May 05 '11 at 14:14