まだproof of concept 段階なのです。
おざなりなMakefileがあるのでmakeしてみてください。 BSDのsys/queue.h を使ってますので、ない方は NetBSDの ソースなどからとってきて、展開したディレクトリに置いてみてください。
他に、jpeglib、Mingなどが必要になります。
今のところ出力はSWFのみとなっています。
このライブラリを使いたいプログラムは、 libSDL_SaveMovie.so をリンクさせる必要があります。libSDL_SaveMovie_SWF.so は その内部でdynamic loadされますので読める場所に置いといてください (そのままではカレントディレクトリに置いても読めないはず←読めたら大変)
SDL_SaveMovie_Init で録画したいSurfaceや条件を指定すると録画が開始され、 SDL_SaveMovie_Terminate が呼ばれるまで保存します。現状では以下のような パラメータとなってます。
int SDL_SaveMovie_Init(SDL_Surface* src, char* filename, char* libname, Uint32 ticks, int quality) src: 録画したいSurface filename: 出力先のファイル名 libname: 出力に使うドライバのライブラリの名前(libSDL_SaveMovie_SWF.so) t: 更新間隔 (ms = fpsの逆数 * 1000) quality: 品質qualityはJPEGの圧縮率と同義です。100で高品質低圧縮比、0に近づくほど 低品質高圧縮比になります。
100に近いほどメモリを余計に食って出来あがった動画のサイズもでかくなりますが 録画時の処理は軽くなると思います。0に近いほど省メモリで動画のサイズも 小さくなりますが、録画時の処理が重くなると思います。
MNGよりもSWFで配ったほうが見られる人が多そうな予感。