Over the past couple of days I've been working on using
DirectShow and DES (DirectShow Editing Services) for re-encoding mobile
video content suitable for posting on the web... With the goal of
including video editing into our unified "media engine" which the Syzmk
line of products makes use of... as an off-shoot of that work I decided
to refactor the rather ugly code we had for working with DES over the
weekend into something a little less ugly, that hid most of the details
away, say hello to:
(sorry, couldn't resist the lame web 2.0 logo ;o)
A simple little library for doing most of the useful things in DES, the project is hosted
here up on
Codeplex.
It's currently in an alpha state, at version 0.9.0.0 - and should get
feature drops every week or so until I think it can go into beta.
To give an idea of what I'm up to, it's basically just wrapping up the
various DES components and removing alot of the unpleasantness (ie. you
get to deal with human-friendly units of time like seconds) .. and
seperating the concerns of the timeline, and rendering that timeline
into something useful like audio or video container (currently that's
just WAV, AVI & Windows Media formats). It's fully
functional, but the interfaces at this point it isn't very stable as
I'm likely to refactor the various interfaces mercilessly till I get it
working how I want, so if you build something with the library now,
it's likely to break in the future (but probably not in major way, it
is after all mirroring the functionality available in DES).
The added bonus of developing a set of rich wrappers for a lot of this
stuff is that I can mock away the requirement on DES altogether, which
is always a bonus considering how long the units tests currently take
to run for the Syzmk RMP product.
When I get a chance, I'll put up some code examples to demonstrate how
you might use it... At any rate it'll be going through some dog fooding
in the next month or so while I integrate it with the Syzmk product, so
you'll probably here a little more about in the future.