views:

890

answers:

4

Hello,

I'm planning to make an animation with Silverlight, i want to export the animation to a video format, to be able to share it on video sharing website.

How can i do this ?

+1  A: 

You could use a tool like Camtasia to record your screen or part of your screen. It then can be exported to a bunch of different video formats.

Jake Pearson
I know screencast softwares, but the quality is poor, i want to make an HD video.
belaz
My question is more on "how to convert" my animation than "how to capture" the result of my animation.
belaz
Camtasia, and the like, will be able to produce HD videos of your animation. If you're looking for a way to convert your animation to a video format in-code, then you're probably going to find it's relatively complicated, considering the simple alternative of recording the screen itself.
Charlie Salts
+1  A: 

A pure code approach is to write a sequence of images, and then combine those images together as a video file. Eric Gunnerson has code to capture images from an animation , its WPF but would probably work in Silverlight? Codeproject has an example of converting a stream of images to an AVI video file in C#. It creates an AVI output. It would be great to go straight to mpg, but as it's compressed the input needs to be a video stream. If you do need mpg as the final output look for an off the shelf avi->mpg converter.

BTW - Let me know how you get on, I'm interested in the performance/functionality of this solution.

MrTelly
ok i will test it ASAP, thank you.
belaz
http://silverlight.net/forums/p/12823/50478.aspx ...like keith said, there is no way for this.
belaz
A: 

MrTelly: That approach would not work because Silverlight does not expose the RenderTargetBitmap class. (Well, this is not completely true, the class is there, but its constructor and methods are all marked SecurityCritical and as such are not normally accessible.)

The Camtasia solution proposed by Jakers is likely the simplest solution.

KeithMahoney
A: 

It's nuts that there isn't a simple way to do this in Silverlight, it's easy as pie in flash.