video generation

Started by
3 comments, last by Storyyeller 12 years, 9 months ago
How can you write a program to generate videos? Obviously all the codec stuff is really complicated, so I'm looking for a (preferably C or C++) library where you can give it the pixel and sound data and it encodes a video for you. I tried FFMpeg but I couldn't figure out how to use it.
I trust exceptions about as far as I can throw them.
Advertisement
I guess, that you don't want to write your own video capturing tool, do you want to record a video from your game ? For the latter the best solution would be a video capturing tool like taksi. The other,simple solution would be to write just images and use ffmpeg to create a video from this images. There should be enough tutorials about making movies from images by using ffmpeg , here's one.
The problem is that dumping all the frames to disk as raw bitmaps takes up way to much space. And SDL has no way to save pngs. So the only feasible way to do things is with in memory compression. There also doesn't appear to be any easy way to dump audio data. Anyway, I'm very surprised at the apparent lack of video encoding libraries. You'd think that this would be a relatively common task.

Also, Taski doesn't support audio.
I trust exceptions about as far as I can throw them.

The problem is that dumping all the frames to disk as raw bitmaps takes up way to much space. And SDL has no way to save pngs. So the only feasible way to do things is with in memory compression. There also doesn't appear to be any easy way to dump audio data. Anyway, I'm very surprised at the apparent lack of video encoding libraries. You'd think that this would be a relatively common task.

Nobody wants to integrate it directly in their games. All use some kind of capturing software. Taksi is only a open source solution, a very good, partly free and commercial version is FRAPS. When recording ingame videos you often use almost none compression, because it steals too much performance and quality. The basic idea is to create some small, high quality clips (memory intensive) and cut them in a video editing tool and export them to your desired, compressed video format.
I'm not recording the videos in real time, so speed doesn't really matter.
I trust exceptions about as far as I can throw them.

This topic is closed to new replies.

Advertisement