Using Panda3d To render output to video

Hi,
I want to be able to capture the output of my program to a 720p HD video. I’ve been using a screen capture utility but that is very cumbersome.
I know you can render to texture but I’m worried that the performance may be way too slow (?) rendering to both the screen and another buffer.

Do you have any ideas on how this could be done?
It’s okay if I have to write a bunch of png files or something per frame

Thanks

This would be interesting for server-side-rendering and streaming the video to the clients, too.

There are third-party tools like FRAPS that can capture rendered graphics to a movie file automatically. If you want to do it entirely within Panda, you can use base.movie(); try searching the forums. This rather cumbersome utility will save out a png file for each frame, which takes a lot of time; but it also slows down the clock while it works, so that when the frames are assembled into a movie and played back, everything appears to be moving at the normal rate.

For the best-quality video capture from Panda, nothing beats base.movie(), because it is entirely lossless and captures perfectly smooth, hiccup-free video regardless of your machine’s performance and frame rate. It doesn’t capture sound, though, and it is cumbersome to use with interactive scenes (because you have to operate it in slow motion while it is capturing).

David

That would be insanely slow and extraordinarily resourceful on the server.

Sure. But it could be an option if you have extremely weak clients and cheating would be quite hard.

I just want to know if/how it can be done to play around with it.

I am interested in recording my interactive scenes in realtime with audio.

After a short research I found TAKSI. It is an open-source project with BSD license.

sourceforge.net/projects/taksi/

Hope it helps you too.

Please post, if you plan to implement this c libs into a Panda3D project, I really would like to know how :slight_smile: