I've scripted (in LINQPad) a small compositional image processing library and now I want to make movies with it. What's the easiest way in .NET to combine a series of bitmaps (System.Drawing.Bitmap) to a movie? Preferably without having to resort to 3rd party libraries and native code wrappers. Thanks!
-
-
AForge has video import features and wraps around DirectShow, it then exposes video as a sequence of System.Drawing.Bitmap frames for processing; but as for saving you'll have to dump each bitmap to disk and then re-encode using separate software.
-
ffmpeg shelling is popular for this but not native to .nethttp://stackoverflow.com/questions/1910107/scriptable-utility-to-convert-bmps-wav-to-video-xvid -
Hm, not what I was hoping for. I'll dig a little deeper.
-
@exoteric: I did this using this sample on http://msdn.microsoft.com/en-us/library/kztecsys.aspx.
-
@vesuvius: Loading and processing the images is not the problem. I'm looking for something that maps from images to movies.
In pseudo-syntax (where * means zero or more and + means one or more and ? means zero or one, i.e. optional and () means none):Image+ -> Movie
Image+ FileInfo -> ()
(() -> IStream?) -> OStream
(() -> IStream?) OStream -> ()My script does something a la Image -> Image+ so I need to pipe that output into a function a la Image+ -> Movie, in the very abstract sense.
But so far it looks like the way to deal with this is just enumerate the output files and feed that into some external native program that can do video encoding.
Anyway, I just prefer to keep the program fully contained in .NET.
-
just came acros this: http://splicer.codeplex.com/
check out sample #1 http://splicer.codeplex.com/wikipage?title=Samples&referringTitle=Home
-
@itsnotabug: Thanks. This looks just right for my task.
-
yep. i'm playing with it and its pretty awesome. it's the *missing* interface to directshow. so easy to do seemingly difficult things. i love it.
-
Hmm, windows live movemaker has some nifty, APIs'
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.