After a short (month-long!) stint w/ a few games I just had to play and
get out of my system, I'm back to coding pretty heavy. :) I've been
working hard on osgCairo, and have a lot of neat features added--with
more to come.

I decided I wanted to make a kinda of "demo" video and realized there
simply isn't any good way to do this in Linux. There's {g,x}vidcap,
though they aren't maintained and haven't actually compiled for
me--ever. There's istanbul, which looks promising, but is much to slow
to use for GL apps.

So I've started tossing around the idea of writing a plugin for OSG that
will act as another "render target", allowing you to encoded to
Ogg/Theora (Theora being really the only nice, free, multi-platform
codec I know about; besides, it needs love!)

My question is, are there any pitfalls I should be aware of, or any
advice from anyone who has done something similar?

My approach was going to be requiring the user to render-to-image and
then have a special CameraNode::DrawCallback that did the grabbing of
the pixels and encoding to Theora. Furthermore, I was going to move as
much as possible concerning the pixel conversion from RGBA to YUV420
(which is what Theora wants) in a fragment shader, to help try and speed
things up.

Does this sound reasonable? Can anyone see any holes (I'm sure there are
some)? Right now I have a very basic example working using osgCairo and
manually creating each frame, which isn't at all practical but does
demonstrate I'm using libtheora correctly. :)

Thanks...

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to