On Wed, 2006-08-30 at 09:08 +1000, Andrew Lowe wrote: > Jeremy, > Is there a way to make it so that other codecs, such as dirac, > http://dirac.sourceforge.net/, etc can easily be implemented as well? I > suppose what I mean is a plugin within a plugin concept. You would have > a plugin such as osgAnimationGrabber and then in turn it would call > plugins such as osgTheora, osgDirac, osgQT, osgAVI, osgH264 and so on. > Is this possible? Does it make sense? I've never done anything like this > myself, and am also new to OSG so I might just be urinating into a fast > moving air stream but you never know :)
Well, there really wouldn't be any need for that iterim step that I can think of; basically, all of those codecs "start" from your RGBA color buffer, so you're already pretty much at the last step. I mean, the osgAnimationGrabber could do some RGBA->YUV conversion, but I'm not sure what the other codecs expect each frame to be encoded with, so it might not be worth it... > Regards, > Andrew Lowe > > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of > > Jeremy Moles > > Sent: Wednesday, 30 August 2006 12:12 AM > > To: osg users > > Subject: [osg-users] RFC: osgTheora > > > > 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/ > > > _______________________________________________ > osg-users mailing list > [email protected] > http://openscenegraph.net/mailman/listinfo/osg-users > http://www.openscenegraph.org/ > _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
